Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Steffen Prohaska 605b4978a1 refactor fetch's ref matching to use refname_match()
The old rules used by fetch were coded as a series of ifs.  The old
rules are:
1) match full refname if it starts with "refs/" or matches "HEAD"
2) verify that full refname starts with "refs/"
3) match abbreviated name in "refs/" if it starts with "heads/",
    "tags/", or "remotes/".
4) match abbreviated name in "refs/heads/"

This is replaced by the new rules
a) match full refname
b) match abbreviated name prefixed with "refs/"
c) match abbreviated name prefixed with "refs/heads/"

The details of the new rules are different from the old rules.  We no
longer verify that the full refname starts with "refs/".  The new rule
(a) matches any full string.  The old rules (1) and (2) were stricter.
Now, the caller is responsible for using sensible full refnames.  This
should be the case for the current code.  The new rule (b) is less
strict than old rule (3).  The new rule accepts abbreviated names that
start with a non-standard prefix below "refs/".

Despite this modifications the new rules should handle all cases as
expected.  Two tests are added to verify that fetch does not resolve
short tags or HEAD in remotes.

We may even think about loosening the rules a bit more and unify them
with the rev-parse rules.  This would be done by replacing
ref_ref_fetch_rules with ref_ref_parse_rules.  Note, the two new test
would break.

Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-18 18:39:01 -08:00
arm War on whitespace 2007-06-07 00:04:01 -07:00
compat Simplify strchrnul() compat code 2007-11-11 12:10:35 -08:00
contrib git-p4: Fix direct import from perforce after fetching changes through git from origin 2007-11-16 01:32:59 -08:00
Documentation push: use same rules as git-rev-parse to resolve refspecs 2007-11-18 18:39:01 -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 refactor fetch's ref matching to use refname_match() 2007-11-18 18:39:01 -08:00
templates hooks--update: decline deleting tags or branches by default, add config options 2007-11-08 14:17:32 -08:00
xdiff Remove unreachable statements 2007-11-15 21:23:47 -08: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
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 core.excludesfile clean-up 2007-11-16 17:05:02 -08:00
builtin-annotate.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-apply.c Remove unreachable statements 2007-11-15 21:23:47 -08:00
builtin-archive.c Merge branch 'js/forkexec' 2007-11-01 13:47:47 -07:00
builtin-blame.c Make the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08:00
builtin-branch.c Use OPT_SET_INT and OPT_BIT in builtin-branch 2007-11-11 16:54:15 -08: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 Make the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08:00
builtin-diff-index.c Make the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08:00
builtin-diff-tree.c Make the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08:00
builtin-diff.c Make the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08:00
builtin-fetch--tool.c Add strchrnul() 2007-11-09 01:30:07 -08:00
builtin-fetch-pack.c restore fetching with thin-pack capability 2007-11-07 16:19:07 -08:00
builtin-fetch.c Merge branch 'sp/fetch-fix' 2007-11-14 14:26:04 -08:00
builtin-fmt-merge-msg.c Fix parent rewriting in --early-output 2007-11-14 03:59:37 -08:00
builtin-for-each-ref.c Merge branch 'ph/diffopts' 2007-11-18 15:50:16 -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 -An -Bm: fix invocation of external grep command 2007-11-17 21:19:55 -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 Merge branch 'lt/rev-list-interactive' 2007-11-18 16:03:24 -08:00
builtin-ls-files.c git-ls-files: add --exclude-standard 2007-11-15 22:24:10 -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 Fix rev-list when showing objects involving submodules 2007-11-14 03:44:22 -08:00
builtin-pack-refs.c Use OPT_BIT in builtin-pack-refs 2007-11-11 16:54:15 -08: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: support pushing HEAD to real branch name 2007-11-18 18:39:00 -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 Merge branch 'lt/rev-list-interactive' 2007-11-18 16:03:24 -08:00
builtin-rev-parse.c git-rev-parse --parseopt 2007-11-06 12:23:14 -08:00
builtin-revert.c Merge branch 'maint' 2007-11-14 03:37:18 -08: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 Merge branch 'mh/retag' 2007-11-14 14:06:09 -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 refactor fetch's ref matching to use refname_match() 2007-11-18 18:39:01 -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 ce_match_stat, run_diff_files: use symbolic constants for readability 2007-11-10 00:24:51 -08:00
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 Make the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08:00
commit.c Merge branch 'lt/rev-list-interactive' 2007-11-18 16:03:24 -08:00
commit.h revision walker: mini clean-up 2007-11-05 18:19:28 -08:00
config.c core.excludesfile clean-up 2007-11-16 17:05:02 -08: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
COPYING
csum-file.c remove dead code from the csum-file interface 2007-11-05 12:55:33 -08:00
csum-file.h remove dead code from the csum-file interface 2007-11-05 12:55:33 -08: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 Merge branch 'ph/diffopts' 2007-11-18 15:50:16 -08:00
diff.c Reorder diff_opt_parse options more logically per topics. 2007-11-11 16:54:15 -08:00
diff.h Merge branch 'ph/diffopts' 2007-11-18 15:50:16 -08: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 Fix per-directory exclude handing for "git add" 2007-11-16 17:05:13 -08:00
dir.h core.excludesfile clean-up 2007-11-16 17:05:02 -08:00
dump-cache-tree.c
entry.c Merge branch 'jc/maint-add-sync-stat' 2007-11-14 14:15:40 -08:00
environment.c core.excludesfile clean-up 2007-11-16 17:05:02 -08: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 Merge branch 'maint' 2007-11-14 03:37:18 -08: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-ls-files: add --exclude-standard 2007-11-15 22:24:10 -08:00
git-am.sh git-am: -i does not take a string parameter. 2007-11-08 23:11:10 -08:00
git-archimport.perl Make git-archimport log entries more consistent 2007-08-30 19:22:02 -07:00
git-bisect.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-checkout.sh Merge branch 'ds/checkout-upper' 2007-11-18 16:04:17 -08:00
git-clean.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-clone.sh sh-setup: don't let eval output to be shell-expanded. 2007-11-08 01:49:01 -08:00
git-commit.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-compat-util.h Merge branch 'ph/diffopts' 2007-11-18 15:50:16 -08:00
git-cvsexportcommit.perl cvsexportcommit: Add switch to specify CVS workdir 2007-11-01 17:19:36 -07:00
git-cvsimport.perl git-cvsimport: fix handling of user name when it is not set in CVSROOT 2007-11-09 01:23:40 -08: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 scripts: Add placeholders for OPTIONS_SPEC 2007-11-06 01:50:02 -08:00
git-instaweb.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-lost-found.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -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 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-mergetool.sh scripts: Add placeholders for OPTIONS_SPEC 2007-11-06 01:50:02 -08:00
git-parse-remote.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-pull.sh scripts: Add placeholders for OPTIONS_SPEC 2007-11-06 01:50:02 -08:00
git-quiltimport.sh git-quiltimport.sh fix --patches handling 2007-11-12 18:34:19 -08:00
git-rebase--interactive.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-rebase.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-relink.perl
git-remote.perl Merge branch 'maint' 2007-10-26 23:17:23 -07:00
git-repack.sh Migrate git-repack.sh to use git-rev-parse --parseopt 2007-11-05 22:48:13 -08:00
git-request-pull.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-send-email.perl Merge branch 'maint' 2007-11-16 21:30:06 -08:00
git-sh-setup.sh sh-setup: don't let eval output to be shell-expanded. 2007-11-08 01:49:01 -08:00
git-stash.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-submodule.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-svn.perl git-svn: Fix a typo and add a comma in an error message in git-svn 2007-11-17 13:39:47 -08:00
GIT-VERSION-GEN GIT 1.5.3.6 2007-11-18 14:00:38 -08:00
git.c Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -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 'np/progress' 2007-11-14 14:04:19 -08:00
INSTALL Mention 'cpio' dependency in INSTALL 2007-10-02 17:35:29 -07: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 Make the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08: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
Makefile Use compat mkdtemp() on Solaris boxes 2007-11-18 09:45:20 -08: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 the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08: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 new features. 2007-11-11 16:54:15 -08:00
parse-options.h parse-options new features. 2007-11-11 16:54:15 -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 Make the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08: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 Fix pkt-line.h to compile with a non-GCC compiler 2006-06-26 02:11:53 -07:00
pretty.c --format=pretty: avoid calculating expensive expansions twice 2007-11-11 02:04:46 -08:00
progress.c nicer display of thin pack completion 2007-11-08 15:43:41 -08:00
progress.h nicer display of thin pack completion 2007-11-08 15:43:41 -08: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 'jc/maint-add-sync-stat' 2007-11-14 14:15:40 -08: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 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 refactor fetch's ref matching to use refname_match() 2007-11-18 18:39:01 -08:00
refs.h refs.c: Remove unused get_ref_sha1() 2007-11-15 21:16:51 -08:00
RelNotes Start preparing for 1.5.3.6 2007-11-09 00:17:52 -08:00
remote.c refactor fetch's ref matching to use refname_match() 2007-11-18 18:39:01 -08:00
remote.h git-fetch: do not fail when remote branch disappears 2007-10-28 14:06:39 -07:00
revision.c Merge branch 'lt/rev-list-gitlink' 2007-11-18 16:16:37 -08:00
revision.h Fix parent rewriting in --early-output 2007-11-14 03:59:37 -08: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 add refname_match() 2007-11-18 18:39:00 -08: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 sideband.c: ESC is spelled '\033' not '\e' for portability. 2007-11-05 12:53:14 -08:00
sideband.h atomic write for sideband remote messages 2006-10-11 11:13:01 -07:00
strbuf.c Merge branch 'rs/pretty' 2007-11-14 14:03:50 -08:00
strbuf.h add strbuf_adddup() 2007-11-11 02:04:46 -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: test hashing large buffer 2006-06-24 02:59:20 -07:00
test-sha1.sh
trace.c Handle broken vsnprintf implementations in strbuf 2007-11-14 02:00:13 -08: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 Make the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08:00
tree-walk.c War on whitespace 2007-06-07 00:04:01 -07:00
tree-walk.h Fix rev-list when showing objects involving submodules 2007-11-14 03:44:22 -08: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 Merge branch 'jc/maint-add-sync-stat' 2007-11-14 14:15:40 -08: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 Remove unreachable statements 2007-11-15 21:23:47 -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 core.excludesfile clean-up 2007-11-16 17:05:02 -08: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.