1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-10-30 22:07:53 +01:00
Find a file
Shawn O. Pearce 106764e651 Refactor index-pack "keep $sha1" handling for reuse
There is a subtle (but important) linkage between receive-pack and
index-pack that allows index-pack to create a packfile but protect
it from being deleted by a concurrent `git repack -a -d` operation.
The linkage works by having index-pack mark the newly created pack
with a ".keep" file and then it passes the SHA-1 name of that new
packfile to receive-pack along its stdout channel.

The receive-pack process must unkeep the packfile by deleting the
.keep file, but can it can only do so after all elgible refs have
been updated in the receiving repository.  This ensures that the
packfile is either kept or its objects are reachable, preventing
a concurrent repacker from deleting the packfile before it can
determine that its objects are actually needed by the repository.

The new builtin-fetch code needs to perform the same actions if
it choose to run index-pack rather than unpack-objects, so I am
moving this code out to its own function where both receive-pack
and fetch-pack are able to invoke it when necessary.  The caller
is responsible for deleting the returned ".keep" and freeing the
path if the returned path is not NULL.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-19 03:22:30 -07:00
arm War on whitespace 2007-06-07 00:04:01 -07:00
compat add memmem() 2007-09-06 22:46:00 -07:00
contrib Make fetch a builtin 2007-09-19 03:22:30 -07:00
Documentation Make fetch a builtin 2007-09-19 03:22:30 -07:00
git-gui Merge branch 'maint' of git://repo.or.cz/git-gui into maint 2007-09-17 23:50:17 -07:00
gitweb gitweb: Fix escaping HTML of project owner in 'projects_list' and 2007-08-28 21:14:46 -07:00
mozilla-sha1 War on whitespace 2007-06-07 00:04:01 -07:00
perl Install man3 manpages to $PREFIX/share/man/man3 even for site installs 2007-08-23 01:02:49 -07:00
ppc War on whitespace 2007-06-07 00:04:01 -07:00
t Make fetch a builtin 2007-09-19 03:22:30 -07:00
templates hooks--update: Explicitly check for all zeros for a deleted ref. 2007-09-13 22:33:11 -07:00
xdiff Per-path attribute based hunk header selection. 2007-07-06 01:20:47 -07:00
.gitignore add "test-absolute-path" to .gitignore 2007-08-04 01:57:29 -07:00
.mailmap Update .mailmap 2007-07-14 13:44:58 -07:00
alloc.c Clean up object creation to use more common code 2007-04-16 23:36:16 -07:00
archive-tar.c archive: specfile support (--pretty=format: in archive files) 2007-09-03 16:46:16 -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 attr.c: read .gitattributes from index as well. 2007-08-14 23:19:10 -07: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 'cr/reset' 2007-09-18 00:42:01 -07:00
builtin-annotate.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-apply.c Merge branch 'maint' 2007-09-18 17:39:25 -07:00
builtin-archive.c archive - leakfix for format_subst() 2007-09-10 00:14:38 -07:00
builtin-blame.c blame: check return value from read_sha1_file() 2007-08-25 08:33:47 -07:00
builtin-branch.c Re-code builtin-branch.c in UTF-8 2007-07-11 22:52:45 -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 Add read_cache to builtin-check-attr 2007-08-14 22:46:01 -07:00
builtin-check-ref-format.c
builtin-checkout-index.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-commit-tree.c init_buffer(): Kill buf pointer 2007-04-25 13:45:12 -07:00
builtin-config.c Add an option to specify a file to config builtin 2007-07-31 22:56:15 -07:00
builtin-count-objects.c Simplify index access condition in count-objects, pack-redundant 2007-05-29 23:30:11 -07:00
builtin-describe.c Teach git-describe how to run name-rev 2007-05-21 23:56:28 -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 git-diff: resurrect the traditional empty "diff --git" behaviour 2007-08-31 23:30:14 -07:00
builtin-fetch--tool.c Function for updating refs. 2007-09-05 11:29:33 -07:00
builtin-fetch-pack.c Remove unnecessary debugging from builtin-fetch 2007-09-19 03:22:30 -07:00
builtin-fetch.c Simplify fetch transport API to just one function 2007-09-19 03:22:30 -07:00
builtin-fmt-merge-msg.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-for-each-ref.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-fsck.c fsck --lost-found: write blob's contents, not their SHA-1 2007-07-22 15:59:27 -07:00
builtin-gc.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-grep.c Split grep arguments in a way that does not requires to add /dev/null. 2007-09-14 15:16:43 -07: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 git-format-patch --in-reply-to: accept <message@id> with angle brackets 2007-09-14 00:49:12 -07:00
builtin-ls-files.c git-commit: Allow partial commit of file removal. 2007-09-17 23:57:35 -07:00
builtin-ls-tree.c Merge branch 'jn/lstree' 2007-05-23 00:17:47 -07:00
builtin-mailinfo.c Temporary fix for stack smashing in mailinfo 2007-08-30 18:46:37 -07:00
builtin-mailsplit.c More missing static 2007-06-08 02:37:19 -07: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 Simplify cache API 2007-09-14 01:02:21 -07:00
builtin-name-rev.c name-rev: Fix non-shortest description 2007-08-27 22:36:43 -07:00
builtin-pack-objects.c builtin-pack-objects.c: avoid bogus gcc warnings 2007-09-14 22:30:20 -07:00
builtin-pack-refs.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-prune-packed.c prune-packed: add -q to usage 2007-01-18 14:30:05 -08:00
builtin-prune.c minor git-prune optimization 2007-03-20 22:17:47 -07:00
builtin-push.c Push code for transport library 2007-09-19 03:22:30 -07: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 Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-reset.c Make "git reset" a builtin. 2007-09-12 13:25:07 -07:00
builtin-rev-list.c rev-list --bisect: Bisection "distance" clean up. 2007-09-18 02:58:23 -07:00
builtin-rev-parse.c Clean up work-tree handling 2007-08-01 00:38:31 -07:00
builtin-revert.c More static 2007-06-13 02:02:10 -07:00
builtin-rm.c Simplify cache API 2007-09-14 01:02:21 -07:00
builtin-runstatus.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-shortlog.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-show-branch.c Lift 16kB limit of log message output 2007-06-13 00:41:21 -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 Teach "git stripspace" the --strip-comments option 2007-07-26 22:51:44 -07:00
builtin-symbolic-ref.c symbolic-ref, update-ref: do not refuse reflog message with LF 2007-07-29 23:28:55 -07:00
builtin-tag.c git-tag -s must fail if gpg cannot sign the tag. 2007-09-09 21:30:54 -07:00
builtin-tar-tree.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
builtin-unpack-objects.c Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
builtin-update-index.c Simplify cache API 2007-09-14 01:02:21 -07:00
builtin-update-ref.c Function for updating refs. 2007-09-05 11:29:33 -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 Make fetch a builtin 2007-09-19 03:22:30 -07:00
bundle.c Move bundle specific stuff into bundle.[ch] 2007-09-19 03:22:30 -07:00
bundle.h Move bundle specific stuff into bundle.[ch] 2007-09-19 03:22:30 -07:00
cache-tree.c Two trivial -Wcast-qual fixes 2007-06-22 23:19:43 -07:00
cache-tree.h
cache.h Make fetch a builtin 2007-09-19 03:22:30 -07: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 Future-proof source for changes in xdemitconf_t 2007-07-06 00:22:12 -07:00
commit.c Export format_commit_message() 2007-09-03 16:46:02 -07:00
commit.h Export format_commit_message() 2007-09-03 16:46:02 -07:00
config.c Merge branch 'cr/tag' 2007-08-10 23:17:46 -07:00
config.mak.in War on whitespace 2007-06-07 00:04:01 -07:00
configure.ac make the name of the library directory a config option 2007-07-31 22:36:55 -07:00
connect.c URL: allow port specification in ssh:// URLs 2007-09-01 03:35:29 -07:00
convert-objects.c War on whitespace 2007-06-07 00:04:01 -07:00
convert.c Remove unused function convert_sha1_file() 2007-09-03 16:46:23 -07:00
copy.c War on whitespace 2007-06-07 00:04:01 -07:00
COPYING
csum-file.c More static 2007-06-13 02:02:10 -07:00
csum-file.h More static 2007-06-13 02:02:10 -07:00
ctype.c War on whitespace 2007-06-07 00:04:01 -07:00
daemon.c --base-path-relaxed option 2007-08-01 00:37:23 -07:00
date.c Teach approxidate() to understand "never" 2007-07-24 17:28:10 -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 Fix the rename detection limit checking 2007-09-14 12:12:57 -07:00
diff.h diff: squelch empty diffs even more 2007-08-14 22:34:58 -07:00
diffcore-break.c diffcore_count_changes: pass diffcore_filespec 2007-06-30 20:51:31 -07:00
diffcore-delta.c Introduce diff_filespec_is_binary() 2007-07-06 00:21:41 -07:00
diffcore-order.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore-pickaxe.c War on whitespace 2007-06-07 00:04:01 -07:00
diffcore-rename.c Fix the rename detection limit checking 2007-09-14 12:12:57 -07:00
diffcore.h Fix configuration syntax to specify customized hunk header patterns. 2007-07-07 01:49:58 -07:00
dir.c get_relative_cwd(): clarify why it handles dir == NULL 2007-08-01 11:34:13 -07:00
dir.h Add functions get_relative_cwd() and is_inside_dir() 2007-08-01 00:38:30 -07: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 attr.c: read .gitattributes from index as well. 2007-08-14 23:19:10 -07:00
environment.c Merge branch 'cr/tag' 2007-08-10 23:17:46 -07:00
exec_cmd.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
exec_cmd.h Make macros to prevent double-inclusion in headers consistent. 2007-04-29 02:05:11 -07:00
fast-import.c Avoid using va_copy in fast-import: it seems to be unportable. 2007-08-20 21:57:50 -07:00
fetch-pack.h Make fetch-pack a builtin with an internal API 2007-09-19 03:22:30 -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 Hack git-add--interactive to make it work with ActiveState Perl 2007-08-01 17:58:12 -07:00
git-am.sh Make usage documentation for git-am consistent. 2007-08-25 22:35:35 -07:00
git-archimport.perl Make git-archimport log entries more consistent 2007-08-30 19:22:02 -07:00
git-bisect.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-checkout.sh Alter git-checkout reflog message to include "from" branch 2007-07-04 12:56:02 -07:00
git-clean.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-clone.sh git-clone: improve error message if curl program is missing or not executable 2007-09-13 22:39:22 -07:00
git-commit.sh git-commit.sh: Shell script cleanup 2007-09-18 14:58:24 -07:00
git-compat-util.h add memmem() 2007-09-06 22:46:00 -07:00
git-cvsexportcommit.perl cvsexportcommit: avoid racy CVS problem. 2007-07-24 17:28:10 -07:00
git-cvsimport.perl (cvs|svn)import: Ask git-tag to overwrite old tags. 2007-09-07 21:02:39 -07:00
git-cvsserver.perl cvsserver: Fix for work trees 2007-08-08 22:16:46 -07:00
git-filter-branch.sh filter-branch: introduce convenience function "skip_commit" 2007-08-31 23:22:51 -07:00
git-instaweb.sh git-sh-setup.sh: make GIT_DIR absolute 2007-08-13 21:19:48 -07:00
git-lost-found.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-ls-remote.sh Remove useless uses of cat, and replace with filename arguments 2007-07-14 01:07:44 -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 git-merge: do up-to-date check also for all strategies 2007-08-27 23:48:28 -07:00
git-mergetool.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-parse-remote.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-pull.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-quiltimport.sh Remove useless uses of cat, and replace with filename arguments 2007-07-14 01:07:44 -07:00
git-rebase--interactive.sh Avoid one-or-more (\+) non BRE in sed scripts. 2007-09-01 02:35:30 -07:00
git-rebase.sh git-rebase: fix -C option 2007-09-07 21:02:11 -07:00
git-relink.perl
git-remote.perl Teach "git remote" a mirror mode 2007-09-03 03:08:12 -07:00
git-repack.sh Add --window-memory option to git-repack 2007-07-12 14:32:35 -07:00
git-request-pull.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-send-email.perl Merge branch 'maint' 2007-09-18 00:41:43 -07:00
git-sh-setup.sh git-sh-setup: typofix in comments 2007-09-15 16:33:22 -07:00
git-stash.sh stash: end index commit log with a newline 2007-09-12 12:05:56 -07:00
git-submodule.sh git-submodule: re-enable 'status' as the default subcommand 2007-08-17 02:44:09 -07:00
git-svn.perl Merge branch 'lh/svn-first-parent' 2007-09-14 22:37:43 -07:00
git-svnimport.perl git-svnimport: Use separate arguments in the pipe for git-rev-parse 2007-09-18 14:00:20 -07:00
GIT-VERSION-GEN GIT 1.5.3.2 2007-09-19 03:11:28 -07:00
git.c Make fetch a builtin 2007-09-19 03:22:30 -07: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: Fix bug causing undefined variable error when cherry-picking 2007-08-29 22:41:34 +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 index_fd(): pass optional path parameter as hint for blob conversion 2007-02-28 12:00:00 -08:00
help.c War on whitespace 2007-06-07 00:04:01 -07:00
http-push.c Modularize commit-walker 2007-09-19 03:22:30 -07:00
http-walker.c Modularize commit-walker 2007-09-19 03:22:30 -07:00
http.c Make function to refill http queue a callback 2007-09-19 03:22:30 -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 War on whitespace 2007-06-07 00:04:01 -07:00
index-pack.c Use xmkstemp() instead of mkstemp() 2007-08-14 22:20:26 -07:00
INSTALL INSTALL: explain info installation and dependencies. 2007-08-10 23:16:38 -07:00
interpolate.c Lift 16kB limit of log message output 2007-06-13 00:41:21 -07:00
interpolate.h Lift 16kB limit of log message output 2007-06-13 00:41:21 -07:00
list-objects.c rename dirlink to gitlink. 2007-05-21 23:34:54 -07:00
list-objects.h pack-objects: further work on internal rev-list logic. 2006-09-07 02:46:02 -07:00
lockfile.c fully resolve symlinks when creating lockfiles 2007-07-27 00:02:05 -07:00
log-tree.c Add --log-size to git log to print message size 2007-08-14 01:59:33 -07:00
log-tree.h
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
Makefile Make fetch a builtin 2007-09-19 03:22:30 -07:00
match-trees.c War on whitespace 2007-06-07 00:04:01 -07: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 Move make_cache_entry() from merge-recursive.c into read-cache.c 2007-09-12 13:25:07 -07:00
merge-tree.c Future-proof source for changes in xdemitconf_t 2007-07-06 00:22:12 -07:00
mktag.c Rename read_pipe() with read_fd() and make its buffer nul-terminated. 2007-07-18 17:30:03 -07:00
mktree.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08: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 Refactor index-pack "keep $sha1" handling for reuse 2007-09-19 03:22:30 -07:00
pack.h Refactor index-pack "keep $sha1" handling for reuse 2007-09-19 03:22:30 -07:00
pager.c pager: find out pager setting from configuration 2007-08-06 21:10:59 -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 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 connect: display connection progress 2007-05-16 12:48:18 -07:00
pkt-line.c War on whitespace 2007-06-07 00:04:01 -07:00
pkt-line.h
progress.c Fix the progress code to output LF only when it is really needed 2007-05-23 11:30:49 -07:00
progress.h Fix the progress code to output LF only when it is really needed 2007-05-23 11:30:49 -07:00
quote.c Add core.quotepath configuration variable. 2007-06-24 15:11:42 -07:00
quote.h Even more missing static 2007-06-08 02:54:57 -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 'jc/cachetree' into cr/reset 2007-09-14 01:19:30 -07:00
README Update README to point at a few key periodical messages to the list 2007-03-25 17:42:32 -07:00
receive-pack.c Refactor index-pack "keep $sha1" handling for reuse 2007-09-19 03:22:30 -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 Function for updating refs. 2007-09-05 11:29:33 -07:00
refs.h Function for updating refs. 2007-09-05 11:29:33 -07:00
RelNotes GIT 1.5.3.2 2007-09-19 03:11:28 -07:00
remote.c Add matching and parsing for fetch-side refspec rules 2007-09-19 03:22:30 -07:00
remote.h Add matching and parsing for fetch-side refspec rules 2007-09-19 03:22:30 -07:00
revision.c revision walker: --cherry-pick is a limited operation 2007-09-15 16:34:11 -07:00
revision.h Add --log-size to git log to print message size 2007-08-14 01:59:33 -07:00
run-command.c Allow environment variables to be unset in the processes started by run_command 2007-05-23 22:38:44 -07:00
run-command.h Allow environment variables to be unset in the processes started by run_command 2007-05-23 22:38:44 -07:00
send-pack.c Function for updating refs. 2007-09-05 11:29:33 -07:00
server-info.c Fix core.sharedRepository = 2 2007-07-11 13:52:16 -07:00
setup.c Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset 2007-08-10 01:12:07 -07:00
sha1_file.c Don't segfault if we failed to inflate a packed delta 2007-08-25 08:33:47 -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 Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
show-index.c show-index.c: learn about index v2 2007-04-10 12:48:14 -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
strbuf.c War on whitespace 2007-06-07 00:04:01 -07:00
strbuf.h
symlinks.c Add has_symlink_leading_path() function. 2007-05-11 22:11:07 -07:00
tag.c Merge branch 'maint-1.5.1' into maint 2007-05-28 23:54:26 -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-sha1.c
test-sha1.sh
trace.c git-branch, git-checkout: autosetup for remote branch tracking 2007-03-10 23:41:58 -08:00
transport.c Simplify fetch transport API to just one function 2007-09-19 03:22:30 -07:00
transport.h Simplify fetch transport API to just one function 2007-09-19 03:22:30 -07:00
tree-diff.c Fix up "git log --follow" a bit.. 2007-06-22 23:37:21 -07: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 Optimize the three-way merge of git-read-tree 2007-08-10 23:02:14 -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 Even more missing static 2007-06-08 02:54:57 -07:00
usage.c Rename warn() to warning() to fix symbol conflicts on BSD and Mac OS 2007-03-31 01:11:11 -07:00
utf8.c wcwidth redeclaration 2007-05-07 22:02:40 -07: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 Modularize commit-walker 2007-09-19 03:22:30 -07: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 Fix the rename detection limit checking 2007-09-14 12:12:57 -07: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 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.