Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Jeff King 7c2b3029df make get_short_ref a public function
Often we want to shorten a full ref name to something "prettier"
to show a user. For example, "refs/heads/master" is often shown
simply as "master", or "refs/remotes/origin/master" is shown as
"origin/master".

Many places in the code use a very simple formula: skip common
prefixes like refs/heads, refs/remotes, etc. This is codified in
the prettify_ref function.

for-each-ref has a more correct (but more expensive) approach:
consider the ref lookup rules, and try shortening as much as
possible while remaining unambiguous.

This patch makes the latter strategy globally available as
shorten_unambiguous_ref.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-04-07 23:22:15 -07:00
arm
compat MinGW: Quote arguments for subprocesses that contain a single-quote 2009-03-24 14:42:59 -07:00
contrib bash completion: Update 'git am' options 2009-04-05 12:04:22 -07:00
Documentation for-each-ref: add "upstream" format field 2009-04-07 23:22:15 -07:00
git-gui
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2009-03-01 22:20:52 -08:00
gitweb gitweb: Hyperlink multiple git hashes on the same commit message line 2009-02-19 22:49:55 -08:00
mozilla-sha1
perl Merge branch 'pb/maint-git-pm-false-dir' into maint 2009-01-23 19:02:41 -08:00
ppc
t for-each-ref: add "upstream" format field 2009-04-07 23:22:15 -07:00
templates Modify description file to say what this file is 2009-03-04 00:56:52 -08:00
xdiff Fix various dead stores found by the clang static analyzer 2009-03-15 18:25:24 -07:00
.gitattributes
.gitignore Revert "Merge branch 'js/notes'" 2009-02-10 21:32:10 -08:00
.mailmap
abspath.c
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c archive: use parseopt for local-only options 2009-03-08 13:37:21 -07:00
archive.h
attr.c Read attributes from the index that is being checked out 2009-03-13 22:51:43 -07:00
attr.h Read attributes from the index that is being checked out 2009-03-13 22:51:43 -07:00
base85.c
blob.c
blob.h
branch.c strbuf_check_branch_ref(): a helper to check a refname for a branch 2009-03-22 23:52:11 -07:00
branch.h Make git-clone respect branch.autosetuprebase 2009-03-03 22:58:52 -08:00
builtin-add.c Merge branch 'mv/parseopt-ls-files' 2009-03-20 14:30:51 -07:00
builtin-annotate.c
builtin-apply.c builtin-apply: use warning() instead of fprintf(stderr, "warning: ") 2009-03-23 21:02:25 -07:00
builtin-archive.c recv_sideband: Bands #2 and #3 always go to stderr 2009-03-10 23:23:02 -07:00
builtin-blame.c Merge branch 'jc/maint-1.6.0-blame-s' into maint 2009-04-02 12:14:37 -07:00
builtin-branch.c Merge branch 'jc/name-branch' 2009-04-06 00:43:44 -07:00
builtin-bundle.c
builtin-cat-file.c remove trailing LF in die() messages 2009-01-05 13:01:01 -08:00
builtin-check-attr.c
builtin-check-ref-format.c strbuf_check_branch_ref(): a helper to check a refname for a branch 2009-03-22 23:52:11 -07:00
builtin-checkout-index.c
builtin-checkout.c Merge branch 'jc/name-branch' 2009-04-06 00:43:44 -07:00
builtin-clean.c Turn the flags in struct dir_struct into a single variable 2009-02-18 11:04:19 -08:00
builtin-clone.c builtin-clone.c: no need to strdup for setenv 2009-04-01 08:58:55 -07:00
builtin-commit-tree.c
builtin-commit.c Merge branch 'maint-1.6.1' into maint 2009-04-05 01:04:54 -07:00
builtin-config.c config: test for --replace-all with one argument and fix documentation. 2009-03-17 09:30:00 -07:00
builtin-count-objects.c Merge branch 'jc/maint-1.6.0-keep-pack' 2009-03-11 13:49:56 -07:00
builtin-describe.c Merge branch 'sp/maint-describe-all-tag-warning' into maint 2008-12-27 14:21:15 -08:00
builtin-diff-files.c
builtin-diff-index.c
builtin-diff-tree.c Remove unused assignments 2009-03-14 13:36:34 -07:00
builtin-diff.c
builtin-fast-export.c Merge branch 'ef/fast-export' 2009-04-01 22:49:28 -07:00
builtin-fetch--tool.c refactor signal handling for cleanup functions 2009-01-21 22:46:53 -08:00
builtin-fetch-pack.c builtin-fetch-pack: use warning() instead of fprintf(stderr, "warning: ") 2009-03-23 21:02:26 -07:00
builtin-fetch.c Merge branch 'db/push-cleanup' 2009-03-26 00:28:46 -07:00
builtin-fmt-merge-msg.c Move local variables to narrower scopes 2009-03-07 20:52:23 -08:00
builtin-for-each-ref.c make get_short_ref a public function 2009-04-07 23:22:15 -07:00
builtin-fsck.c Merge branch 'jc/maint-1.6.0-keep-pack' 2009-03-11 13:49:56 -07:00
builtin-gc.c gc --aggressive: make it really aggressive 2009-03-18 19:11:34 -07:00
builtin-grep.c grep: prefer builtin over external one when coloring results 2009-03-17 17:03:33 -07:00
builtin-help.c Move computation of absolute paths from Makefile to runtime (in preparation for RUNTIME_PREFIX) 2009-01-26 00:26:05 -08:00
builtin-http-fetch.c
builtin-init-db.c Merge branch 'jc/shared-literally' 2009-04-06 00:42:52 -07:00
builtin-log.c Merge branch 'sb/format-patch-patchname' 2009-04-06 00:42:23 -07:00
builtin-ls-files.c ls-files: require worktree when --deleted is given 2009-03-21 23:19:27 -07:00
builtin-ls-remote.c
builtin-ls-tree.c Produce a nicer output in case of sha1_object_info failures in ls-tree -l 2009-03-20 09:35:21 -07:00
builtin-mailinfo.c Remove unused assignments 2009-03-14 13:36:34 -07:00
builtin-mailsplit.c
builtin-merge-base.c
builtin-merge-file.c merge-file: handle freopen() failure 2008-12-26 19:10:02 -08:00
builtin-merge-ours.c
builtin-merge-recursive.c remove trailing LF in die() messages 2009-01-05 13:01:01 -08:00
builtin-merge.c strbuf_branchname(): a wrapper for branch name shorthands 2009-03-22 23:44:08 -07:00
builtin-mv.c builtin-mv.c: check for unversionned files before looking at the destination. 2009-02-04 11:07:42 -08:00
builtin-name-rev.c
builtin-pack-objects.c Merge branch 'jc/maint-1.6.0-keep-pack' 2009-04-01 22:34:19 -07:00
builtin-pack-refs.c
builtin-prune-packed.c has_sha1_pack(): refactor "pretend these packs do not exist" interface 2009-02-28 01:06:06 -08:00
builtin-prune.c add is_dot_or_dotdot inline function 2009-01-11 13:21:57 -08:00
builtin-push.c Merge branch 'fg/push-default' 2009-03-26 00:26:25 -07:00
builtin-read-tree.c Turn the flags in struct dir_struct into a single variable 2009-02-18 11:04:19 -08:00
builtin-receive-pack.c improve missing repository error message 2009-03-04 20:37:21 -08:00
builtin-reflog.c
builtin-remote.c Merge branch 'js/remote-improvements' 2009-03-28 00:42:22 -07:00
builtin-rerere.c rerere: remove duplicated functions 2009-02-14 21:27:35 -08:00
builtin-reset.c
builtin-rev-list.c rev-list: estimate number of bisection step left 2009-03-04 00:56:52 -08:00
builtin-rev-parse.c
builtin-revert.c Merge branch 'maint-1.6.1' into maint 2009-03-07 21:00:27 -08:00
builtin-rm.c builtin-rm: use warning() instead of fprintf(stderr, "warning: ") 2009-03-23 21:02:27 -07:00
builtin-send-pack.c builtin-send-pack.c: avoid empty structure initialization 2009-03-26 21:01:34 -07:00
builtin-shortlog.c Remove unused assignments 2009-03-14 13:36:34 -07:00
builtin-show-branch.c builtin-show-branch: use warning() instead of fprintf(stderr, "warning: ") 2009-03-23 21:02:27 -07:00
builtin-show-ref.c builtin-show-ref: use warning() instead of fprintf(stderr, "warning: ") 2009-03-23 21:02:27 -07:00
builtin-stripspace.c
builtin-symbolic-ref.c symbolic-ref: allow refs/<whatever> in HEAD 2009-02-13 18:20:44 -08:00
builtin-tag.c git-tag: Add --contains option 2009-01-28 11:33:51 -08:00
builtin-tar-tree.c
builtin-unpack-objects.c Merge branch 'lt/maint-wrap-zlib' into maint 2009-02-05 18:01:00 -08:00
builtin-update-index.c Merge branch 'kb/checkout-optim' 2009-03-17 18:54:31 -07:00
builtin-update-ref.c
builtin-upload-archive.c improve missing repository error message 2009-03-04 20:37:21 -08:00
builtin-verify-pack.c Replace deprecated dashed git commands in usage 2009-02-04 15:08:49 -08:00
builtin-verify-tag.c
builtin-write-tree.c
builtin.h
bundle.c Merge branch 'js/maint-all-implies-HEAD' 2009-01-25 17:13:02 -08:00
bundle.h
cache-tree.c
cache-tree.h cache-tree.c: make cache_tree_find() static 2008-07-16 08:50:27 -07:00
cache.h Merge branch 'jc/name-branch' 2009-04-06 00:43:44 -07:00
check_bindir
check-builtins.sh
check-racy.c ce_match_stat, run_diff_files: use symbolic constants for readability 2007-11-10 00:24:51 -08:00
color.c Clean up use of ANSI color sequences 2009-02-13 17:27:58 -08:00
color.h Clean up use of ANSI color sequences 2009-02-13 17:27:58 -08:00
combine-diff.c Merge branch 'kb/checkout-optim' 2009-03-17 18:54:31 -07:00
command-list.txt Revert "Merge branch 'js/notes'" 2009-02-10 21:32:10 -08:00
commit.c Revert "Merge branch 'js/notes'" 2009-02-10 21:32:10 -08:00
commit.h Make has_commit() non-static 2009-01-28 11:33:03 -08:00
config.c Merge branch 'fg/push-default' 2009-03-26 00:26:25 -07:00
config.mak.in config.mak.in: define paths without trailing slash 2009-02-05 00:29:23 -08:00
configure.ac configure: rework pthread handling to allow for user defined flags 2009-03-12 23:23:39 -07:00
connect.c Remove unused assignments 2009-03-14 13:36:34 -07:00
convert.c
copy.c
COPYING
csum-file.c
csum-file.h
ctype.c Add is_regex_special() 2009-01-17 18:30:41 -08:00
daemon.c improve missing repository error message 2009-03-04 20:37:21 -08:00
date.c never fallback relative times to absolute 2009-02-25 00:44:43 -08:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c Merge branch 'kb/checkout-optim' 2009-03-17 18:54:31 -07:00
diff-no-index.c Merge branch 'maint' 2009-03-28 01:16:46 -07:00
diff.c Merge branch 'jc/maint-1.6.0-diff-borrow-carefully' 2009-03-28 00:42:31 -07:00
diff.h Use DIFF_XDL_SET/DIFF_OPT_SET instead of raw bit-masking 2009-03-04 00:56:51 -08:00
diffcore-break.c Remove unused function scope local variables 2009-03-07 20:52:17 -08:00
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c pickaxe: count regex matches only once 2009-03-21 23:18:53 -07:00
diffcore-rename.c Rename detection: Avoid repeated filespec population 2009-01-21 00:14:12 -08:00
diffcore.h
dir.c Merge branch 'mv/parseopt-ls-files' 2009-03-20 14:30:51 -07:00
dir.h Turn the flags in struct dir_struct into a single variable 2009-02-18 11:04:19 -08:00
editor.c
entry.c write_entry(): use fstat() instead of lstat() when file is open 2009-02-09 20:59:26 -08:00
environment.c New config push.default to decide default behavior for push 2009-03-17 14:50:21 -07:00
exec_cmd.c Merge branch 'js/maint-1.6.0-exec-path-env' into maint 2009-04-02 12:02:25 -07:00
exec_cmd.h Refactor git_set_argv0_path() to git_extract_argv0_path() 2009-01-26 00:26:05 -08:00
fast-import.c Merge branch 'jc/shared-literally' 2009-04-06 00:42:52 -07:00
fetch-pack.h
fixup-builtins
fsck.c Remove unused function scope local variables 2009-03-07 20:52:17 -08:00
fsck.h
generate-cmdlist.sh
git-add--interactive.perl Merge branch 'jc/add-p-unquote' 2009-03-05 15:41:41 -08:00
git-am.sh git-am: make --abort less dangerous 2009-02-26 23:06:38 -08:00
git-archimport.perl
git-bisect.sh bisect: improve error message when branch checkout fails 2009-04-05 00:25:08 -07:00
git-compat-util.h Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1 2009-03-21 22:53:36 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl git-cvsserver: run post-update hook *after* update. 2009-01-30 21:11:46 -08:00
git-filter-branch.sh git-filter-branch: avoid collisions with variables in eval'ed commands 2009-03-25 16:35:52 -07:00
git-instaweb.sh git-instaweb: fix lighttpd configuration on cygwin 2009-03-10 23:16:52 -07:00
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool.sh Merge branch 'cb/mergetool' 2009-02-05 19:40:35 -08:00
git-parse-remote.sh
git-pull.sh git-pull: Allow --stat and --no-stat to be used with --rebase 2009-03-02 23:22:54 -08:00
git-quiltimport.sh git-quiltimport: preserve standard input to be able to read user input 2009-02-25 00:49:13 -08:00
git-rebase--interactive.sh rebase -i: avoid 'git reset' when possible 2009-03-03 10:56:22 -08:00
git-rebase.sh rebase: fix typo (force_rebas -> force-rebas) 2009-03-27 14:26:34 -07:00
git-relink.perl
git-repack.sh Merge branch 'maint' 2009-04-05 01:17:08 -07:00
git-request-pull.sh
git-send-email.perl send-email: fix nasty bug in ask() function 2009-04-04 22:53:32 -07:00
git-sh-setup.sh git-sh-setup: Use "cd" option, not /bin/pwd, for symlinked work tree 2009-02-07 00:45:29 -08:00
git-stash.sh
git-submodule.sh git submodule: fix usage line 2009-04-05 01:16:31 -07:00
git-svn.perl git-svn: add a double quiet option to hide git commits 2009-03-30 23:51:20 -07:00
GIT-VERSION-GEN GIT 1.6.2.2 2009-04-02 12:34:16 -07:00
git-web--browse.sh git-web--browse: Fix check for /bin/start 2009-02-09 00:06:36 -08:00
git.c Merge branch 'jk/maint-cleanup-after-exec-failure' 2009-02-03 00:26:12 -08:00
git.spec.in Merge branch 'maint-1.6.0' into maint 2009-02-05 19:38:58 -08:00
graph.c
graph.h
grep.c git log: avoid segfault with --all-match 2009-03-18 19:10:40 -07:00
grep.h grep: add support for coloring with external greps 2009-03-07 11:34:59 -08:00
hash-object.c Merge branch 'en/maint-hash-object' 2009-03-05 15:58:42 -08:00
hash.c
hash.h
help.c
help.h
http-push.c Merge branch 'jc/shared-literally' 2009-04-06 00:42:52 -07:00
http-walker.c Move chmod(foo, 0444) into move_temp_to_file() 2009-03-27 22:10:58 -07:00
http.c http.c: CURLOPT_NETRC_OPTIONAL is not available in ancient versions of cURL 2009-03-12 22:42:19 -07:00
http.h
ident.c
imap-send.c Remove unused assignments 2009-03-14 13:36:34 -07:00
index-pack.c Merge branch 'jc/shared-literally' 2009-04-06 00:42:52 -07:00
INSTALL
levenshtein.c Document levenshtein.c 2008-11-23 19:23:34 -08:00
levenshtein.h
list-objects.c
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c Make the 'lock file' exists error more informative 2009-03-04 20:35:19 -08:00
log-tree.c log-tree: fix patch filename computation in "git format-patch" 2009-03-27 01:10:27 -07:00
log-tree.h format-patch: --attach/inline uses filename instead of SHA1 2009-03-22 21:45:19 -07:00
mailmap.c Merge branch 'maint' 2009-04-01 22:46:31 -07:00
mailmap.h Add map_user() and clear_mailmap() to mailmap 2009-02-08 12:36:38 -08:00
Makefile Guard a few Makefile variables against user environments 2009-03-25 12:12:35 -07:00
match-trees.c Improved const correctness for strings 2007-10-21 01:43:27 -04:00
merge-file.c Always initialize xpparam_t to 0 2008-10-25 12:09:31 -07:00
merge-index.c Replace deprecated dashed git commands in usage 2009-02-04 15:08:49 -08:00
merge-recursive.c Fix various dead stores found by the clang static analyzer 2009-03-15 18:25:24 -07:00
merge-recursive.h
merge-tree.c Replace deprecated dashed git commands in usage 2009-02-04 15:08:49 -08:00
mktag.c Replace deprecated dashed git commands in usage 2009-02-04 15:08:49 -08:00
mktree.c Replace deprecated dashed git commands in usage 2009-02-04 15:08:49 -08:00
name-hash.c
object.c bundle: allow the same ref to be given more than once 2009-01-17 23:00:31 -08:00
object.h Merge branch 'js/maint-all-implies-HEAD' into maint 2009-02-05 17:54:12 -08:00
pack-check.c fix openssl headers conflicting with custom SHA1 implementations 2008-10-02 18:06:56 -07:00
pack-redundant.c Add calls to git_extract_argv0_path() in programs that call git_config_* 2009-01-26 00:26:05 -08:00
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1 2009-03-21 22:53:36 -07:00
pack.h
pager.c pager: do wait_for_pager on signal death 2009-01-21 22:46:53 -08:00
parse-options.c parseopt: prevent KEEP_UNKNOWN and STOP_AT_NON_OPTION from being used together 2009-03-09 15:32:50 -07:00
parse-options.h parseopt: add PARSE_OPT_NO_INTERNAL_HELP 2009-03-08 13:36:27 -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 Replace deprecated dashed git commands in usage 2009-02-04 15:08:49 -08:00
patch-ids.c
patch-ids.h
path.c set_shared_perm(): sometimes we know what the final mode bits should look like 2009-03-28 08:02:15 -07:00
pkt-line.c
pkt-line.h
preload-index.c
pretty.c format_sanitized_subject: Don't trim past initial length of strbuf 2009-04-01 11:05:31 -07:00
progress.c
progress.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c checkout bugfix: use stat.mtime instead of stat.ctime in two places 2009-03-15 12:56:40 -07:00
README README: fix path to "gitcvs-migration.txt" and be more consistent 2009-02-25 00:49:54 -08:00
reflog-walk.c make oneline reflog dates more consistent with multiline format 2009-03-20 00:57:27 -07:00
reflog-walk.h make oneline reflog dates more consistent with multiline format 2009-03-20 00:57:27 -07:00
refs.c make get_short_ref a public function 2009-04-07 23:22:15 -07:00
refs.h make get_short_ref a public function 2009-04-07 23:22:15 -07:00
RelNotes Update draft release notes to 1.6.2.2 2009-03-21 23:21:15 -07:00
remote.c Merge branch 'mg/tracked-local-branches' 2009-04-06 00:42:31 -07:00
remote.h remote: let guess_remote_head() optionally return all matches 2009-02-27 15:08:17 -08:00
rerere.c rerere: remove duplicated functions 2009-02-14 21:27:35 -08:00
rerere.h rerere: remove duplicated functions 2009-02-14 21:27:35 -08:00
revision.c Merge branch 'jc/maint-1.6.0-keep-pack' 2009-04-01 22:34:19 -07:00
revision.h Merge branch 'sb/format-patch-patchname' 2009-04-06 00:42:23 -07:00
run-command.c Merge branch 'jk/maint-cleanup-after-exec-failure' 2009-02-03 00:26:12 -08:00
run-command.h fix portability problem with IS_RUN_COMMAND_ERR 2009-04-01 11:05:54 -07:00
send-pack.h Move push matching and reporting logic into transport.c 2009-03-09 15:41:20 -07:00
server-info.c
setup.c "core.sharedrepository = 0mode" should set, not loosen 2009-03-27 21:51:04 -07:00
sha1_file.c Merge branch 'jc/shared-literally' 2009-04-06 00:42:52 -07:00
sha1_name.c Rename interpret/substitute nth_last_branch functions 2009-03-22 23:36:47 -07:00
sha1-lookup.c sha1-lookup: make selection of 'middle' less aggressive 2008-04-09 01:30:18 -07:00
sha1-lookup.h sha1-lookup: more memory efficient search in sorted list of SHA-1 2008-04-09 01:23:52 -07:00
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c recv_sideband: Bands #2 and #3 always go to stderr 2009-03-10 23:23:02 -07:00
sideband.h recv_sideband: Bands #2 and #3 always go to stderr 2009-03-10 23:23:02 -07:00
sigchain.c refactor signal handling for cleanup functions 2009-01-21 22:46:53 -08:00
sigchain.h refactor signal handling for cleanup functions 2009-01-21 22:46:53 -08:00
strbuf.c strbuf_check_branch_ref(): a helper to check a refname for a branch 2009-03-22 23:52:11 -07:00
strbuf.h strbuf_check_branch_ref(): a helper to check a refname for a branch 2009-03-22 23:52:11 -07:00
string-list.c string-list: new for_each_string_list() function 2009-02-27 15:19:08 -08:00
string-list.h string-list: new for_each_string_list() function 2009-02-27 15:19:08 -08:00
symlinks.c Revert "lstat_cache(): print a warning if doing ping-pong between cache types" 2009-03-17 12:10:58 -07:00
tag.c Merge branch 'mk/maint-parse-careful' 2008-03-02 15:11:07 -08:00
tag.h Be careful when dereferencing tags. 2005-11-02 16:50:58 -08:00
tar.h
test-chmtime.c
test-ctype.c Add is_regex_special() 2009-01-17 18:30:41 -08:00
test-date.c
test-delta.c Fix compilation of test-delta 2007-05-01 02:59:08 -07:00
test-dump-cache-tree.c add test-dump-cache-tree in Makefile 2009-02-03 22:11:44 -08:00
test-genrandom.c
test-match-trees.c
test-parse-options.c
test-path-utils.c Introduce the function strip_path_suffix() 2009-02-19 22:45:48 -08:00
test-sha1.c
test-sha1.sh more tr portability test script fixes 2008-03-13 00:57:52 -07:00
test-sigchain.c t0005: use SIGTERM for sigchain test 2009-01-30 01:14:26 -08:00
thread-utils.c
thread-utils.h
trace.c trace: Fixed a minor typo in an error message. 2009-02-25 00:49:53 -08:00
transport.c Merge branch 'db/push-cleanup' 2009-03-26 00:28:46 -07:00
transport.h Move push matching and reporting logic into transport.c 2009-03-09 15:41:20 -07:00
tree-diff.c
tree-walk.c
tree-walk.h
tree.c Drop double-semicolon in C 2009-02-10 22:26:37 -08:00
tree.h
unpack-file.c Replace deprecated dashed git commands in usage 2009-02-04 15:08:49 -08:00
unpack-trees.c Merge branch 'jc/attributes-checkout' 2009-03-26 00:27:33 -07:00
unpack-trees.h
update-server-info.c Add calls to git_extract_argv0_path() in programs that call git_config_* 2009-01-26 00:26:05 -08:00
upload-pack.c Move local variables to narrower scopes 2009-03-07 20:52:23 -08:00
usage.c Increase the size of the die/warning buffer to avoid truncation 2009-03-24 16:58:20 -07:00
userdiff.c Change the spelling of "wordregex". 2009-01-21 23:52:16 -08:00
userdiff.h color-words: make regex configurable via attributes 2009-01-17 10:44:21 -08:00
utf8.c utf8: add utf8_strwidth() 2009-02-04 16:30:43 -08:00
utf8.h utf8: add utf8_strwidth() 2009-02-04 16:30:43 -08:00
var.c Add calls to git_extract_argv0_path() in programs that call git_config_* 2009-01-26 00:26:05 -08:00
walker.c Drop double-semicolon in C 2009-02-10 22:26:37 -08:00
walker.h
wrapper.c Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1 2009-03-21 22:53:36 -07:00
write_or_die.c
ws.c
wt-status.c Merge branch 'mv/parseopt-ls-files' 2009-03-20 14:30:51 -07:00
wt-status.h
xdiff-interface.c Remove unused function scope local variables 2009-03-07 20:52:17 -08:00
xdiff-interface.h

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

	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/gittutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands, and
Documentation/git-commandname.txt for documentation of each command.
If git has been correctly installed, then the tutorial can also be
read with "man gittutorial" or "git help tutorial", and the
documentation of each command with "man git-commandname" or "git help
commandname".

CVS users may also want to read Documentation/gitcvs-migration.txt
("man gitcvs-migration" or "git help cvs-migration" if git is
installed).

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.