1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-07 01:32:58 +01:00
Find a file
Shawn O. Pearce 1b600e659a Compute accurate distances in git-describe before output.
My prior change to git-describe attempts to print the distance
between the input commit and the best matching tag, but this distance
was usually only an estimate as we always aborted revision walking
as soon as we overflowed the configured limit on the number of
possible tags (as set by --candidates).

Displaying an estimated distance is not very useful and can just be
downright confusing.  Most users (heck, most Git developers) don't
immediately understand why this distance differs from the output
of common tools such as `git rev-list | wc -l`.  Even worse, the
estimated distance could change in the future (including decreasing
despite no rebase occuring) if we find more possible tags earlier
on during traversal.  (This could happen if more tags are merged
into the branch between queries.)  These factors basically make an
estimated distance useless.

Fortunately we are usually most of the way through an accurate
distance computation by the time we abort (due to reaching the
current --candidates limit).  This means we can simply finish
counting out the revisions still in our commit queue to present
the accurate distance at the end.  The number of commits remaining
in the commit queue is probably less than the number of commits
already traversed, so finishing out the count is not likely to take
very long.  This final distance will then always match the output of
`git rev-list | wc -l`.

We can easily reduce the total number of commits that need to be
walked at the end by stopping as soon as all of the commits in the
commit queue are flagged as being merged into the already selected
best possible tag.  If that's true then there are no remaining
unseen commits which can contribute to our best possible tag's
depth counter, so further traversal is useless.

Basic testing on my Mac OS X system shows there is no noticable
performance difference between this accurate distance counting
version of git-describe and the prior version of git-describe,
at least when run on git.git.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-28 02:08:51 -08:00
arm
compat Replacing the system call pread() with lseek()/xread()/lseek() sequence. 2007-01-09 16:40:40 -08:00
contrib vc-git.el: Take into account the destination name in vc-checkout. 2007-01-26 15:38:27 -08:00
Documentation Update describe documentation. 2007-01-28 02:08:51 -08:00
gitweb gitweb: Fix git_patchset_body not closing <div class="patch"> 2007-01-09 16:23:39 -08:00
mozilla-sha1
perl Cleanup uninitialized value in chomp 2007-01-22 09:44:26 -08:00
ppc Fix more typos, primarily in the code 2006-07-10 00:36:44 -07:00
t Fix seriously broken "git pack-refs" 2007-01-25 19:16:07 -08:00
templates update hook: redirect _both_ diagnostic lines to stderr upon tag failure 2006-12-28 14:12:48 -08:00
xdiff Fix yet another subtle xdl_merge() bug 2006-12-30 18:05:05 -08:00
.gitignore Ignore git-init and git-remote 2007-01-08 21:53:23 -08:00
.mailmap .mailmap: fix screw-ups in Uwe's name 2007-01-22 16:25:15 -08:00
alloc.c Add NO_C99_FORMAT to support older compilers. 2006-08-02 00:27:18 -07:00
archive-tar.c Set default "tar" umask to 002 and owner.group to root.root 2007-01-06 10:37:14 -08:00
archive-zip.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
archive.h Remove unsupported C99 style struct initializers in git-archive. 2006-11-04 23:48:36 -08:00
base85.c improve base85 generated assembly code 2006-05-08 11:05:01 -07:00
blob.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
blob.h
builtin-add.c Make a short-and-sweet "git-add -i" synonym for "git-add --interactive" 2007-01-17 10:52:36 -08:00
builtin-annotate.c git-annotate: no need to exec blame; it is built-in now. 2006-11-10 13:36:44 -08:00
builtin-apply.c apply --cached: fix crash in subdirectory 2007-01-20 19:05:20 -08:00
builtin-archive.c Make sure git_connect() always give two file descriptors. 2007-01-21 21:51:01 -08:00
builtin-blame.c git-blame --porcelain: quote filename in c-style when needed. 2007-01-28 02:04:48 -08:00
builtin-branch.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
builtin-cat-file.c Relative timestamps in git log 2006-08-26 19:12:03 -07:00
builtin-check-ref-format.c Further clean-up: usage() vs die() 2006-08-03 21:55:41 -07:00
builtin-checkout-index.c Use PATH_MAX instead of MAXPATHLEN 2006-08-26 17:52:58 -07:00
builtin-commit-tree.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
builtin-count-objects.c count-objects -v: show number of packs as well. 2006-12-27 01:05:00 -08:00
builtin-describe.c Compute accurate distances in git-describe before output. 2007-01-28 02:08:51 -08:00
builtin-diff-files.c Merge branch 'th/diff-extra' 2006-08-12 19:34:41 -07:00
builtin-diff-index.c Call setup_git_directory() much earlier 2006-07-29 01:34:07 -07:00
builtin-diff-stages.c Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length. 2006-08-17 14:23:53 -07:00
builtin-diff-tree.c Call setup_git_directory() much earlier 2006-07-29 01:34:07 -07:00
builtin-diff.c Revert "git-diff: Introduce --index and deprecate --cached." 2006-12-13 02:03:11 -08:00
builtin-fmt-merge-msg.c "git fmt-merge-msg" SIGSEGV 2006-11-16 23:45:57 -08:00
builtin-for-each-ref.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-grep.c short i/o: fix calls to read to use xread or read_in_full 2007-01-08 15:44:47 -08:00
builtin-init-db.c Allow default core.logallrefupdates to be overridden with template's config 2007-01-24 17:33:25 -08:00
builtin-log.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
builtin-ls-files.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-ls-tree.c remove unnecessary initializations 2006-08-15 21:22:20 -07:00
builtin-mailinfo.c -u is now default for 'git-mailinfo'. 2007-01-09 21:32:49 -08:00
builtin-mailsplit.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-merge-file.c move read_mmfile() into xdiff-interface 2006-12-21 23:10:14 -08:00
builtin-mv.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-name-rev.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-pack-objects.c Use fixed-size integers for .idx file I/O 2007-01-18 14:11:50 -08:00
builtin-pack-refs.c Fix seriously broken "git pack-refs" 2007-01-25 19:16:07 -08:00
builtin-prune-packed.c prune-packed: add -q to usage 2007-01-18 14:30:05 -08:00
builtin-prune.c Revert "prune: --grace=time" 2007-01-21 21:29:57 -08:00
builtin-push.c rename --exec to --receive-pack for push and send-pack 2007-01-19 17:54:33 -08:00
builtin-read-tree.c read-tree: document --exclude-per-directory 2006-12-05 23:44:23 -08:00
builtin-reflog.c reflog gc: a tag that does not point at a commit is not a crime. 2007-01-22 21:39:03 -08:00
builtin-repo-config.c Merge branch 'jc/clone' 2006-12-20 13:56:14 -08:00
builtin-rerere.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
builtin-rev-list.c Teach all of log family --left-right output. 2006-12-17 10:35:28 -08:00
builtin-rev-parse.c Tell between packed, unpacked and symbolic refs. 2006-09-20 22:02:01 -07:00
builtin-rm.c git-rm documentation: remove broken behaviour from the example. 2007-01-16 11:50:29 -08:00
builtin-runstatus.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-shortlog.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-show-branch.c show-branch -g: default to HEAD 2007-01-25 22:31:10 -08:00
builtin-show-ref.c show-ref: fix --exclude-existing 2006-12-18 13:40:25 -08:00
builtin-stripspace.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-symbolic-ref.c Fix git-fetch while on detached HEAD not to give needlessly alarming errors 2007-01-15 15:35:07 -08:00
builtin-tar-tree.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
builtin-unpack-objects.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-update-index.c trust-executable-bit: fix breakage for symlinks 2006-11-22 16:36:49 -08:00
builtin-update-ref.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
builtin-upload-archive.c short i/o: fix calls to read to use xread or read_in_full 2007-01-08 15:44:47 -08:00
builtin-verify-pack.c Load core configuration in git-verify-pack. 2006-12-29 11:36:45 -08:00
builtin-write-tree.c Convert memcpy(a,b,20) to hashcpy(a,b). 2006-08-23 13:53:10 -07:00
builtin.h Make git-describe a builtin. 2007-01-10 08:27:01 -08:00
cache-tree.c Catch errors when writing an index that contains invalid objects. 2006-11-13 14:26:51 -08:00
cache-tree.h write-tree: --prefix=<path> 2006-05-01 22:29:16 -07:00
cache.h Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
check-builtins.sh cherry is built-in, do not ship git-cherry.sh 2006-11-05 11:26:21 -08:00
check-racy.c Add check program "git-check-racy" 2006-08-15 21:38:07 -07:00
color.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
color.h Move color option parsing out of diff.c and into color.[ch] 2006-09-08 16:44:10 -07:00
combine-diff.c Merge branch 'jc/combined' 2006-10-26 02:07:18 -07:00
commit.c Use log output encoding in --pretty=email headers. 2007-01-13 10:10:20 -08:00
commit.h is_repository_shallow(): prototype fix. 2007-01-21 22:22:23 -08:00
config.c config_set_multivar(): disallow newlines in keys 2007-01-19 17:55:14 -08:00
config.mak.in remove merge-recursive-old 2006-11-21 20:55:39 -08:00
configure.ac Remove NO_ACCURATE_DIFF options from build systems 2006-12-22 23:13:28 -08:00
connect.c Make sure git_connect() always give two file descriptors. 2007-01-21 21:51:01 -08:00
convert-objects.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
copy.c
COPYING
csum-file.c Convert memcpy(a,b,20) to hashcpy(a,b). 2006-08-23 13:53:10 -07:00
csum-file.h
ctype.c
daemon.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
date.c show_date(): fix relative dates 2007-01-20 18:57:47 -08:00
delta.h pack-object: slightly more efficient 2006-05-15 12:32:13 -07:00
diff-delta.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
diff-lib.c diff-index --cached --raw: show tree entry on the LHS for unmerged entries. 2007-01-06 22:57:42 -08:00
diff.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
diff.h diff-index --cached --raw: show tree entry on the LHS for unmerged entries. 2007-01-06 22:57:42 -08:00
diffcore-break.c Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length. 2006-08-17 14:23:53 -07:00
diffcore-delta.c diffcore-delta: 64-byte-or-EOL ultrafast replacement (hash fix). 2006-03-15 13:19:27 -08:00
diffcore-order.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
diffcore-pickaxe.c diffcore-pickaxe: fix infinite loop on zero-length needle 2007-01-25 21:17:19 -08:00
diffcore-rename.c Bypass expensive content comparsion during rename detection. 2006-12-14 02:40:33 -08:00
diffcore.h diff-index --cached --raw: show tree entry on the LHS for unmerged entries. 2007-01-06 22:57:42 -08:00
dir.c short i/o: fix calls to read to use xread or read_in_full 2007-01-08 15:44:47 -08:00
dir.h Fix 'git add' with .gitignore 2006-12-29 11:01:31 -08:00
dump-cache-tree.c Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length. 2006-08-17 14:23:53 -07:00
entry.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
environment.c Introduce is_bare_repository() and core.bare configuration variable 2007-01-07 21:36:35 -08:00
exec_cmd.c Use preprocessor constants for environment variable names. 2006-12-19 01:51:51 -08:00
exec_cmd.h Const tightening. 2006-03-05 02:47:29 -08:00
fetch-pack.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
fetch.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
fetch.h Teach git-local-fetch the --stdin switch 2006-07-27 19:33:48 -07:00
fsck-objects.c fsck-objects: refactor checking for connectivity 2007-01-21 23:35:47 -08:00
generate-cmdlist.sh use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-add--interactive.perl git-add --interactive: hunk splitting 2006-12-18 16:28:45 -08:00
git-am.sh Merge branch 'jc/bare' 2007-01-11 16:50:36 -08:00
git-applymbox.sh -u is now default for 'git-mailinfo'. 2007-01-09 21:32:49 -08:00
git-applypatch.sh Fix more typos, primarily in the code 2006-07-10 00:36:44 -07:00
git-archimport.perl use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-bisect.sh bisect reset: Leave the tree in usable state if git-checkout failed 2006-10-16 23:04:05 -07:00
git-checkout.sh fix suggested branch creation command when detaching head 2007-01-26 22:38:00 -08:00
git-clean.sh Disallow working directory commands in a bare repository. 2007-01-10 15:03:09 -08:00
git-clone.sh ls-remote and clone: accept --upload-pack=<path> as well. 2007-01-24 16:12:15 -08:00
git-commit.sh Documentation: --amend cannot be combined with -c/-C/-F. 2007-01-24 15:32:52 -08:00
git-compat-util.h Use inttypes.h rather than stdint.h. 2007-01-26 00:03:23 -08:00
git-cvsexportcommit.perl Make cvsexportcommit work with filenames with spaces and non-ascii characters. 2006-12-11 14:16:54 -08:00
git-cvsimport.perl cvsimport: activate -a option, really. 2007-01-22 12:20:14 -08:00
git-cvsserver.perl New files in git weren't being downloaded during CVS update 2007-01-24 23:38:55 -08:00
git-fetch.sh make --upload-pack option to git-fetch configurable 2007-01-24 23:06:30 -08:00
git-gc.sh git-gc: do not run git-prune by default. 2007-01-21 23:28:28 -08:00
git-instaweb.sh instaweb: Nicer error message when the http daemon isn't found 2007-01-06 10:44:59 -08:00
git-lost-found.sh lost-found: use fsck-objects --full 2006-07-27 22:15:01 -07:00
git-ls-remote.sh ls-remote and clone: accept --upload-pack=<path> as well. 2007-01-24 16:12:15 -08:00
git-merge-octopus.sh
git-merge-one-file.sh Use git-merge-file in git-merge-one-file, too 2006-12-21 20:33:06 -08:00
git-merge-ours.sh
git-merge-resolve.sh
git-merge-stupid.sh
git-merge.sh git-merge: leave sensible reflog message when used as the first level UI. 2007-01-26 15:38:21 -08:00
git-p4import.py use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-parse-remote.sh parse-remote: do not barf on a remote shorthand without any refs to fetch. 2007-01-25 22:03:16 -08:00
git-pull.sh git-pull: disallow implicit merging to detached HEAD 2007-01-15 15:37:22 -08:00
git-quiltimport.sh Replace "echo -n" with printf in shell scripts. 2007-01-15 22:23:21 -08:00
git-rebase.sh git-rebase: allow rebasing a detached HEAD. 2007-01-20 21:31:00 -08:00
git-relink.perl
git-remote.perl git-remote: no longer silent on unknown commands. 2007-01-13 10:03:44 -08:00
git-repack.sh Make git-prune-packed a bit more chatty. 2007-01-12 15:10:29 -08:00
git-request-pull.sh Pass -M to diff in request-pull 2006-12-04 13:39:27 -08:00
git-reset.sh Shell syntax fix in git-reset 2007-01-18 14:22:24 -08:00
git-resolve.sh merge and resolve: Output short hashes and .. in "Updating ..." 2006-09-30 22:13:28 -07:00
git-revert.sh Use nice names in conflict markers during cherry-pick/revert. 2007-01-14 23:17:32 -08:00
git-send-email.perl send-email: work around double encoding of in-body From field. 2007-01-10 13:39:16 -08:00
git-sh-setup.sh Define cd_to_toplevel shell function in git-sh-setup 2007-01-12 16:54:38 -08:00
git-svn.perl git-svn: remove leading slash when printing removed directories 2007-01-22 13:15:50 -08:00
git-svnimport.perl use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-tag.sh Allow the tag signing key to be specified in the config file 2007-01-27 13:46:59 -08:00
git-verify-tag.sh git-verify-tag: make sure we remove temporary file. 2007-01-03 12:34:20 -08:00
GIT-VERSION-GEN GIT v1.5.0-rc2 2007-01-20 23:44:55 -08:00
git.c annotate: use pager 2007-01-24 15:08:31 -08:00
git.spec.in Get rid of the dependency on RCS' merge program 2006-12-12 21:47:29 -08:00
gitk [PATCH] Make gitk work when launched in a subdirectory 2007-01-13 16:15:09 +11:00
grep.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
grep.h grep --all-match 2006-09-27 23:59:09 -07:00
hash-object.c Replace some calls to die(usage_str) with usage(usage_str). 2006-08-03 21:44:13 -07:00
help.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
http-fetch.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
http-push.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
http.c http/ftp: optionally ask curl to not use EPSV command 2006-09-28 19:02:46 -07:00
http.h Work around http-fetch built with cURL 7.16.0 2006-12-27 16:44:30 -08:00
ident.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
imap-send.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
index-pack.c index-pack: write-or-die instead of unchecked write-in-full. 2007-01-11 13:19:31 -08:00
INSTALL use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
interpolate.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
interpolate.h do not discard constness in interp_set_entry value argument 2006-09-28 18:25:36 -07:00
list-objects.c pack-objects: further work on internal rev-list logic. 2006-09-07 02:46:02 -07:00
list-objects.h pack-objects: further work on internal rev-list logic. 2006-09-07 02:46:02 -07:00
local-fetch.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
lockfile.c Print a more accurate error message when we fail to create a lock file. 2007-01-06 10:42:49 -08:00
log-tree.c git-log -g --pretty=oneline should display the reflog message 2007-01-28 01:54:42 -08:00
log-tree.h Add msg_sep to diff_options 2006-06-26 14:58:41 -07:00
Makefile reflog-walk: build fixes 2007-01-20 21:32:31 -08:00
merge-base.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
merge-file.c Get rid of the dependency on RCS' merge program 2006-12-12 21:47:29 -08:00
merge-index.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
merge-recursive.c Convert output messages in merge-recursive to past tense. 2007-01-14 12:20:39 -08:00
merge-tree.c Handle invalid argc gently 2006-09-14 11:48:11 -07:00
mktag.c Use xmalloc instead of malloc 2006-08-31 16:24:39 -07:00
mktree.c Convert memcpy(a,b,20) to hashcpy(a,b). 2006-08-23 13:53:10 -07:00
object-refs.c Fix git-fsck-objects SIGSEGV/divide-by-zero 2006-09-04 15:24:10 -07:00
object.c Add git-for-each-ref: helper for language bindings 2006-09-16 10:22:02 -07:00
object.h Add git-for-each-ref: helper for language bindings 2006-09-16 10:22:02 -07:00
pack-check.c pack-check.c::verify_packfile(): don't run SHA-1 update on huge data 2007-01-04 22:17:59 -08:00
pack-redundant.c Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length. 2006-08-17 14:23:53 -07:00
pack.h Refactor the pack header reading function out of receive-pack.c 2007-01-24 18:08:02 -08:00
pager.c pager: default to LESS=FRSX not LESS=FRS 2006-10-22 20:28:10 -07:00
patch-delta.c make patch_delta() error cases a bit more verbose 2006-12-18 15:30:17 -08:00
patch-id.c Convert memcpy(a,b,20) to hashcpy(a,b). 2006-08-23 13:53:10 -07:00
path-list.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
path-list.h Extract helper bits from c-merge-recursive work 2006-07-26 13:36:36 -07:00
path.c Merge branch 'jc/detached-head' 2007-01-11 16:47:34 -08:00
peek-remote.c rename --exec to --upload-pack for fetch-pack and peek-remote 2007-01-24 16:12:15 -08:00
pkt-line.c make git a bit less cryptic on fetch errors 2006-12-18 15:31:28 -08:00
pkt-line.h Fix pkt-line.h to compile with a non-GCC compiler 2006-06-26 02:11:53 -07:00
quote.c Merge branch 'maint' 2006-10-30 19:38:50 -08:00
quote.h Add git-for-each-ref: helper for language bindings 2006-09-16 10:22:02 -07:00
reachable.c Sanitize for_each_reflog_ent() 2007-01-09 03:04:04 -08:00
reachable.h Move traversal of reachable objects into a separate library. 2007-01-06 22:57:34 -08:00
read-cache.c write-cache: do not leak the serialized cache-tree data. 2007-01-11 12:25:16 -08:00
README sanitize content of README file 2007-01-17 12:03:50 -08:00
receive-pack.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
reflog-walk.c git-log -g --pretty=oneline should display the reflog message 2007-01-28 01:54:42 -08:00
reflog-walk.h Fix --walk-reflog with --pretty=oneline 2007-01-20 21:32:31 -08:00
refs.c create_symref: check error return from open(). 2007-01-26 17:00:57 -08:00
refs.h Extend read_ref_at() to be usable from places other than sha1_name. 2007-01-19 17:57:53 -08:00
revision.c reflog inspection: introduce shortcut "-g" 2007-01-24 15:13:47 -08:00
revision.h Teach the revision walker to walk by reflogs with --walk-reflogs 2007-01-20 21:32:31 -08:00
rsh.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
rsh.h
run-command.c Use /dev/null for update hook stdin. 2006-12-30 22:22:14 -08:00
run-command.h Use /dev/null for update hook stdin. 2006-12-30 22:22:14 -08:00
send-pack.c rename --exec to --receive-pack for push and send-pack 2007-01-19 17:54:33 -08:00
server-info.c Tell between packed, unpacked and symbolic refs. 2006-09-20 22:02:01 -07:00
setup.c Do not verify filenames in a bare repository 2007-01-20 19:10:26 -08:00
sha1_file.c Refactor the pack header reading function out of receive-pack.c 2007-01-24 18:08:02 -08:00
sha1_name.c Extend read_ref_at() to be usable from places other than sha1_name. 2007-01-19 17:57:53 -08:00
shallow.c is_repository_shallow(): prototype fix. 2007-01-21 22:22:23 -08:00
shell.c Const tightening. 2006-03-05 02:47:29 -08:00
show-index.c Fix typo in show-index.c 2006-10-20 16:50:36 -07:00
sideband.c atomic write for sideband remote messages 2006-10-11 11:13:01 -07:00
sideband.h atomic write for sideband remote messages 2006-10-11 11:13:01 -07:00
ssh-fetch.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
ssh-pull.c
ssh-push.c
ssh-upload.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
strbuf.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
strbuf.h
tag.c Remove TYPE_* constant macros and use object_type enums consistently. 2006-07-12 23:18:03 -07:00
tag.h
tar.h tar-tree: Introduce write_entry() 2006-03-25 16:35:43 -08:00
test-date.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
test-delta.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
test-sha1.c test-sha1: test hashing large buffer 2006-06-24 02:59:20 -07:00
test-sha1.sh test-sha1: test hashing large buffer 2006-06-24 02:59:20 -07:00
trace.c short i/o: clean up the naming for the write_{in,or}_xxx family 2007-01-08 15:44:47 -08:00
tree-diff.c Make git-cherry handle root trees 2006-10-26 18:31:17 -07:00
tree-walk.c get_tree_entry: map blank requested entry to tree root 2007-01-09 14:08:41 -08:00
tree-walk.h tree_entry(): new tree-walking helper function 2006-05-30 23:03:01 -07:00
tree.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
tree.h Remove last vestiges of generic tree_entry_list 2006-05-29 19:08:37 -07:00
unpack-file.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
unpack-trees.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
unpack-trees.h read-tree: further loosen "working file will be lost" check. 2006-12-05 23:25:52 -08:00
update-server-info.c
upload-pack.c shallow repository: disable unsupported operations for now. 2007-01-21 22:23:58 -08:00
usage.c Introduce a global level warn() function. 2006-12-21 22:59:34 -08:00
utf8.c commit-tree: cope with different ways "utf-8" can be spelled. 2006-12-30 15:58:43 -08:00
utf8.h commit-tree: cope with different ways "utf-8" can be spelled. 2006-12-30 15:58:43 -08:00
var.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
write_or_die.c write_in_full: size_t is unsigned. 2007-01-26 17:39:03 -08:00
wt-status.c simplify the "no changes added to commit" message 2007-01-13 18:48:10 -08:00
wt-status.h Provide better feedback for the untracked only case in status output 2007-01-10 14:29:21 -08:00
xdiff-interface.c move read_mmfile() into xdiff-interface 2006-12-21 23:10:14 -08:00
xdiff-interface.h move read_mmfile() into xdiff-interface 2006-12-21 23:10:14 -08:00

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

	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.
It was originally written by Linus Torvalds with help of a group of
hackers around the net. It is currently maintained by Junio C Hamano.

Please read the file INSTALL for installation instructions.
See Documentation/tutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands,
and "man git-commandname" for documentation of each command.
CVS users may also want to read Documentation/cvs-migration.txt.

Many Git online resources are accessible from http://git.or.cz/
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. 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://marc.theaimsgroup.com/?l=git and other archival sites.