1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-06-21 06:19:05 +02:00
Git Source Code Mirror. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
Go to file
Shawn O. Pearce 4191c35671 git-fetch: avoid local fetching from alternate (again)
Back in e3c6f240fd Junio taught
git-fetch to avoid copying objects when we are fetching from
a repository that is already registered as an alternate object
database.  In such a case there is no reason to copy any objects
as we can already obtain them through the alternate.

However we need to ensure the objects are all reachable, so we
run `git rev-list --objects $theirs --not --all` to verify this.
If any object is missing or unreadable then we need to fetch/copy
the objects from the remote.  When a missing object is detected
the git-rev-list process will exit with a non-zero exit status,
making this condition quite easy to detect.

Although git-fetch is currently a builtin (and so is rev-list)
we cannot invoke the traverse_objects() API at this point in the
transport code.  The object walker within traverse_objects() calls
die() as soon as it finds an object it cannot read.  If that happens
we want to resume the fetch process by calling do_fetch_pack().
To get around this we spawn git-rev-list into a background process
to prevent a die() from killing the foreground fetch process,
thus allowing the fetch process to resume into do_fetch_pack()
if copying is necessary.

We aren't interested in the output of rev-list (a list of SHA-1
object names that are reachable) or its errors (a "spurious" error
about an object not being found as we need to copy it) so we redirect
both stdout and stderr to /dev/null.

We run this git-rev-list based check before any fetch as we may
already have the necessary objects local from a prior fetch.  If we
don't then its very likely the first $theirs object listed on the
command line won't exist locally and git-rev-list will die very
quickly, allowing us to start the network transfer.  This test even
on remote URLs may save bandwidth if someone runs `git pull origin`,
sees a merge conflict, resets out, then redoes the same pull just
a short time later.  If the remote hasn't changed between the two
pulls and the local repository hasn't had git-gc run in it then
there is probably no need to perform network transfer as all of
the objects are local.

Documentation for the new quickfetch function was suggested and
written by Junio, based on his original comment in git-fetch.sh.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-11-11 17:09:55 -08:00
Documentation rev-list: Introduce --quiet to avoid /dev/null redirects 2007-11-11 17:09:55 -08:00
arm War on whitespace 2007-06-07 00:04:01 -07:00
compat Merge branch 'maint' 2007-11-05 22:03:47 -08:00
contrib contrib/hooks/post-receive-email: remove cruft, $committer is not used 2007-11-08 14:18:13 -08:00
git-gui Merge branch 'maint' of git://repo.or.cz/git-gui into maint 2007-10-20 23:19:22 -04:00
gitweb Merge branch 'maint' 2007-11-11 15:00:05 -08:00
mozilla-sha1 War on whitespace 2007-06-07 00:04:01 -07:00
perl When exec() fails include the failing command in the error message 2007-11-07 11:39:37 -08:00
ppc War on whitespace 2007-06-07 00:04:01 -07:00
t git-fetch: avoid local fetching from alternate (again) 2007-11-11 17:09:55 -08:00
templates hooks--update: decline deleting tags or branches by default, add config options 2007-11-08 14:17:32 -08:00
xdiff Per-path attribute based hunk header selection. 2007-07-06 01:20:47 -07:00
.gitignore Merge branch 'ph/parseopt' 2007-11-02 16:42:23 -07:00
.mailmap RelNotes-1.5.4: describe recent updates 2007-10-29 13:33:38 -07:00
COPYING
GIT-VERSION-GEN GIT 1.5.3.5 2007-10-31 12:20:05 -07:00
INSTALL Mention 'cpio' dependency in INSTALL 2007-10-02 17:35:29 -07:00
Makefile Make check-docs target detect removed commands 2007-11-09 01:57:50 -08:00
README Update README to point at a few key periodical messages to the list 2007-03-25 17:42:32 -07:00
RelNotes Start preparing for 1.5.3.6 2007-11-09 00:17:52 -08:00
alloc.c Clean up object creation to use more common code 2007-04-16 23:36:16 -07:00
archive-tar.c Fix the expansion pattern of the pseudo-static path buffer. 2007-09-20 22:19:17 -07:00
archive-zip.c preserve executable bits in zip archives 2007-09-18 14:56:55 -07:00
archive.h archive: specfile support (--pretty=format: in archive files) 2007-09-03 16:46:16 -07:00
attr.c Merge branch 'maint' 2007-10-19 01:18:55 -04:00
attr.h Fix funny types used in attribute value representation 2007-04-18 16:17:13 -07:00
base85.c decode_85(): fix missing return. 2007-05-30 15:03:50 -07:00
blob.c Clean up object creation to use more common code 2007-04-16 23:36:16 -07:00
blob.h
builtin-add.c Merge branch 'ph/parseopt' 2007-11-02 16:42:23 -07:00
builtin-annotate.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-apply.c Correct some sizeof(size_t) != sizeof(unsigned long) typing errors 2007-10-22 00:00:40 -04:00
builtin-archive.c Merge branch 'js/forkexec' 2007-11-01 13:47:47 -07:00
builtin-blame.c builtin-blame: set up the work_tree before the first file access 2007-11-09 21:45:01 -08:00
builtin-branch.c Merge branch 'jc/format-patch-encoding' 2007-11-04 01:28:46 -07:00
builtin-bundle.c Move bundle specific stuff into bundle.[ch] 2007-09-19 03:22:30 -07:00
builtin-cat-file.c Cleanup variables in cat-file 2007-04-22 00:43:24 -07:00
builtin-check-attr.c Full rework of quote_c_style and write_name_quoted. 2007-09-20 23:45:49 -07:00
builtin-check-ref-format.c
builtin-checkout-index.c Full rework of quote_c_style and write_name_quoted. 2007-09-20 23:45:49 -07:00
builtin-commit-tree.c Now that cache.h needs strbuf.h, remove useless includes. 2007-09-16 17:30:03 -07:00
builtin-config.c git-config: print error message if the config file cannot be read 2007-10-18 01:35:33 -04:00
builtin-count-objects.c Make builtin-count-objects.c use parse_options. 2007-10-29 21:03:31 -07:00
builtin-describe.c Make builtin-describe.c use parse_options 2007-10-29 21:03:31 -07:00
builtin-diff-files.c Removing -n option from git-diff-files documentation 2007-04-26 22:43:10 -07:00
builtin-diff-index.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-diff-tree.c Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -07:00
builtin-diff.c refresh_index_quietly(): express "optional" nature of index writing better 2007-11-08 16:26:23 -08:00
builtin-fetch--tool.c Improved const correctness for strings 2007-10-21 01:43:27 -04:00
builtin-fetch-pack.c restore fetching with thin-pack capability 2007-11-07 16:19:07 -08:00
builtin-fetch.c git-fetch: avoid local fetching from alternate (again) 2007-11-11 17:09:55 -08:00
builtin-fmt-merge-msg.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
builtin-for-each-ref.c for-each-ref: fix setup of option-parsing for --sort 2007-11-10 11:04:24 -08:00
builtin-fsck.c Fixed a command line option type for builtin-fsck.c 2007-10-30 16:12:18 -07:00
builtin-gc.c gc: --prune prunes unreferenced objects. 2007-11-05 16:39:00 -08:00
builtin-grep.c grep with unmerged index 2007-11-05 18:57:58 -08:00
builtin-http-fetch.c Modularize commit-walker 2007-09-19 03:22:30 -07:00
builtin-init-db.c git-init: autodetect core.symlinks 2007-08-31 00:25:04 -07:00
builtin-log.c format-patch -s: add MIME encoding header if signer's name requires so 2007-11-01 17:18:39 -07:00
builtin-ls-files.c Use setup_work_tree() in builtin-ls-files.c 2007-11-05 22:47:57 -08:00
builtin-ls-tree.c Full rework of quote_c_style and write_name_quoted. 2007-09-20 23:45:49 -07:00
builtin-mailinfo.c Make mailsplit and mailinfo strip whitespace from the start of the input 2007-11-02 01:58:40 -07:00
builtin-mailsplit.c Merge branch 'maint' 2007-11-09 00:21:44 -08:00
builtin-merge-base.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-merge-file.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-mv.c Make builtin-mv.c use parse-options 2007-10-29 21:03:31 -07:00
builtin-name-rev.c Make builtin-name-rev.c use parse_options. 2007-10-29 21:03:31 -07:00
builtin-pack-objects.c Merge branch 'np/pack' 2007-11-04 01:11:17 -07:00
builtin-pack-refs.c Make builtin-pack-refs.c use parse_options. 2007-10-29 21:03:31 -07:00
builtin-prune-packed.c return the prune-packed progress display to the inner loop 2007-11-01 15:22:32 -07:00
builtin-prune.c minor git-prune optimization 2007-03-20 22:17:47 -07:00
builtin-push.c push: teach push to pass --verbose option to transport layer 2007-11-11 14:37:03 -08:00
builtin-read-tree.c Clean-up read-tree error condition. 2007-08-16 21:19:06 -07:00
builtin-reflog.c git-update-ref: add --no-deref option for overwriting/detaching ref 2007-05-10 15:24:44 -07:00
builtin-rerere.c Export rerere() and launch_editor(). 2007-09-27 01:29:56 -07:00
builtin-reset.c Merge branch 'js/reset' 2007-11-11 15:19:24 -08:00
builtin-rev-list.c rev-list: Introduce --quiet to avoid /dev/null redirects 2007-11-11 17:09:55 -08:00
builtin-rev-parse.c Clean up work-tree handling 2007-08-01 00:38:31 -07:00
builtin-revert.c Merge branch 'jc/revert-merge' 2007-11-04 01:26:02 -07:00
builtin-rm.c Don't always require working tree for git-rm 2007-11-05 22:47:57 -08:00
builtin-runstatus.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-shortlog.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
builtin-show-branch.c format-patch -s: add MIME encoding header if signer's name requires so 2007-11-01 17:18:39 -07:00
builtin-show-ref.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-stripspace.c Clean up stripspace a bit, use strbuf even more. 2007-09-27 00:33:33 -07:00
builtin-symbolic-ref.c Make builtin-symbolic-ref.c use parse_options. 2007-10-29 21:03:31 -07:00
builtin-tag.c Small code readability improvement in show_reference() in builtin-tag.c 2007-11-07 17:25:47 -08:00
builtin-tar-tree.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
builtin-unpack-objects.c relax usage of the progress API 2007-10-30 16:08:40 -07:00
builtin-update-index.c double free in builtin-update-index.c 2007-09-29 01:40:19 -07:00
builtin-update-ref.c Make builtin-update-ref.c use parse_options 2007-10-29 21:03:31 -07: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-verify-tag.c verify-tag: also grok CR/LFs in the tag signature 2007-09-03 16:44:35 -07:00
builtin-write-tree.c Fix racy-git handling in git-write-tree. 2007-08-24 18:53:02 -07:00
builtin.h "git" returns 1; "git help" and "git help -a" return 0 2007-10-29 20:51:36 -07:00
bundle.c Style: place opening brace of a function definition at column 1 2007-11-08 15:35:32 -08:00
bundle.h Move bundle specific stuff into bundle.[ch] 2007-09-19 03:22:30 -07:00
cache-tree.c Small cache_tree_write refactor. 2007-09-26 02:27:06 -07:00
cache-tree.h Small cache_tree_write refactor. 2007-09-26 02:27:06 -07:00
cache.h Merge branch 'ds/maint-deflatebound' 2007-11-07 18:17:20 -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
color.c Enable wt-status output to a given FILE pointer. 2007-09-19 12:52:19 -07:00
color.h Enable wt-status output to a given FILE pointer. 2007-09-19 12:52:19 -07:00
combine-diff.c Full rework of quote_c_style and write_name_quoted. 2007-09-20 23:45:49 -07:00
commit.c Split off the pretty print stuff into its own file 2007-11-05 11:52:14 -08:00
commit.h format-patch -s: add MIME encoding header if signer's name requires so 2007-11-01 17:18:39 -07:00
config.c Merge branch 'cr/tag' 2007-08-10 23:17:46 -07:00
config.mak.in Improve accuracy of check for presence of deflateBound. 2007-11-07 17:06:14 -08:00
configure.ac Merge branch 'ds/maint-deflatebound' 2007-11-07 18:17:20 -08:00
connect.c Use start_command() in git_connect() instead of explicit fork/exec. 2007-10-21 01:30:39 -04:00
convert.c Use the asyncronous function infrastructure to run the content filter. 2007-10-21 01:30:42 -04:00
copy.c War on whitespace 2007-06-07 00:04:01 -07:00
csum-file.c add throughput display to git-push 2007-10-30 16:08:40 -07:00
csum-file.h add throughput display to git-push 2007-10-30 16:08:40 -07:00
ctype.c War on whitespace 2007-06-07 00:04:01 -07:00
daemon.c Style: place opening brace of a function definition at column 1 2007-11-08 15:35:32 -08:00
date.c parse_date_format(): convert a format name to an enum date_mode 2007-09-29 20:31:59 -07:00
decorate.c Fix a copy-n-paste bug in the object decorator code. 2007-04-20 19:16:12 -07:00
decorate.h Add a generic "object decorator" interface, and make object refs use it 2007-04-16 16:51:09 -07:00
delta.h Support fetching the memory usage of a delta index 2007-07-12 14:32:35 -07:00
diff-delta.c diff-delta.c: Rationalize culling of hash buckets 2007-09-09 17:16:49 -07:00
diff-lib.c diff --no-index: do not forget to run diff_setup_done() 2007-09-14 12:12:32 -07:00
diff.c Merge branch 'js/forkexec' 2007-11-01 13:47:47 -07:00
diff.h diff: squelch empty diffs even more 2007-08-14 22:34:58 -07:00
diffcore-break.c Fix diffcore-break total breakage 2007-10-21 01:59:42 -04:00
diffcore-delta.c optimize diffcore-delta by sorting hash entries. 2007-10-04 00:05:36 -07:00
diffcore-order.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
diffcore-pickaxe.c War on whitespace 2007-06-07 00:04:01 -07:00
diffcore-rename.c Do the fuzzy rename detection limits with the exact renames removed 2007-10-26 23:18:06 -07:00
diffcore.h copy vs rename detection: avoid unnecessary O(n*m) loops 2007-10-26 23:18:06 -07:00
dir.c Style: place opening brace of a function definition at column 1 2007-11-08 15:35:32 -08:00
dir.h Speedup scanning for excluded files. 2007-10-29 17:03:11 -07:00
dump-cache-tree.c
entry.c Correct some sizeof(size_t) != sizeof(unsigned long) typing errors 2007-10-22 00:00:40 -04:00
environment.c Merge branch 'cr/tag' 2007-08-10 23:17:46 -07:00
exec_cmd.c use only the $PATH for exec'ing git commands 2007-10-29 20:51:37 -07:00
exec_cmd.h use only the $PATH for exec'ing git commands 2007-10-29 20:51:37 -07:00
fast-import.c fast-import.c: fix regression due to strbuf conversion 2007-10-26 15:28:09 -07:00
fetch-pack.h Always obtain fetch-pack arguments from struct fetch_pack_args 2007-09-19 03:22:31 -07:00
fixup-builtins Start deprecating "git-command" in favor of "git command" 2007-07-02 22:39:10 -07:00
generate-cmdlist.sh More static 2007-06-13 02:02:10 -07:00
git-add--interactive.perl git add -i: Remove unused variables 2007-10-15 21:00:40 -04:00
git-am.sh Merge branch 'jc/am-quiet' 2007-10-18 03:45:05 -04:00
git-archimport.perl Make git-archimport log entries more consistent 2007-08-30 19:22:02 -07:00
git-bisect.sh git-bisect.sh: Fix sed script to work with AIX and BSD sed. 2007-11-09 00:19:24 -08:00
git-checkout.sh post-checkout hook, tests, and docs 2007-09-29 21:11:21 -07:00
git-clean.sh clean: require -f to do damage by default 2007-11-04 01:54:41 -08:00
git-clone.sh git-clone: honor "--" to end argument parsing 2007-11-03 21:44:13 -07:00
git-commit.sh Merge branch 'jc/autogc' 2007-10-03 03:05:32 -07:00
git-compat-util.h revert/cherry-pick: work on merge commits as well 2007-10-26 23:28:28 -07:00
git-cvsexportcommit.perl Merge branch 'bk/maint-cvsexportcommit' 2007-11-01 15:39:59 -07:00
git-cvsimport.perl git-cvsimport: really convert underscores in branch names to dots with -u 2007-11-03 21:31:22 -07:00
git-cvsserver.perl cvsserver: Use exit 1 instead of die when req_Root fails. 2007-10-18 03:02:15 -04:00
git-filter-branch.sh filter-branch: update current branch when rewritten 2007-10-16 22:47:51 -04:00
git-instaweb.sh Merge branch 'maint' 2007-11-09 00:21:44 -08:00
git-lost-found.sh Deprecate git-lost-found 2007-11-07 17:12:53 -08:00
git-ls-remote.sh honor the http.sslVerify option in shell scripts 2007-10-28 14:16:59 -07:00
git-merge-octopus.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-merge-one-file.sh Fix merge-one-file for our-side-added/our-side-removed cases 2007-07-08 18:24:19 -07:00
git-merge-ours.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-merge-resolve.sh Fixing comment in merge strategies 2007-08-30 17:18:22 -07:00
git-merge-stupid.sh Fixing comment in merge strategies 2007-08-30 17:18:22 -07:00
git-merge.sh Merge branch 'lh/merge' 2007-10-03 03:05:58 -07:00
git-mergetool.sh mergetool: avoid misleading message "Resetting to default..." 2007-10-18 19:59:58 -04:00
git-parse-remote.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-pull.sh Teach git-pull about --[no-]ff, --no-squash and --commit 2007-10-29 13:32:52 -07:00
git-quiltimport.sh quiltimport: Skip non-existent patches 2007-09-27 16:19:19 -07:00
git-rebase--interactive.sh Merge branch 'maint' 2007-11-09 00:21:44 -08:00
git-rebase.sh Fixing path quoting in git-rebase 2007-11-02 16:15:08 -07:00
git-relink.perl
git-remote.perl Merge branch 'maint' 2007-10-26 23:17:23 -07:00
git-repack.sh Stop displaying "Pack pack-$ID created." during git-gc 2007-10-19 01:01:40 -04:00
git-request-pull.sh Avoid a few unportable, needlessly nested "...`...". 2007-11-08 15:54:58 -08:00
git-send-email.perl Merge branch 'maint' 2007-11-09 00:21:44 -08:00
git-sh-setup.sh git-sh-setup.sh: use "git rev-parse --show-cdup" to check for SUBDIRECTORY_OK 2007-10-29 21:14:11 -07:00
git-stash.sh Paper bag fix diff invocation in 'git stash show' 2007-10-19 02:18:14 -04:00
git-submodule.sh Merge branch 'maint' 2007-11-09 00:21:44 -08:00
git-svn.perl Merge branch 'maint' 2007-11-05 22:03:47 -08:00
git.c Don't always require working tree for git-rm 2007-11-05 22:47:57 -08:00
git.spec.in GIT 1.5.3.1: obsolete git-p4 in RPM spec file. 2007-09-03 01:28:37 -07:00
gitk gitk: Use the UI font for the diff/old version/new version radio buttons 2007-10-27 21:31:07 +10:00
grep.c Move buffer_is_binary() to xdiff-interface.h 2007-06-15 23:27:23 -07:00
grep.h grep --all-match 2006-09-27 23:59:09 -07:00
hash-object.c git-hash-object should honor config variables 2007-11-11 02:51:53 -08:00
hash.c Do linear-time/space rename logic for exact renames 2007-10-26 23:18:06 -07:00
hash.h Do linear-time/space rename logic for exact renames 2007-10-26 23:18:06 -07:00
help.c Style: place opening brace of a function definition at column 1 2007-11-08 15:35:32 -08:00
http-push.c errors: "strict subset" -> "ancestor" 2007-11-03 21:29:18 -07:00
http-walker.c Modularize commit-walker 2007-09-19 03:22:30 -07:00
http.c Properly cleanup in http_cleanup so builtin-fetch does not segfault 2007-09-19 03:22:31 -07:00
http.h Make function to refill http queue a callback 2007-09-19 03:22:30 -07:00
ident.c Improved hint on how to set identity 2007-08-13 23:34:38 -07:00
imap-send.c strbuf change: be sure ->buf is never ever NULL. 2007-09-29 02:13:33 -07:00
index-pack.c Merge branch 'maint' 2007-11-11 15:00:05 -08:00
interpolate.c Merge branch 'mv/unknown' 2007-10-03 04:28:24 -07:00
interpolate.h Lift 16kB limit of log message output 2007-06-13 00:41:21 -07:00
list-objects.c Fix memory leak in traverse_commit_list 2007-11-10 01:52:54 -08:00
list-objects.h
lockfile.c fully resolve symlinks when creating lockfiles 2007-07-27 00:02:05 -07:00
log-tree.c format-patch -s: add MIME encoding header if signer's name requires so 2007-11-01 17:18:39 -07:00
log-tree.h rev-list: implement --bisect-all 2007-10-26 23:27:23 -07:00
mailmap.c War on whitespace 2007-06-07 00:04:01 -07:00
mailmap.h Split out mailmap handling out of shortlog 2007-04-29 02:05:06 -07:00
match-trees.c Improved const correctness for strings 2007-10-21 01:43:27 -04:00
merge-file.c Future-proof source for changes in xdemitconf_t 2007-07-06 00:22:12 -07:00
merge-index.c War on whitespace 2007-06-07 00:04:01 -07:00
merge-recursive.c Make merge-recursive honor diff.renamelimit 2007-10-30 17:27:40 -07:00
merge-tree.c Future-proof source for changes in xdemitconf_t 2007-07-06 00:22:12 -07:00
mktag.c Now that cache.h needs strbuf.h, remove useless includes. 2007-09-16 17:30:03 -07:00
mktree.c Rework unquote_c_style to work on a strbuf. 2007-09-20 23:32:18 -07:00
object-refs.c War on whitespace 2007-06-07 00:04:01 -07:00
object.c Don't assume tree entries that are not dirs are blobs 2007-06-06 15:43:18 -07:00
object.h War on whitespace 2007-06-07 00:04:01 -07:00
pack-check.c pack-check: Sort entries by pack offset before unpacking them. 2007-06-06 16:04:02 -07:00
pack-redundant.c War on whitespace 2007-06-07 00:04:01 -07:00
pack-write.c Merge branch 'np/progress' 2007-11-02 16:27:37 -07:00
pack.h Merge branch 'np/progress' 2007-11-02 16:27:37 -07:00
pager.c pager: find out pager setting from configuration 2007-08-06 21:10:59 -07:00
parse-options.c parse-options: abbreviation engine fix. 2007-11-05 22:46:45 -08:00
parse-options.h Some better parse-options documentation. 2007-11-05 18:47:01 -08:00
patch-delta.c make patch_delta() error cases a bit more verbose 2006-12-18 15:30:17 -08:00
patch-id.c War on whitespace 2007-06-07 00:04:01 -07:00
patch-ids.c Refactor patch-id filtering out of git-cherry and git-format-patch. 2007-04-11 20:02:03 -07:00
patch-ids.h Refactor patch-id filtering out of git-cherry and git-format-patch. 2007-04-11 20:02:03 -07:00
path-list.c path-list.c: always free strdup'ed paths 2007-08-15 13:43:08 -07:00
path-list.h path-list.c: always free strdup'ed paths 2007-08-15 13:43:08 -07:00
path.c Add is_absolute_path() and make_absolute_path() 2007-08-01 00:38:30 -07:00
peek-remote.c Change git_connect() to return a struct child_process instead of a pid_t. 2007-10-21 01:30:39 -04:00
pkt-line.c War on whitespace 2007-06-07 00:04:01 -07:00
pkt-line.h
pretty.c Split off the pretty print stuff into its own file 2007-11-05 11:52:14 -08:00
progress.c Show total transferred as part of throughput progress 2007-11-01 15:22:32 -07:00
progress.h add throughput to progress display 2007-10-30 16:08:40 -07:00
quote.c Style: place opening brace of a function definition at column 1 2007-11-08 15:35:32 -08:00
quote.h sq_quote_argv and add_to_string rework with strbuf's. 2007-09-21 03:31:18 -07:00
reachable.c Merge branch 'maint' 2007-07-02 17:12:48 -07:00
reachable.h Move traversal of reachable objects into a separate library. 2007-01-06 22:57:34 -08:00
read-cache.c Merge branch 'maint' 2007-10-18 03:11:17 -04:00
receive-pack.c Merge branch 'db/fetch-pack' 2007-10-24 21:59:50 -07:00
reflog-walk.c git log -g: Complain, but do not fail, when no reflogs are there 2007-07-24 17:28:10 -07:00
reflog-walk.h git log -g: Complain, but do not fail, when no reflogs are there 2007-07-24 17:28:10 -07:00
refs.c Merge branch 'master' into db/fetch-pack 2007-10-16 00:15:25 -04:00
refs.h Function for updating refs. 2007-09-05 11:29:33 -07:00
remote.c Prevent send-pack from segfaulting (backport from 'master') 2007-10-30 16:21:56 -07:00
remote.h git-fetch: do not fail when remote branch disappears 2007-10-28 14:06:39 -07:00
revision.c Merge branch 'maint' 2007-10-15 22:31:47 -04:00
revision.h Add --log-size to git log to print message size 2007-08-14 01:59:33 -07:00
run-command.c run-command: Support sending stderr to /dev/null 2007-11-11 17:09:55 -08:00
run-command.h run-command: Support sending stderr to /dev/null 2007-11-11 17:09:55 -08:00
send-pack.c errors: "strict subset" -> "ancestor" 2007-11-03 21:29:18 -07:00
server-info.c Fix core.sharedRepository = 2 2007-07-11 13:52:16 -07:00
setup.c builtin-blame: set up the work_tree before the first file access 2007-11-09 21:45:01 -08:00
sha1_file.c Merge branch 'maint' 2007-10-29 12:53:54 -07:00
sha1_name.c Make show_rfc2822_date() just another date output format. 2007-07-13 23:14:52 -07:00
shallow.c War on whitespace 2007-06-07 00:04:01 -07:00
shell.c shell should call the new setup_path() to setup $PATH 2007-10-29 20:51:37 -07:00
show-index.c Use PRIuMAX instead of 'unsigned long long' in show-index 2007-10-21 02:16:57 -04:00
sideband.c cope with multiple line breaks within sideband progress messages 2007-10-17 02:54:56 -04:00
sideband.h atomic write for sideband remote messages 2006-10-11 11:13:01 -07:00
strbuf.c strbuf_read_file enhancement, and use it. 2007-09-29 21:26:10 -07:00
strbuf.h Fix comment in strbuf.h to use correct name strbuf_avail() 2007-11-05 21:09:39 -08:00
symlinks.c Add has_symlink_leading_path() function. 2007-05-11 22:11:07 -07:00
tag.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
tag.h
tar.h
test-absolute-path.c Add is_absolute_path() and make_absolute_path() 2007-08-01 00:38:30 -07:00
test-chmtime.c Add test-chmtime: a utility to change mtime on files 2007-02-25 11:09:56 -08:00
test-date.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
test-delta.c Fix compilation of test-delta 2007-05-01 02:59:08 -07:00
test-genrandom.c simple random data generator for tests 2007-04-11 19:23:32 -07:00
test-match-trees.c A new merge stragety 'subtree'. 2007-04-07 02:29:40 -07:00
test-parse-options.c parse-options: abbreviation engine fix. 2007-11-05 22:46:45 -08:00
test-sha1.c
test-sha1.sh
trace.c sq_quote_argv and add_to_string rework with strbuf's. 2007-09-21 03:31:18 -07:00
transport.c push: teach push to pass --verbose option to transport layer 2007-11-11 14:37:03 -08:00
transport.h push: teach push to pass --verbose option to transport layer 2007-11-11 14:37:03 -08:00
tree-diff.c Fix diffcore-break total breakage 2007-10-21 01:59:42 -04:00
tree-walk.c War on whitespace 2007-06-07 00:04:01 -07:00
tree-walk.h Two trivial -Wcast-qual fixes 2007-06-22 23:19:43 -07:00
tree.c Optimize "diff --cached" performance. 2007-08-10 11:44:23 -07:00
tree.h
unpack-file.c Use xmkstemp() instead of mkstemp() 2007-08-14 22:20:26 -07:00
unpack-trees.c relax usage of the progress API 2007-10-30 16:08:40 -07:00
unpack-trees.h Move old index entry removal from "unpack_trees()" into the individual functions 2007-08-10 13:59:19 -07:00
update-server-info.c
upload-pack.c upload-pack: Use finish_{command,async}() instead of waitpid(). 2007-11-05 22:47:28 -08:00
usage.c print warning/error/fatal messages in one shot 2007-11-09 22:25:36 -08:00
utf8.c Style: place opening brace of a function definition at column 1 2007-11-08 15:35:32 -08:00
utf8.h Actually make print_wrapped_text() useful 2007-02-27 17:29:02 -08:00
var.c War on whitespace 2007-06-07 00:04:01 -07:00
walker.c Merge branch 'master' into db/fetch-pack 2007-10-16 00:15:25 -04:00
walker.h Modularize commit-walker 2007-09-19 03:22:30 -07:00
write_or_die.c Don't fflush(stdout) when it's not helpful 2007-06-30 20:16:12 -07:00
wt-status.c Enable wt-status to run against non-standard index file. 2007-09-19 12:52:19 -07:00
wt-status.h Enable wt-status to run against non-standard index file. 2007-09-19 12:52:19 -07:00
xdiff-interface.c Per-path attribute based hunk header selection. 2007-07-06 01:20:47 -07:00
xdiff-interface.h Per-path attribute based hunk header selection. 2007-07-06 01:20:47 -07: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.

The messages titled "A note from the maintainer", "What's in
git.git (stable)" and "What's cooking in git.git (topics)" and
the discussion following them on the mailing list give a good
reference for project status, development direction and
remaining tasks.