1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-10-30 22:07:53 +01:00
Find a file
Johannes Schindelin 90a398bbd7 fsck_object(): allow passing object data separately from the object itself
When fsck'ing an incoming pack, we need to fsck objects that cannot be
read via read_sha1_file() because they are not local yet (and might even
be rejected if transfer.fsckobjects is set to 'true').

For commits, there is a hack in place: we basically cache commit
objects' buffers anyway, but the same is not true, say, for tag objects.

By refactoring fsck_object() to take the object buffer and size as
optional arguments -- optional, because we still fall back to the
previous method to look at the cached commit objects if the caller
passes NULL -- we prepare the machinery for the upcoming handling of tag
objects.

The assumption that such buffers are inherently NUL terminated is now
wrong, of course, hence we pass the size of the buffer so that we can
add a sanity check later, to prevent running past the end of the buffer.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-10 13:54:21 -07:00
block-sha1
builtin fsck_object(): allow passing object data separately from the object itself 2014-09-10 13:54:21 -07:00
compat Merge branch 'sk/mingw-uni-fix-more' 2014-07-30 14:21:09 -07:00
contrib Merge branch 'jk/prompt-stash-could-be-packed' 2014-09-09 12:54:08 -07:00
Documentation Update draft release notes to 2.2 2014-09-09 13:06:26 -07:00
ewah
git-gui Merge git://repo.or.cz/git-gui 2014-06-26 13:44:11 -07:00
gitk-git Merge branch 'master' of git://ozlabs.org/~paulus/gitk 2014-08-10 11:03:03 -07:00
gitweb
mergetools
perl
po po/TEAMS: add new members to German translation team 2014-08-29 07:08:17 +02:00
ppc
t Merge branch 'nd/strbuf-utf8-replace' 2014-09-09 12:54:02 -07:00
templates
vcs-svn
xdiff git-merge-file: do not add LF at EOF while applying unrelated change 2014-06-30 14:07:58 -07:00
.gitattributes
.gitignore test-config: add tests for the config_set API 2014-07-29 14:33:36 -07:00
.mailmap Sync with v2.0.3 2014-07-23 11:36:40 -07:00
abspath.c abspath: convert absolute_path() to strbuf 2014-08-26 11:06:06 -07:00
aclocal.m4
advice.c
advice.h
alias.c
alloc.c alloc: factor out commit index 2014-07-28 10:14:33 -07:00
archive-tar.c archive: honor tar.umask even for pax headers 2014-08-04 11:39:11 -07:00
archive-zip.c
archive.c
archive.h
argv-array.c
argv-array.h
attr.c
attr.h
base85.c
bisect.c
bisect.h
blob.c add object_as_type helper for casting objects 2014-07-28 10:14:33 -07:00
blob.h
branch.c
branch.h
builtin.h
bulk-checkin.c
bulk-checkin.h
bundle.c Merge branch 'lf/bundle-exclusion' 2014-09-09 12:53:59 -07:00
bundle.h
cache-tree.c
cache-tree.h
cache.h Merge branch 'ta/config-set' 2014-09-02 13:24:18 -07:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
column.c
column.h
combine-diff.c Merge branch 'jk/pretty-empty-format' 2014-09-02 13:25:04 -07:00
command-list.txt
commit-slab.h
commit.c add object_as_type helper for casting objects 2014-07-28 10:14:33 -07:00
commit.h pretty: make empty userformats truly empty 2014-07-30 12:30:08 -07:00
config.c Merge branch 'jk/command-line-config-empty-string' 2014-09-09 12:53:57 -07:00
config.mak.in
config.mak.uname Merge branch 'jc/config-mak-document-darwin-vs-macosx' 2014-09-09 12:54:05 -07:00
configure.ac
connect.c Merge branch 'maint' 2014-07-21 12:35:39 -07:00
connect.h
connected.c use strip_suffix instead of ends_with in simple cases 2014-06-30 13:43:17 -07:00
connected.h
convert.c
convert.h
copy.c
COPYING
credential-cache--daemon.c
credential-cache.c
credential-store.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'cc/replace-edit' 2014-07-16 11:25:47 -07:00
date.c
decorate.c hashmap: factor out getting a hash code from a SHA1 2014-07-07 13:56:24 -07:00
decorate.h
delta.h
diff-delta.c
diff-lib.c Merge branch 'jk/diff-files-assume-unchanged' into maint 2014-06-25 11:47:09 -07:00
diff-no-index.c
diff.c Merge branch 'bg/xcalloc-nmemb-then-size' into maint 2014-07-22 10:25:17 -07:00
diff.h
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c hashmap: add simplified hashmap_get_from_hash() API 2014-07-07 13:56:35 -07:00
diffcore.h
dir.c Merge branch 'rs/strbuf-getcwd' 2014-09-02 13:28:44 -07:00
dir.h prep_exclude: remove the artificial PATH_MAX limit 2014-07-14 15:24:34 -07:00
editor.c
entry.c
environment.c
exec_cmd.c use strbuf_add_absolute_path() to add absolute paths 2014-08-26 11:06:06 -07:00
exec_cmd.h
fast-import.c fast-import: use hashcmp() for SHA1 hash comparison 2014-07-18 12:14:47 -07:00
fetch-pack.c Merge branch 'jk/skip-prefix' 2014-07-09 11:33:28 -07:00
fetch-pack.h
fmt-merge-msg.h
fsck.c fsck_object(): allow passing object data separately from the object itself 2014-09-10 13:54:21 -07:00
fsck.h fsck_object(): allow passing object data separately from the object itself 2014-09-10 13:54:21 -07:00
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-am.sh
git-archimport.perl
git-bisect.sh
git-compat-util.h Merge branch 'rs/inline-compat-path-macros' 2014-09-09 12:54:07 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-difftool.perl
git-filter-branch.sh filter-branch: eliminate duplicate mapped parents 2014-07-01 08:30:41 -07:00
git-instaweb.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh
git-p4.py
git-parse-remote.sh
git-pull.sh
git-quiltimport.sh
git-rebase--am.sh rebase: omit patch-identical commits with --fork-point 2014-07-16 13:07:40 -07:00
git-rebase--interactive.sh rebase: omit patch-identical commits with --fork-point 2014-07-16 13:07:40 -07:00
git-rebase--merge.sh Merge branch 'bc/fix-rebase-merge-skip' into maint 2014-07-16 11:16:16 -07:00
git-rebase.sh rebase: omit patch-identical commits with --fork-point 2014-07-16 13:07:40 -07:00
git-relink.perl
git-remote-testgit.sh Merge branch 'ep/shell-assign-and-export-vars' into maint 2014-07-22 10:22:57 -07:00
git-request-pull.sh
git-send-email.perl
git-sh-i18n.sh
git-sh-setup.sh
git-stash.sh Merge branch 'jk/stash-list-p' 2014-09-09 12:54:00 -07:00
git-submodule.sh
git-svn.perl
GIT-VERSION-GEN Start the post-2.1 cycle 2014-09-02 13:30:13 -07:00
git-web--browse.sh
git.c Merge branch 'rs/strbuf-getcwd' 2014-09-02 13:28:44 -07:00
git.rc
git.spec.in
gpg-interface.c
gpg-interface.h
graph.c
graph.h
grep.c
grep.h
hashmap.c hashmap: add string interning API 2014-07-07 13:56:38 -07:00
hashmap.h hashmap: add string interning API 2014-07-07 13:56:38 -07:00
help.c Merge branch 'jk/strip-suffix' 2014-07-16 11:26:00 -07:00
help.h
hex.c
http-backend.c Merge branch 'maint' 2014-07-21 12:35:39 -07:00
http-fetch.c
http-push.c Merge branch 'ah/fix-http-push' into maint 2014-07-22 10:29:07 -07:00
http-walker.c
http.c Merge branch 'jk/skip-prefix' 2014-07-09 11:33:28 -07:00
http.h
ident.c config --global --edit: create a template file if needed 2014-07-25 12:23:06 -07:00
imap-send.c Merge branch 'tf/imap-send-create' 2014-09-09 12:54:09 -07:00
INSTALL Fix profile feedback with -jN and add profile-fast 2014-07-08 10:56:47 -07:00
khash.h hashmap: factor out getting a hash code from a SHA1 2014-07-07 13:56:24 -07:00
kwset.c
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c use commit_list_count() to count the members of commit_lists 2014-07-17 13:36:25 -07:00
line-log.h
line-range.c
line-range.h
list-objects.c
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c Merge branch 'jc/reopen-lock-file' 2014-09-02 13:20:13 -07:00
log-tree.c pretty: make empty userformats truly empty 2014-07-30 12:30:08 -07:00
log-tree.h
mailmap.c
mailmap.h
Makefile Merge branch 'ta/config-set' 2014-09-02 13:24:18 -07:00
match-trees.c
merge-blobs.c
merge-blobs.h
merge-recursive.c Merge branch 'ta/string-list-init' 2014-07-23 11:35:54 -07:00
merge-recursive.h
merge.c Merge branch 'nd/split-index' 2014-07-16 11:25:40 -07:00
mergesort.c
mergesort.h
name-hash.c hashmap: add simplified hashmap_get_from_hash() API 2014-07-07 13:56:35 -07:00
notes-cache.c Merge branch 'jk/commit-buffer-length' 2014-07-02 12:53:02 -07:00
notes-cache.h
notes-merge.c
notes-merge.h
notes-utils.c Merge branch 'jk/commit-buffer-length' 2014-07-02 12:53:02 -07:00
notes-utils.h
notes.c
notes.h
object.c Refactor type_from_string() to allow continuing after detecting an error 2014-09-10 13:52:13 -07:00
object.h Refactor type_from_string() to allow continuing after detecting an error 2014-09-10 13:52:13 -07:00
pack-bitmap-write.c
pack-bitmap.c
pack-bitmap.h
pack-check.c
pack-objects.c hashmap: factor out getting a hash code from a SHA1 2014-07-07 13:56:24 -07:00
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options-cb.c
parse-options.c
parse-options.h
patch-delta.c
patch-ids.c
patch-ids.h
path.c Merge branch 'mm/config-edit-global' 2014-09-02 13:23:20 -07:00
pathspec.c Merge branch 'maint' 2014-07-21 12:35:39 -07:00
pathspec.h
pkt-line.c trace: improve trace performance 2014-07-13 21:24:23 -07:00
pkt-line.h
preload-index.c cache.h: rename cache_def_free to cache_def_clear 2014-07-13 10:12:37 -07:00
pretty.c Merge branch 'ta/pretty-parse-config' 2014-09-02 13:27:40 -07:00
prio-queue.c prio-queue: make output stable with respect to insertion 2014-07-15 11:02:54 -07:00
prio-queue.h prio-queue: make output stable with respect to insertion 2014-07-15 11:02:54 -07:00
progress.c progress: simplify performance measurement by using getnanotime() 2014-07-13 21:25:21 -07:00
progress.h
prompt.c
prompt.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c Merge branch 'rs/refresh-beyond-symlink' 2014-09-09 12:54:01 -07:00
README
reflog-walk.c
reflog-walk.h
refs.c Revert "Merge branch 'dt/refs-check-refname-component-sse'" 2014-07-28 10:41:53 -07:00
refs.h Merge branch 'rs/unify-is-branch' 2014-07-21 11:18:57 -07:00
RelNotes Start the post-2.1 cycle 2014-09-02 13:30:13 -07:00
remote-curl.c Merge branch 'jk/remote-curl-squelch-extra-errors' 2014-07-21 11:18:41 -07:00
remote-testsvn.c remote-testsvn: use internal argv_array of struct child_process in cmd_import() 2014-07-18 12:50:03 -07:00
remote.c Merge branch 'sb/prepare-revision-walk-error-check' 2014-09-09 12:54:03 -07:00
remote.h use a hashmap to make remotes faster 2014-07-30 11:29:33 -07:00
replace_object.c
rerere.c Merge branch 'rs/code-cleaning' 2014-07-16 11:33:09 -07:00
rerere.h
resolve-undo.c
resolve-undo.h
revision.c revision: drop useless string offset when parsing "--pretty" 2014-07-30 12:30:02 -07:00
revision.h
run-command.c Merge branch 'sk/mingw-uni-fix-more' 2014-07-30 14:21:09 -07:00
run-command.h
send-pack.c
send-pack.h
sequencer.c Merge branch 'nd/split-index' 2014-07-16 11:25:40 -07:00
sequencer.h
server-info.c
setup.c Merge branch 'rs/strbuf-getcwd' 2014-09-02 13:28:44 -07:00
sh-i18n--envsubst.c use xmemdupz() to allocate copies of strings given by start and length 2014-07-21 10:37:02 -07:00
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c Merge branch 'rs/strbuf-getcwd' 2014-09-02 13:28:44 -07:00
sha1_name.c Merge branch 'jk/misc-fixes-maint' 2014-07-28 11:30:41 -07:00
shallow.c trace: improve trace performance 2014-07-13 21:24:23 -07:00
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c
split-index.h
strbuf.c Merge branch 'rs/strbuf-getcwd' 2014-09-02 13:28:44 -07:00
strbuf.h Merge branch 'rs/strbuf-getcwd' 2014-09-02 13:28:44 -07:00
streaming.c
streaming.h
string-list.c string-list: add string_list initializer helper function 2014-07-21 10:23:36 -07:00
string-list.h string-list: add string_list initializer helper function 2014-07-21 10:23:36 -07:00
submodule.c Merge branch 'ta/string-list-init' 2014-07-23 11:35:54 -07:00
submodule.h
symlinks.c symlinks: remove PATH_MAX limitation 2014-07-07 11:22:42 -07:00
tag.c add object_as_type helper for casting objects 2014-07-28 10:14:33 -07:00
tag.h
tar.h
test-chmtime.c
test-config.c test-config: add tests for the config_set API 2014-07-29 14:33:36 -07:00
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c
test-dump-split-index.c
test-genrandom.c
test-hashmap.c hashmap: add string interning API 2014-07-07 13:56:38 -07:00
test-index-version.c
test-line-buffer.c
test-match-trees.c
test-mergesort.c
test-mktemp.c
test-parse-options.c
test-path-utils.c
test-prio-queue.c
test-read-cache.c
test-regex.c
test-revision-walking.c
test-run-command.c
test-scrap-cache-tree.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c
test-subprocess.c
test-svn-fe.c
test-urlmatch-normalization.c
test-wildmatch.c
thread-utils.c
thread-utils.h
trace.c Merge branch 'rs/strbuf-getcwd' 2014-09-02 13:28:44 -07:00
trace.h git: add performance tracing for git's main() function to debug scripts 2014-07-13 21:25:21 -07:00
transport-helper.c
transport.c Merge branch 'jk/misc-fixes-maint' 2014-07-28 11:30:41 -07:00
transport.h
tree-diff.c
tree-walk.c
tree-walk.h
tree.c add object_as_type helper for casting objects 2014-07-28 10:14:33 -07:00
tree.h
unicode_width.h
unimplemented.sh
unix-socket.c Merge branch 'rs/strbuf-getcwd' 2014-09-02 13:28:44 -07:00
unix-socket.h
unpack-trees.c Merge branch 'nd/split-index' 2014-07-16 11:25:40 -07:00
unpack-trees.h
update_unicode.sh
upload-pack.c
url.c use strbuf_addch for adding single characters 2014-07-10 14:06:46 -07:00
url.h
urlmatch.c
urlmatch.h
usage.c
userdiff.c
userdiff.h
utf8.c Merge branch 'nd/strbuf-utf8-replace' 2014-09-09 12:54:02 -07:00
utf8.h
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c
walker.h
wildmatch.c
wildmatch.h
wrap-for-bin.sh
wrapper.c wrapper: add xgetcwd() 2014-08-26 11:06:05 -07:00
write_or_die.c
ws.c
wt-status.c Merge branch 'kb/perf-trace' 2014-07-22 10:59:19 -07:00
wt-status.h
xdiff-interface.c
xdiff-interface.h
zlib.c

////////////////////////////////////////////////////////////////

	Git - the stupid content tracker

////////////////////////////////////////////////////////////////

"git" can mean anything, depending on your mood.

 - random three-letter combination that is pronounceable, and not
   actually used by any common UNIX command.  The fact that it is a
   mispronunciation of "get" may or may not be relevant.
 - stupid. contemptible and despicable. simple. Take your pick from the
   dictionary of slang.
 - "global information tracker": you're in a good mood, and it actually
   works for you. Angels sing, and a light suddenly fills the room.
 - "goddamn idiotic truckload of sh*t": when it breaks

Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

Git is an Open Source project covered by the GNU General Public
License version 2 (some parts of it are under different licenses,
compatible with the GPLv2). It was originally written by Linus
Torvalds with help of a group of hackers around the net.

Please read the file INSTALL for installation instructions.

See Documentation/gittutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands, and
Documentation/git-commandname.txt for documentation of each command.
If git has been correctly installed, then the tutorial can also be
read with "man gittutorial" or "git help tutorial", and the
documentation of each command with "man git-commandname" or "git help
commandname".

CVS users may also want to read Documentation/gitcvs-migration.txt
("man gitcvs-migration" or "git help cvs-migration" if git is
installed).

Many Git online resources are accessible from http://git-scm.com/
including full documentation and Git related tools.

The user discussion and development of Git take place on the Git
mailing list -- everyone is welcome to post bug reports, feature
requests, comments and patches to git@vger.kernel.org (read
Documentation/SubmittingPatches for instructions on patch submission).
To subscribe to the list, send an email with just "subscribe git" in
the body to majordomo@vger.kernel.org. The mailing list archives are
available at http://news.gmane.org/gmane.comp.version-control.git/,
http://marc.info/?l=git and other archival sites.

The maintainer frequently sends the "What's cooking" reports that
list the current status of various development topics to the mailing
list.  The discussion following them give a good reference for
project status, development direction and remaining tasks.