1
0
mirror of https://github.com/git/git synced 2024-07-05 00:58:49 +00:00
Go to file
Andy Parkins c23290d528 Fix mishandling of $Id$ expanded in the repository copy in convert.c
If the repository contained an expanded ident keyword (i.e. $Id:XXXX$),
then the wrong bytes were discarded, and the Id keyword was not
expanded.  The fault was in convert.c:ident_to_worktree().

Previously, when a "$Id:" was found in the repository version,
ident_to_worktree() would search for the next "$" after this, and
discarded everything it found until then.  That was done with the loop:

    do {
        ch = *cp++;
        if (ch == '$')
            break;
        rem--;
    } while (rem);

The above loop left cp pointing one character _after_ the final "$"
(because of ch = *cp++).  This was different from the non-expanded case,
were cp is left pointing at the "$", and was different from the comment
which stated "discard up to but not including the closing $".  This
patch fixes that by making the loop:

    do {
        ch = *cp;
        if (ch == '$')
            break;
        cp++;
        rem--;
    } while (rem);

That is, cp is tested _then_ incremented.

This loop exits if it finds a "$" or if it runs out of bytes in the
source.  After this loop, if there was no closing "$" the expansion is
skipped, and the outer loop is allowed to continue leaving this
non-keyword as it was.  However, when the "$" is found, size is
corrected, before running the expansion:

    size -= (cp - src);

This is wrong; size is going to be corrected anyway after the expansion,
so there is no need to do it here.  This patch removes that redundant
correction.

To help find this bug, I heavily commented the routine; those comments
are included here as a bonus.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-05-26 01:12:43 -07:00
arm Fix an unmatched comment end in arm/sha1_arm.S 2007-05-12 09:16:50 -07:00
compat Add a compat/strtoumax.c for Solaris 8. 2007-02-19 18:20:30 -08:00
contrib Update bash completion for git-config options 2007-05-24 02:07:45 -04:00
Documentation Merge branch 'maint-1.5.1' into maint 2007-05-23 22:34:11 -07:00
git-gui Merge branch 'master' of git://repo.or.cz/git-gui 2007-05-17 16:52:45 -07:00
gitweb gitweb: Fix "Use of uninitialized value" warning in git_feed 2007-05-18 19:49:45 -07:00
mozilla-sha1 Fix constness of input in mozilla-sha1/sha1.c::SHA1_Update(). 2005-11-01 14:05:12 -08:00
perl Git.pm: config_boolean() -> config_bool() 2007-05-10 14:13:29 -07:00
ppc Assorted typo fixes 2007-02-03 21:49:54 -08:00
t Fix possible coredump with fast-import --import-marks 2007-05-24 00:50:19 -04:00
templates Have sample update hook not refuse deleting a branch through push. 2007-04-16 01:35:39 -07:00
xdiff xdiff/xutils.c(xdl_hash_record): factor out whitespace handling 2007-03-19 22:17:25 -07:00
.gitignore git-gui: Refactor into multiple files to save my sanity 2007-05-07 23:35:48 -04:00
.mailmap .mailmap: add some aliases 2007-05-10 13:26:26 -07:00
alloc.c Clean up object creation to use more common code 2007-04-16 23:36:16 -07:00
archive-tar.c git-archive: convert archive entries like checkouts do 2007-05-18 16:36:45 -07:00
archive-zip.c git-archive: convert archive entries like checkouts do 2007-05-18 16:36:45 -07:00
archive.h Remove unsupported C99 style struct initializers in git-archive. 2006-11-04 23:48:36 -08:00
attr.c Fix crash in t0020 (crlf conversion) 2007-04-22 10:44:56 -07:00
attr.h Fix funny types used in attribute value representation 2007-04-18 16:17:13 -07:00
base85.c (encode_85, decode_85): Mark source buffer pointer as "const". 2007-04-11 00:51:20 -07:00
blob.c Clean up object creation to use more common code 2007-04-16 23:36:16 -07:00
blob.h [PATCH] Anal retentive 'const unsigned char *sha1' 2005-06-08 13:04:53 -07:00
builtin-add.c git-add: allow path limiting with -u 2007-05-12 01:01:28 -07:00
builtin-annotate.c annotate: fix for cvsserver. 2007-02-06 01:52:04 -08:00
builtin-apply.c Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
builtin-archive.c git-archive: make tar the default format 2007-04-09 18:51:40 -07:00
builtin-blame.c Merge branch 'maint' 2007-05-06 00:21:03 -07:00
builtin-branch.c branch: fix segfault when resolving an invalid HEAD 2007-05-20 14:39:16 -07:00
builtin-bundle.c Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
builtin-cat-file.c Cleanup variables in cat-file 2007-04-22 00:43:24 -07:00
builtin-check-attr.c Fix funny types used in attribute value representation 2007-04-18 16:17:13 -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 _GIT_INDEX_OUTPUT: allow plumbing to output to an alternative index file. 2007-04-03 23:44:32 -07:00
builtin-commit-tree.c init_buffer(): Kill buf pointer 2007-04-25 13:45:12 -07:00
builtin-config.c Update git-config documentation 2007-04-18 22:08:16 -07:00
builtin-count-objects.c get rid of num_packed_objects() 2007-04-10 12:48:14 -07:00
builtin-describe.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08: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 Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -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 Diff between two blobs should take mode changes into account now. 2007-04-24 00:08:49 -07:00
builtin-fetch--tool.c Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
builtin-fmt-merge-msg.c Merge branch 'maint' 2007-02-27 22:15:42 -08:00
builtin-for-each-ref.c General const correctness fixes 2007-03-07 10:47:10 -08:00
builtin-fsck.c Merge branch 'maint' 2007-04-29 01:52:43 -07:00
builtin-gc.c Make gc a builtin. 2007-03-17 00:34:19 -07:00
builtin-grep.c sscanf/strtoul: parse integers robustly 2007-04-14 19:47:20 -07:00
builtin-init-db.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-log.c Merge branch 'maint' 2007-05-14 18:50:01 -07:00
builtin-ls-files.c Fix some "git ls-files -o" fallout from gitlinks 2007-04-14 17:42:58 -07:00
builtin-ls-tree.c Teach core object handling functions about gitlinks 2007-04-10 13:50:43 -07:00
builtin-mailinfo.c git-mailinfo fixes for patch munging 2007-03-31 00:59:19 -07:00
builtin-mailsplit.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-merge-base.c Make merge-base a built-in. 2007-01-09 17:57:03 -08:00
builtin-merge-file.c move read_mmfile() into xdiff-interface 2006-12-21 23:10:14 -08:00
builtin-mv.c Merge branch 'jc/index-output' 2007-04-07 02:26:24 -07:00
builtin-name-rev.c name-rev: tolerate clock skew in committer dates 2007-05-24 13:36:54 -07:00
builtin-pack-objects.c Increase pack.depth default to 50 2007-05-08 22:47:17 -07:00
builtin-pack-refs.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08: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 git-push to multiple locations does not stop at the first failure 2007-04-07 02:27:31 -07:00
builtin-read-tree.c Merge branch 'jc/read-tree-df' (early part) 2007-04-07 23:52:40 -07:00
builtin-reflog.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
builtin-rerere.c rerere: make sorting really stable. 2007-04-04 14:12:03 -07:00
builtin-rev-list.c Add --date={local,relative,default} 2007-04-25 21:39:43 -07:00
builtin-rev-parse.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
builtin-revert.c Correct error message in revert/cherry-pick 2007-05-10 15:21:50 -07:00
builtin-rm.c Add --ignore-unmatch option to exit with zero status when no files are removed. 2007-04-17 00:19:11 -07:00
builtin-runstatus.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-shortlog.c Remove pointless calls to access(2) when checking for .mailmap 2007-04-30 16:57:52 -07:00
builtin-show-branch.c General const correctness fixes 2007-03-07 10:47:10 -08:00
builtin-show-ref.c Merge branch 'maint' 2007-02-24 01:42:06 -08:00
builtin-stripspace.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-symbolic-ref.c add logref support to git-symbolic-ref 2007-01-28 02:16:46 -08: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 Merge branch 'lt/gitlink' 2007-04-21 17:21:10 -07:00
builtin-update-ref.c lock_any_ref_for_update(): do not accept malformatted refs. 2007-01-29 00:57:07 -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 Merge branch 'maint' 2007-04-25 23:31:45 -07:00
builtin.h Add basic infrastructure to assign attributes to paths 2007-04-14 08:57:06 -07:00
cache-tree.c Teach core object handling functions about gitlinks 2007-04-10 13:50:43 -07:00
cache-tree.h write-tree: --prefix=<path> 2006-05-01 22:29:16 -07:00
cache.h git-archive: convert archive entries like checkouts do 2007-05-18 16:36:45 -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 Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
commit.c Merge branch 'maint' 2007-05-16 12:43:05 -07:00
commit.h Add --date={local,relative,default} 2007-04-25 21:39:43 -07:00
config.c git-config: do not forget seeing "a.b.var" means we are out of "a.var" section. 2007-05-13 00:19:58 -07:00
config.mak.in Add --with-tcltk and --without-tcltk to configure. 2007-03-31 23:59:47 -07:00
configure.ac Eliminate checks of user-specified Tcl/Tk interpreter. 2007-03-31 23:59:47 -07:00
connect.c Fix "getaddrinfo()" buglet 2007-03-27 13:00:13 -07:00
convert-objects.c fix up strtoul_ui error handling 2007-04-18 19:26:33 -07:00
convert.c Fix mishandling of $Id$ expanded in the repository copy in convert.c 2007-05-26 01:12:43 -07:00
copy.c Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
COPYING Add a COPYING notice, making it explicit that the license is GPLv2. 2005-04-11 10:18:16 -07:00
csum-file.c compute a CRC32 for each object as stored in a pack 2007-04-10 12:48:14 -07:00
csum-file.h compute a CRC32 for each object as stored in a pack 2007-04-10 12:48:14 -07:00
ctype.c Unlocalized isspace and friends 2005-10-14 17:17:27 -07:00
daemon.c git-daemon: don't ignore pid-file write failure 2007-05-21 18:34:14 -07:00
date.c Add --date={local,relative,default} 2007-04-25 21:39:43 -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 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 Merge branch 'lt/gitlink' 2007-04-21 17:21:10 -07:00
diff.c Merge branch 'maint-1.5.1' into maint 2007-05-20 19:57:00 -07:00
diff.h Support 'diff=pgm' attribute 2007-04-22 22:16:14 -07:00
diffcore-break.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08: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 Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore-pickaxe.c diff -S: release the image after looking for needle in it 2007-05-07 15:54:32 -07:00
diffcore-rename.c diff -M: release the preimage candidate blobs after rename detection. 2007-05-07 15:54:32 -07:00
diffcore.h Make macros to prevent double-inclusion in headers consistent. 2007-04-29 02:05:11 -07:00
dir.c dir.c: Omit non-excluded directories with dir->show_ignored 2007-05-07 15:29:29 -07:00
dir.h Teach directory traversal about subprojects 2007-04-11 19:09:55 -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 entry.c: Use const qualifier for 'struct checkout' parameters 2007-04-25 13:15:59 -07:00
environment.c Limit the size of the new delta_base_cache 2007-03-18 22:43:37 -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 Fix possible coredump with fast-import --import-marks 2007-05-24 00:50:19 -04:00
fetch-pack.c Merge branch 'js/fetch-progress' (early part) 2007-03-04 17:31:21 -08:00
fetch.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
fetch.h Teach git-local-fetch the --stdin switch 2006-07-27 19:33:48 -07: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 -i: update removed path correctly. 2007-02-07 10:56:38 -08:00
git-am.sh Fix typo in git-am: s/Was is/Was it/ 2007-04-23 22:14:24 -07:00
git-applymbox.sh applymbox & quiltimport: typofix. 2007-04-24 14:27:41 -07:00
git-applypatch.sh Fix more typos, primarily in the code 2006-07-10 00:36:44 -07:00
git-archimport.perl git-archimport: allow remapping branch names 2007-03-07 10:30:22 -08:00
git-bisect.sh Bisect: simplify "bisect start" logging. 2007-04-16 21:44:40 -07:00
git-checkout.sh checkout: allow detaching to HEAD even when switching to the tip of a branch 2007-05-12 12:35:54 -07:00
git-clean.sh Add clean.requireForce option, and add -f option to git-clean to override it 2007-04-23 22:13:50 -07:00
git-clone.sh Fix git-clone buglet for remote case. 2007-05-14 14:24:02 -07:00
git-commit.sh Display the subject of the commit just made. 2007-04-16 01:06:00 -07:00
git-compat-util.h Merge branch 'maint' 2007-05-16 12:43:05 -07:00
git-cvsexportcommit.perl Optimized cvsexportcommit: calling 'cvs status' once instead of once per touched file. 2007-05-14 19:18:55 -07:00
git-cvsimport.perl Use git-for-each-ref to check whether the origin branch exists. 2007-05-23 11:06:38 -07:00
git-cvsserver.perl git-cvsserver: fix disabling service via per-method config 2007-05-21 18:42:57 -07:00
git-fetch.sh git-fetch: Fix "argument list too long" 2007-04-24 00:08:01 -07:00
git-instaweb.sh [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-lost-found.sh Fix lost-found to show commits only referenced by reflogs 2007-04-05 15:00:03 -07:00
git-ls-remote.sh Add git-bundle: move objects and references by archive 2007-02-22 22:30:33 -08:00
git-merge-octopus.sh read-tree --aggressive 2006-02-06 21:43:27 -08:00
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 Use diff* with --exit-code in git-am, git-rebase and git-merge-ours 2007-03-24 23:01:36 -07:00
git-merge-resolve.sh Assorted typo fixes 2007-02-03 21:49:54 -08:00
git-merge-stupid.sh Use Daniel's read-tree in the merge strategy 'resolve'. 2005-09-10 18:30:41 -07:00
git-merge.sh A new merge stragety 'subtree'. 2007-04-07 02:29:40 -07:00
git-mergetool.sh mergetool: Clean up description of files and prompts for merge resolutions 2007-03-29 22:46:16 -04:00
git-p4import.py [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-parse-remote.sh Allow fetching references from any namespace 2007-05-12 09:36:06 -07:00
git-pull.sh git-pull: disallow implicit merging to detached HEAD 2007-01-15 15:37:22 -08:00
git-quiltimport.sh applymbox & quiltimport: typofix. 2007-04-24 14:27:41 -07:00
git-rebase.sh Use rev-list --reverse in git-rebase.sh 2007-04-13 19:06:40 -07:00
git-relink.perl Big tool rename. 2005-09-07 17:45:20 -07:00
git-remote.perl Git.pm: config_boolean() -> config_bool() 2007-05-10 14:13:29 -07:00
git-repack.sh [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-request-pull.sh Improve request-pull to handle non-rebased branches 2007-05-03 23:27:03 -07:00
git-reset.sh add file checkout progress 2007-04-23 21:39:28 -07:00
git-send-email.perl Merge branch 'maint' 2007-05-17 17:36:57 -07:00
git-sh-setup.sh Commands requiring a work tree must not run in GIT_DIR 2007-02-05 14:02:16 -08:00
git-svn.perl git-svn: don't minimize-url when doing an init that tracks multiple paths 2007-05-19 12:28:50 -07: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 Fix git-tag -u 2007-01-30 21:03:11 -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 1.5.2 2007-05-20 00:30:39 -07:00
git.c Merge branch 'maint-1.5.1' into maint 2007-05-20 19:57:00 -07:00
git.spec.in Merge branch 'maint' 2007-05-13 13:34:40 -07:00
gitk gitk: Allow user to choose whether to see the diff, old file, or new file 2007-04-19 11:39:12 +10: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 index_fd(): pass optional path parameter as hint for blob conversion 2007-02-28 12:00:00 -08:00
help.c use xrealloc in help.c 2007-03-27 16:57:57 -07:00
http-fetch.c Fix lseek(2) calls with args 2 and 3 swapped 2007-04-05 15:39:12 -07:00
http-push.c Fix lseek(2) calls with args 2 and 3 swapped 2007-04-05 15:39:12 -07:00
http.c http.c: Fix problem with repeated calls of http_init 2007-04-29 01:34:59 -07:00
http.h http-fetch: Disable use of curl multi support for libcurl < 7.16. 2007-05-03 22:12:40 -07:00
ident.c Fall back to $EMAIL for missing GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL 2007-04-29 02:05:06 -07:00
imap-send.c Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
index-pack.c Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
INSTALL use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
interpolate.c General const correctness fixes 2007-03-07 10:47:10 -08:00
interpolate.h General const correctness fixes 2007-03-07 10:47:10 -08:00
list-objects.c Teach git list-objects logic to not follow gitlinks 2007-04-14 03:14:14 -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 [PATCH] local-fetch.c: some error printing cleanup 2007-03-16 21:27:35 -07:00
lockfile.c lockfile: record the primary process. 2007-04-21 11:55:23 -07:00
log-tree.c Merge branch 'maint' 2007-05-06 00:21:03 -07:00
log-tree.h Add msg_sep to diff_options 2006-06-26 14:58:41 -07:00
mailmap.c Include mailmap.h in mailmap.c to catch mailmap interface changes 2007-04-30 16:57:59 -07:00
mailmap.h Split out mailmap handling out of shortlog 2007-04-29 02:05:06 -07:00
Makefile git-gui: Gracefully handle bad TCL_PATH at compile time 2007-05-17 18:10:26 -04:00
match-trees.c A new merge stragety 'subtree'. 2007-04-07 02:29:40 -07:00
merge-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
merge-index.c Fix merge-index 2007-03-19 02:48:37 -07:00
merge-recursive.c Ignore merged status of the file-level merge 2007-04-26 16:11:39 -07:00
merge-tree.c Remove "pathlen" from "struct name_entry" 2007-03-21 10:21:56 -07:00
mktag.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
mktree.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
object-refs.c Add a generic "object decorator" interface, and make object refs use it 2007-04-16 16:51:09 -07:00
object.c Merge branch 'maint-1.5.1' into maint 2007-05-24 19:01:50 -07:00
object.h add add_object_array_with_mode 2007-04-24 00:08:49 -07:00
pack-check.c get rid of num_packed_objects() 2007-04-10 12:48:14 -07:00
pack-redundant.c pack-redundant.c: learn about index v2 2007-04-10 12:48:14 -07:00
pack-write.c Fix signedness on return value from xread() 2007-05-15 21:15:54 -07:00
pack.h Create pack-write.c for common pack writing code 2007-05-02 13:24:18 -04:00
pager.c pager: Work around window resizing bug in 'less' 2007-02-05 15:42:36 -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 Convert memcpy(a,b,20) to hashcpy(a,b). 2006-08-23 13:53:10 -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 simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
path-list.h Make macros to prevent double-inclusion in headers consistent. 2007-04-29 02:05:11 -07:00
path.c General const correctness fixes 2007-03-07 10:47:10 -08:00
peek-remote.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
pkt-line.c Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
pkt-line.h Fix pkt-line.h to compile with a non-GCC compiler 2006-06-26 02:11:53 -07:00
progress.c provide a facility for "delayed" progress reporting 2007-04-22 22:18:05 -07:00
progress.h Make macros to prevent double-inclusion in headers consistent. 2007-04-29 02:05:11 -07:00
quote.c Teach for-each-ref about a little language called Tcl. 2007-01-28 13:00:26 -08:00
quote.h Teach for-each-ref about a little language called Tcl. 2007-01-28 13:00:26 -08:00
reachable.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
reachable.h Move traversal of reachable objects into a separate library. 2007-01-06 22:57:34 -08:00
read-cache.c read_cache_from(): small simplification 2007-04-25 13:44:27 -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 Use run_command within receive-pack to invoke index-pack 2007-03-12 23:40:18 -07:00
reflog-walk.c log --reflog: use dwim_log 2007-02-08 17:48:22 -08:00
reflog-walk.h log --reflog: honour --relative-date 2007-02-08 16:20:52 -08:00
refs.c Merge branch 'lt/gitlink' 2007-04-21 17:21:10 -07:00
refs.h Add 'resolve_gitlink_ref()' helper function 2007-04-10 13:44:16 -07:00
RelNotes GIT 1.5.1.6 2007-05-20 00:15:53 -07:00
revision.c Handle return code of parse_commit in revision machinery 2007-05-06 00:07:07 -07:00
revision.h Handle return code of parse_commit in revision machinery 2007-05-06 00:07:07 -07:00
rsh.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
rsh.h git-ssh-push/pull: usability improvements 2005-06-07 14:23:46 -07:00
run-command.c Teach run-command to redirect stdout to /dev/null 2007-03-12 23:40:17 -07:00
run-command.h Teach run-command to redirect stdout to /dev/null 2007-03-12 23:40:17 -07:00
send-pack.c Use run_command within send-pack 2007-03-12 23:40:18 -07:00
server-info.c Don't coredump on bad refs in update-server-info. 2007-01-31 13:09:58 -08:00
setup.c Merge branch 'maint' 2007-03-10 22:07:26 -08:00
sha1_file.c Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
sha1_name.c add get_sha1_with_mode 2007-04-24 00:08:49 -07:00
shallow.c is_repository_shallow(): prototype fix. 2007-01-21 22:22:23 -08: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
ssh-fetch.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
ssh-pull.c Be more backward compatible with git-ssh-{push,pull}. 2005-09-15 14:56:37 -07:00
ssh-push.c Be more backward compatible with git-ssh-{push,pull}. 2005-09-15 14:56:37 -07:00
ssh-upload.c Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
strbuf.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
strbuf.h [PATCH] Kill a bunch of pointer sign warnings for gcc4 2005-05-18 08:44:23 -07:00
symlinks.c Add has_symlink_leading_path() function. 2007-05-11 22:11:07 -07:00
tag.c Clean up object creation to use more common code 2007-04-16 23:36:16 -07:00
tag.h Be careful when dereferencing tags. 2005-11-02 16:50:58 -08:00
tar.h tar-tree: Introduce write_entry() 2006-03-25 16:35:43 -08: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: 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 git-branch, git-checkout: autosetup for remote branch tracking 2007-03-10 23:41:58 -08:00
tree-diff.c tree_entry_interesting(): allow it to say "everything is interesting" 2007-03-22 00:36:00 -07:00
tree-walk.c Switch over tree descriptors to contain a pre-parsed entry 2007-03-21 11:15:26 -07:00
tree-walk.h Remove stale non-static-inline prototype for tree_entry_extract() 2007-05-13 11:57:00 -07:00
tree.c Merge branch 'lt/objalloc' 2007-04-21 17:42:02 -07:00
tree.h Remove last vestiges of generic tree_entry_list 2006-05-29 19:08:37 -07:00
unpack-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
unpack-trees.c Merge branch 'maint-1.5.1' into maint 2007-05-20 19:57:00 -07:00
unpack-trees.h unpack-trees: get rid of *indpos parameter. 2007-04-04 00:19:28 -07:00
update-server-info.c Make the rest of commands work from a subdirectory. 2005-11-28 23:13:02 -08:00
upload-pack.c git-upload-pack: make sure we close unused pipe ends 2007-03-29 01:41:23 -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 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 Merge branch 'maint-1.5.1' into maint 2007-05-21 18:42:35 -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 Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -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.

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.