Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Michael Haggerty 0a0b8d1531 t3210: test for spurious error messages for dangling packed refs
A packed reference can be overridden by a loose reference, in which
case the packed reference is obsolete and is never used.  The object
pointed to by such a reference can be garbage collected.  Since
d66da478f2, this could lead to the emission of a spurious error
message:

    error: refs/heads/master does not point to a valid object!

The error is generated by repack_without_ref() if there is an obsolete
dangling packed reference in packed-refs when the packed-refs file has
to be rewritten due to the deletion of another packed reference.  Add
a failing test demonstrating this problem and some passing tests of
related scenarios.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-01 15:33:10 -07:00
block-sha1 Merge branch 'jn/block-sha1' into maint 2012-08-06 15:40:00 -07:00
builtin prune: introduce OPT_EXPIRY_DATE() and use it 2013-04-25 11:42:10 -07:00
compat Merge branch 'ss/nedmalloc-compilation' into maint 2013-01-08 11:17:07 -08:00
contrib remote-helpers/test-bzr.sh: do not use "grep '\s'" 2013-04-07 08:41:34 -07:00
Documentation prune: introduce OPT_EXPIRY_DATE() and use it 2013-04-25 11:42:10 -07:00
git_remote_helpers Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
git-gui git-gui 0.17.0 2012-10-17 15:55:46 -07:00
gitk-git Merge branch 'da/gitk-reload-tag-contents' into maint-1.7.11 2012-09-14 20:45:55 -07:00
gitweb gitweb/README: remove reference to git.kernel.org 2013-03-07 11:38:33 -08:00
mergetools p4merge: fix printf usage 2013-02-10 11:40:52 -08:00
perl Merge branch 'jc/perl-cat-blob' into maint-1.8.1 2013-04-03 08:35:45 -07:00
po Merge branch git://github.com/ralfth/git-po-de 2012-12-07 17:30:02 +08:00
ppc
t t3210: test for spurious error messages for dangling packed refs 2013-05-01 15:33:10 -07:00
templates Merge branch 'maint-1.7.6' into maint 2011-10-26 16:09:28 -07:00
vcs-svn remote-svn: add incremental import 2012-10-07 14:10:17 -07:00
xdiff Merge branch 'rs/xdiff-fast-hash-fix' 2012-05-25 12:05:02 -07:00
.gitattributes git-gui: set whitespace warnings appropriate to this project 2011-11-30 11:35:28 +00:00
.gitignore Makefile: detect when PYTHON_PATH changes 2013-01-10 14:14:37 -08:00
.mailmap .mailmap: normalize emails for Linus Torvalds 2012-12-12 11:09:11 -08:00
abspath.c Introduce new function real_path_if_valid() 2012-10-29 02:34:58 -04:00
aclocal.m4 configure: use AC_LANG_PROGRAM consistently 2011-02-14 10:55:15 -08:00
advice.c Merge branch 'jk/maint-advise-vaddf' into maint 2012-07-30 13:05:25 -07:00
advice.h push: Provide situational hints for non-fast-forward errors 2012-03-19 21:42:06 -07:00
alias.c
alloc.c unbreak and eliminate NO_C99_FORMAT 2011-03-17 15:30:49 -07:00
archive-tar.c Merge branch 'rs/leave-base-name-in-name-field-of-tar' into maint 2013-01-14 07:34:12 -08:00
archive-zip.c Merge branch 'rs/zip-with-uncompressed-size-in-the-header' into maint 2013-01-20 17:22:27 -08:00
archive.c Add directory pattern matching to attributes 2012-12-17 22:07:23 -08:00
archive.h archive: delegate blob reading to backend 2012-05-03 10:22:56 -07:00
argv-array.c Merge branch 'fa/remote-svn' 2012-10-25 06:42:02 -04:00
argv-array.h Merge branch 'fa/remote-svn' 2012-10-25 06:42:02 -04:00
attr.c Merge branch 'jc/directory-attrs-regression-fix' into maint-1.8.1 2013-04-07 08:45:03 -07:00
attr.h correct a few doubled-word nits in comments and documentation 2012-03-28 11:18:35 -07:00
base85.c
bisect.c Move estimate_bisect_steps to libgit.a 2012-10-29 03:08:30 -04:00
bisect.h Move print_commit_list to libgit.a 2012-10-29 03:08:30 -04:00
blob.c Replace parse_blob() with an explanatory comment 2010-01-18 17:04:02 -08:00
blob.h
branch.c Remove i18n legos in notifying new branch tracking setup 2012-06-07 11:46:02 -07:00
branch.h checkout: suppress tracking message with "-q" 2012-03-26 21:32:43 -07:00
builtin.h Merge branch 'jc/maint-fmt-merge-msg-no-edit-lose-credit' into maint 2013-01-14 07:33:30 -08:00
bulk-checkin.c bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00
bulk-checkin.h bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00
bundle.c Merge branch 'jk/fully-peeled-packed-ref' into maint-1.8.1 2013-04-03 08:43:03 -07:00
bundle.h Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
cache-tree.c cache-tree: invalidate i-t-a paths after generating trees 2012-12-15 23:04:22 -08:00
cache-tree.h cache-tree: fix writing cache-tree when CE_REMOVE is present 2012-12-15 23:04:22 -08:00
cache.h date.c: add parse_expiry_date() 2013-04-17 16:03:56 -07:00
check_bindir
check-builtins.sh
check-racy.c
color.c want_color: automatically fallback to color.ui 2011-08-19 15:51:38 -07:00
color.h want_color: automatically fallback to color.ui 2011-08-19 15:51:38 -07:00
column.c column: support piping stdout to external git-column process 2012-04-27 09:26:38 -07:00
column.h column: support piping stdout to external git-column process 2012-04-27 09:26:38 -07:00
combine-diff.c combine-diff: lift 32-way limit of combined diff 2013-02-03 13:08:18 -08:00
command-list.txt command-list: mention git-credential-* helpers 2012-08-08 12:11:54 -07:00
commit.c Move print_commit_list to libgit.a 2012-10-29 03:08:30 -04:00
commit.h Merge branch 'jc/prettier-pretty-note' 2012-11-15 10:25:05 -08:00
config.c Merge branch 'jn/warn-on-inaccessible-loosen' into maint 2013-01-11 16:47:07 -08:00
config.mak.in Makefile: whitespace style fixes in macro definitions 2012-12-10 08:35:56 -08:00
configure.ac Merge branch 'mh/pthreads-autoconf' into maint 2013-01-10 14:04:26 -08:00
connect.c Merge branch 'jc/capabilities' into maint 2012-09-11 11:06:45 -07:00
connected.c fetch/receive: remove over-pessimistic connectivity check 2012-03-15 15:23:17 -07:00
connected.h check_everything_connected(): libify 2011-09-09 15:19:02 -07:00
convert.c Merge branch 'jk/maint-avoid-streaming-filtered-contents' into maint 2012-03-04 22:16:40 -08:00
convert.h teach convert_to_git a "dry run" mode 2012-02-24 14:11:27 -08:00
copy.c
COPYING
credential-cache--daemon.c credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
credential-cache.c credential-cache: ignore "connection refused" errors 2012-01-16 22:15:19 -08:00
credential-store.c credentials: add "store" helper 2011-12-12 16:09:38 -08:00
credential.c credential: convert "url" attribute into its parsed subparts 2012-07-18 13:26:58 -07:00
credential.h git credential fill: output the whole 'struct credential' 2012-06-25 11:56:24 -07:00
csum-file.c csum-file: introduce sha1file_checkpoint 2011-11-30 14:27:59 -08:00
csum-file.h csum-file: introduce sha1file_checkpoint 2011-11-30 14:27:59 -08:00
ctype.c Merge branch 'jc/pickaxe-ignore-case' 2012-03-07 12:12:59 -08:00
daemon.c Merge branch 'dm/ni-maxhost-may-be-missing' into maint-1.8.1 2013-03-25 13:45:42 -07:00
date.c date.c: add parse_expiry_date() 2013-04-17 16:03:56 -07:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c diff: do not use null sha1 as a sentinel value 2012-07-29 15:04:32 -07:00
diff-no-index.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
diff.c Merge branch 'ap/maint-diff-rename-avoid-overlap' into maint-1.8.1 2013-04-03 08:37:39 -07:00
diff.h Move setup_diff_pager to libgit.a 2012-10-29 03:08:30 -04:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c pickaxe: use textconv for -S counting 2012-10-28 08:48:17 -04:00
diffcore-rename.c Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
diffcore.h Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
dir.c Merge branch 'jc/directory-attrs-regression-fix' into maint-1.8.1 2013-04-07 08:45:03 -07:00
dir.h attr: more matching optimizations from .gitignore 2012-10-15 14:57:17 -07:00
editor.c run-command: encode signal death as a positive integer 2013-01-06 11:09:18 -08:00
entry.c Merge branch 'jk/checkout-attribute-lookup' into maint-1.8.1 2013-04-03 08:43:40 -07:00
environment.c git on Mac OS and precomposed unicode 2012-07-08 22:03:46 -07:00
exec_cmd.c run-command: treat inaccessible directories as ENOENT 2012-04-05 16:24:13 -07:00
exec_cmd.h
fast-import.c Merge branch 'jc/merge-bases' 2012-09-11 11:36:05 -07:00
fetch-pack.c fetch-pack: move core code to libgit.a 2012-10-29 03:40:29 -04:00
fetch-pack.h filter_refs(): delete matched refs from sought list 2012-09-12 11:46:31 -07:00
fixup-builtins
fmt-merge-msg.h fmt-merge-msg: use branch.$name.description 2011-10-07 10:11:47 -07:00
fsck.c Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
fsck.h
generate-cmdlist.sh i18n: help: mark strings for translation 2012-04-24 14:55:48 -07:00
gettext.c fetch: align per-ref summary report in UTF-8 locales 2012-09-14 12:45:50 -07:00
gettext.h Merge branch 'nd/fetch-status-alignment' 2012-09-18 14:35:55 -07:00
git-add--interactive.perl git-add--interactive.perl: Remove two unused variables 2012-06-25 10:06:09 -07:00
git-am.sh Merge branch 'jc/fake-ancestor-with-non-blobs' into maint 2013-02-07 15:14:22 -08:00
git-archimport.perl
git-bisect.sh Merge branch 'js/bisect-no-checkout' into maint 2011-11-01 16:03:35 -07:00
git-compat-util.h Merge branch 'dm/ni-maxhost-may-be-missing' into maint-1.8.1 2013-03-25 13:45:42 -07:00
git-cvsexportcommit.perl git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS 2012-01-11 18:04:08 -08:00
git-cvsimport.perl cvsimport: format commit timestamp ourselves without using strftime 2013-02-09 14:41:49 -08:00
git-cvsserver.perl cvsserver status: provide real sticky info 2012-10-16 16:16:27 -07:00
git-difftool--helper.sh difftool--helper: fix printf usage 2013-02-10 11:35:50 -08:00
git-difftool.perl difftool: silence warning 2012-08-21 15:27:15 -07:00
git-filter-branch.sh filter-branch: use git-sh-setup's ident parsing functions 2012-10-18 15:43:49 -07:00
git-instaweb.sh git-instaweb: Check that correct config file exists for (re)start 2011-06-27 09:11:41 +00:00
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh Merge branch 'js/maint-merge-one-file-osx-expr' into maint 2011-10-21 10:49:25 -07:00
git-merge-resolve.sh
git-mergetool--lib.sh Merge branch 'da/mergetool-custom' 2012-10-01 12:58:57 -07:00
git-mergetool.sh git-mergetool: print filename when it contains % 2013-02-08 13:10:06 -08:00
git-p4.py git-p4.py: support Python 2.4 2013-01-26 19:00:10 -08:00
git-parse-remote.sh push/pull: adjust missing upstream help text to changed interface 2012-11-08 11:32:38 -05:00
git-pull.sh git-pull: Avoid merge-base on detached head 2012-10-25 05:32:11 -04:00
git-quiltimport.sh
git-rebase--am.sh rebase: don't source git-sh-setup twice 2012-06-26 13:17:50 -07:00
git-rebase--interactive.sh Merge branch 'ph/rebase-preserve-all-merges' into maint 2013-01-29 11:18:31 -08:00
git-rebase--merge.sh rebase: don't source git-sh-setup twice 2012-06-26 13:17:50 -07:00
git-rebase.sh rebase -i: Teach "--edit-todo" action 2012-09-17 20:59:14 -07:00
git-relink.perl Consistently use perl from /usr/bin/ for scripts 2012-05-01 13:32:17 -07:00
git-remote-testgit.py git-remote-testgit: fix race when spawning fast-import 2012-04-24 14:54:24 -07:00
git-repack.sh gc: do not explode objects which will be immediately pruned 2012-04-11 11:09:49 -07:00
git-request-pull.sh request-pull: really favor a matching tag 2012-06-01 12:38:19 -07:00
git-send-email.perl Merge branch 'nz/send-email-headers-are-case-insensitive' into maint 2013-01-20 17:22:49 -08:00
git-sh-i18n.sh i18n: fix auto detection of gettext scheme for shell scripts 2012-03-12 14:41:15 -07:00
git-sh-setup.sh Merge branch 'jc/maint-fbsd-sh-ifs-workaround' into maint 2013-01-08 11:17:01 -08:00
git-stash.sh Merge branch 'ph/stash-rerere' into maint-1.7.11 2012-09-11 11:10:12 -07:00
git-submodule.sh Merge branch 'wtk/submodule-doc-fixup' 2012-11-21 13:25:42 -08:00
git-svn.perl git-svn: use path accessor for Git::SVN objects 2012-10-05 22:48:12 +00:00
GIT-VERSION-GEN Git 1.8.1.6 2013-04-07 08:58:30 -07:00
git-web--browse.sh git-web--browse: avoid the use of eval 2011-10-03 10:47:07 -07:00
git.c git.c: make usage match manual page 2013-03-11 12:59:57 -07:00
git.spec.in spec: add missing build dependency 2012-04-06 10:15:11 -07:00
gpg-interface.c Merge branch 'sb/gpg-plug-fd-leak' into maint 2013-02-07 15:14:54 -08:00
gpg-interface.h Split GPG interface into its own helper library 2011-11-04 21:40:25 -07:00
graph.c Merge branch 'mk/maint-graph-infinity-loop' into maint 2013-01-14 07:32:18 -08:00
graph.h graph.c: mark private file-scope symbols as static 2012-09-15 22:58:20 -07:00
grep.c Merge branch 'nd/grep-true-path' into maint 2012-11-18 19:32:30 -08:00
grep.h Merge branch 'nd/grep-true-path' into maint 2012-11-18 19:32:30 -08:00
hash.c for_each_hash: allow passing a 'void *data' pointer to callback 2011-02-18 22:25:51 -08:00
hash.h for_each_hash: allow passing a 'void *data' pointer to callback 2011-02-18 22:25:51 -08:00
help.c help: include <common-cmds.h> only in one file 2013-01-18 22:35:04 -08:00
help.h Merge branch 'nd/columns' 2012-05-03 15:13:31 -07:00
hex.c get_sha1_hex(): do not read past a NUL character 2011-10-05 13:45:16 -07:00
http-backend.c http-backend: respect existing GIT_COMMITTER_* variables 2012-03-30 09:13:02 -07:00
http-fetch.c Merge branch 'ab/enable-i18n' 2011-12-19 16:06:41 -08:00
http-push.c Verify Content-Type from smart HTTP servers 2013-02-04 10:22:36 -08:00
http-walker.c Rename static function fetch_pack() to http_fetch_pack() 2012-09-12 11:46:31 -07:00
http.c http_request: reset "type" strbuf before adding 2013-02-06 07:50:56 -08:00
http.h Verify Content-Type from smart HTTP servers 2013-02-04 10:22:36 -08:00
ident.c Merge branch 'jn/do-not-drop-username-when-reading-from-etc-mailname' into maint 2013-02-04 10:04:26 -08:00
imap-send.c Merge branch 'ob/imap-send-ssl-verify' into maint-1.8.1 2013-04-03 08:35:33 -07:00
INSTALL INSTALL: git-p4 does not support Python 3 2013-01-30 11:17:59 -08:00
kwset.c sparse: Fix an "Using plain integer as NULL pointer" warning 2011-09-11 14:43:14 -07:00
kwset.h Adapt the kwset code to Git 2011-08-20 22:33:57 -07:00
levenshtein.c
levenshtein.h
LGPL-2.1 provide a copy of the LGPLv2.1 2011-05-19 18:23:17 -07:00
list-objects.c tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
list-objects.h list-objects: pass callback data to show_objects() 2011-09-01 15:46:12 -07:00
ll-merge.c Merge branch 'jc/ll-merge-binary-ours' into maint 2012-10-17 10:26:51 -07:00
ll-merge.h
lockfile.c Name make_*_path functions more accurately 2011-03-17 16:08:30 -07:00
log-tree.c format-patch: add a blank line between notes and diffstat 2012-11-13 15:02:46 -08:00
log-tree.h format-patch: refactor get_patch_filename 2012-05-22 09:08:50 -07:00
mailmap.c mailmap: avoid out-of-bounds memory access 2012-10-28 07:50:18 -04:00
mailmap.h
Makefile Makefile: keep LIB_H entries together and sorted 2013-03-16 22:23:04 -07:00
match-trees.c
merge-blobs.c Which merge_file() function do you mean? 2012-12-09 23:05:27 -08:00
merge-blobs.h Which merge_file() function do you mean? 2012-12-09 23:05:27 -08:00
merge-recursive.c Which merge_file() function do you mean? 2012-12-09 23:05:27 -08:00
merge-recursive.h Move try_merge_command and checkout_fast_forward to libgit.a 2012-10-29 03:08:30 -04:00
merge.c Move try_merge_command and checkout_fast_forward to libgit.a 2012-10-29 03:08:30 -04:00
mergesort.c mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
mergesort.h mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
name-hash.c name-hash.c: fix endless loop with core.ignorecase=true 2013-02-27 23:29:04 -08:00
notes-cache.c Merge branch 'jc/show-sig' 2012-01-06 12:44:07 -08:00
notes-cache.h
notes-merge.c Sync with 1.7.11.6 2012-09-11 11:23:54 -07:00
notes-merge.h Convert commit_tree() to take strbuf as message 2011-12-15 10:46:42 -08:00
notes.c Merge branch 'jc/same-encoding' into maint 2012-12-07 14:10:56 -08:00
notes.h format_note(): simplify API 2012-10-17 22:42:40 -07:00
object.c avoid segfaults on parse_object failure 2013-03-17 12:49:03 -07:00
object.h avoid segfaults on parse_object failure 2013-03-17 12:49:03 -07:00
pack-check.c fsck: print progress 2011-11-06 20:31:28 -08:00
pack-refs.c pack-refs: add fully-peeled trait 2013-03-18 08:06:28 -07:00
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c Appease Sun Studio by renaming "tmpfile" 2011-12-21 10:21:04 -08:00
pack.h Merge branch 'jc/stream-to-pack' 2011-12-16 22:33:40 -08:00
pager.c Move setup_diff_pager to libgit.a 2012-10-29 03:08:30 -04:00
parse-options-cb.c prune: introduce OPT_EXPIRY_DATE() and use it 2013-04-25 11:42:10 -07:00
parse-options.c Merge branch 'ef/non-ascii-parse-options-error-diag' into maint 2013-02-27 10:04:26 -08:00
parse-options.h prune: introduce OPT_EXPIRY_DATE() and use it 2013-04-25 11:42:10 -07:00
patch-delta.c compat: helper for detecting unsigned overflow 2011-02-10 13:47:56 -08:00
patch-ids.c diff_setup_done(): return void 2012-08-03 12:11:07 -07:00
patch-ids.h
path.c longest_ancestor_length(): require prefix list entries to be normalized 2012-10-29 02:34:58 -04:00
pkt-line.c remove the impression of unexpectedness when access is denied 2012-06-19 13:37:02 -07:00
pkt-line.h remove the impression of unexpectedness when access is denied 2012-06-19 13:37:02 -07:00
preload-index.c
pretty.c Merge branch 'jc/same-encoding' into maint 2013-01-10 14:04:24 -08:00
progress.c
progress.h
prompt.c prompt: fall back to terminal if askpass fails 2012-02-03 14:37:04 -08:00
prompt.h prompt: use git_terminal_prompt 2011-12-12 16:09:38 -08:00
quote.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
quote.h quote: provide sq_dequote_to_argv_array 2011-09-14 11:56:49 -07:00
reachable.c use parse_object_or_die instead of die("bad object") 2013-03-17 12:52:14 -07:00
reachable.h prune: show progress while marking reachable objects 2011-11-07 22:12:19 -08:00
read-cache.c Merge branch 'kb/name-hash' into maint-1.8.1 2013-04-03 08:44:54 -07:00
README README: update stale and/or incorrect information 2013-01-29 11:17:44 -08:00
reflog-walk.c Merge branch 'jk/maint-reflog-walk-count-vs-time' into maint 2012-05-14 11:46:16 -07:00
reflog-walk.h Merge branch 'jk/maint-reflog-walk-count-vs-time' into maint 2012-05-14 11:46:16 -07:00
refs.c refs: change the internal reference-iteration API 2013-05-01 15:33:10 -07:00
refs.h peel_ref(): fix return value for non-peelable, not-current reference 2013-05-01 15:33:10 -07:00
RelNotes Start preparing for 1.8.1.6 2013-04-03 09:12:11 -07:00
remote-curl.c Verify Content-Type from smart HTTP servers 2013-02-04 10:22:36 -08:00
remote-testsvn.c remote-testsvn: fix unitialized variable 2012-12-15 10:43:11 -08:00
remote.c Merge branch 'jc/fetch-ignore-symref' into maint 2013-01-11 16:45:44 -08:00
remote.h add sorting infrastructure for list refs 2012-05-22 13:31:03 -07:00
replace_object.c inline lookup_replace_object() calls 2011-05-15 15:23:33 -07:00
rerere.c rerere.c: mark private file-scope symbols as static 2012-09-15 22:58:20 -07:00
rerere.h rerere.c: mark private file-scope symbols as static 2012-09-15 22:58:20 -07:00
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'kk/revwalk-slop-too-many-commit-within-a-second' into maint-1.8.1 2013-04-03 08:44:02 -07:00
revision.h format-patch --notes: show notes after three-dashes 2012-10-17 22:42:40 -07:00
run-command.c run-command: encode signal death as a positive integer 2013-01-06 11:09:18 -08:00
run-command.h pager: drop "wait for output to run less" hack 2012-06-05 09:38:00 -07:00
send-pack.c send-pack: move core code to libgit.a 2012-10-29 03:08:30 -04:00
send-pack.h
sequencer.c learn to pick/revert into unborn branch 2012-12-23 10:40:37 -08:00
sequencer.h Merge branch 'jc/make-static' 2012-09-18 14:37:46 -07:00
server-info.c
setup.c Provide a mechanism to turn off symlink resolution in ceiling paths 2013-02-22 11:37:34 -08:00
sh-i18n--envsubst.c Merge branch 'js/i18n-windows' 2011-06-29 17:03:13 -07:00
sha1_file.c link_alt_odb_entries(): take (char *, len) rather than two pointers 2012-11-08 12:06:53 -05:00
sha1_name.c sha1_name: pass object name length to diagnose_invalid_sha1_path() 2013-03-17 00:10:51 -07:00
sha1-array.c sha1-array.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
sha1-array.h sha1-array.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
sha1-lookup.c sha1-lookup: fix up the assertion message 2009-04-06 00:56:27 -07:00
sha1-lookup.h
shallow.c
shell.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
shortlog.h
show-index.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c strbuf_split*(): rename "delim" parameter to "terminator" 2012-11-04 06:46:55 -05:00
strbuf.h strbuf_split*(): document functions 2012-11-04 06:46:55 -05:00
streaming.c pack-objects, streaming: turn "xx >= big_file_threshold" to ".. > .." 2012-05-18 14:21:19 -07:00
streaming.h streaming: void pointer instead of char pointer 2012-05-03 10:22:56 -07:00
string-list.c Merge branch 'mh/ceiling' into maint 2013-01-28 11:07:18 -08:00
string-list.h Merge branch 'mh/ceiling' into maint 2013-01-28 11:07:18 -08:00
submodule.c submodule: display summary header in bold 2012-11-18 19:18:13 -08:00
submodule.h submodule: display summary header in bold 2012-11-18 19:18:13 -08:00
symlinks.c symlinks.c: mark private file-scope symbols as static 2012-09-15 22:58:21 -07:00
tag.c upload-pack: avoid parsing tag destinations 2012-01-06 13:28:57 -08:00
tag.h upload-pack: avoid parsing tag destinations 2012-01-06 13:28:57 -08:00
tar.h
test-chmtime.c
test-ctype.c test-ctype: add test for is_pathspec_magic 2011-10-03 11:44:03 -07:00
test-date.c i18n: mark relative dates for translation 2012-04-24 14:55:48 -07:00
test-delta.c
test-dump-cache-tree.c cache-tree: update API to take abitrary flags 2012-02-07 16:35:43 -08:00
test-genrandom.c
test-index-version.c
test-line-buffer.c vcs-svn: drop no-op reset methods 2012-07-05 23:26:51 -05:00
test-match-trees.c
test-mergesort.c mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
test-mktemp.c
test-parse-options.c test-parse-options: convert to OPT_BOOL() 2012-02-26 15:18:41 -08:00
test-path-utils.c longest_ancestor_length(): require prefix list entries to be normalized 2012-10-29 02:34:58 -04:00
test-regex.c test-regex: Add a test to check for a bug in the regex routines 2012-09-02 18:57:21 -07:00
test-revision-walking.c Teach revision walking machinery to walk multiple times sequencially 2012-03-30 08:57:49 -07:00
test-run-command.c tests: check error message from run_command 2011-04-20 10:08:54 -07:00
test-scrap-cache-tree.c Add test-scrap-cache-tree 2011-12-06 14:52:18 -08:00
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c string_list_longest_prefix(): remove function 2012-10-29 02:34:58 -04:00
test-subprocess.c test-subprocess: fix segfault without arguments 2012-04-10 12:28:20 -07:00
test-svn-fe.c remote-svn: add incremental import 2012-10-07 14:10:17 -07:00
thread-utils.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
thread-utils.h
trace.c trace.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
transport-helper.c When debug==1, start fast-import with "--stats" instead of "--quiet" 2012-10-07 14:10:17 -07:00
transport.c Merge branch 'ft/transport-report-segv' into maint 2013-02-07 15:15:08 -08:00
transport.h send-pack: move core code to libgit.a 2012-10-29 03:08:30 -04:00
tree-diff.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
tree-walk.c Merge branch 'nd/tree-walk-enum-cleanup' 2012-11-09 12:51:03 -05:00
tree-walk.h tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
tree.c Strip namelen out of ce_flags into a ce_namelen field 2012-07-11 09:42:45 -07:00
tree.h Convert read_tree{,_recursive} to support struct pathspec 2011-03-25 09:20:33 -07:00
unimplemented.sh
unix-socket.c unix-socket: do not let close() or chdir() clobber errno during cleanup 2012-01-11 17:37:10 -08:00
unix-socket.h credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
unpack-trees.c Merge branch 'tg/ce-namelen-field' 2012-07-23 20:55:21 -07:00
unpack-trees.h unpack-trees.c: use path_excluded() in check_ok_to_remove() 2012-06-05 22:21:42 -07:00
upload-pack.c upload-pack: use peel_ref for ref advertisements 2012-10-04 20:34:29 -07:00
url.c Merge branch 'jk/http-auth' 2011-10-17 21:37:15 -07:00
url.h url: decode buffers that are not NUL-terminated 2011-07-20 11:38:34 -07:00
usage.c usage.c: detect recursion in die routines and bail out immediately 2012-11-15 18:04:54 -08:00
userdiff.c Add userdiff patterns for Ada 2012-09-16 21:54:47 -07:00
userdiff.h refactor get_textconv to not require diff_filespec 2011-05-23 15:46:02 -07:00
utf8.c Merge branch 'jx/utf8-printf-width' into maint 2013-02-25 08:03:59 -08:00
utf8.h Merge branch 'jx/utf8-printf-width' into maint 2013-02-25 08:03:59 -08:00
varint.c varint: make it available outside the context of pack 2012-04-03 16:24:44 -07:00
varint.h varint: make it available outside the context of pack 2012-04-03 16:24:44 -07:00
version.c include agent identifier in capability string 2012-08-03 13:03:34 -07:00
version.h include agent identifier in capability string 2012-08-03 13:03:34 -07:00
walker.c Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
walker.h
wrap-for-bin.sh i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
wrapper.c Merge branch 'jn/warn-on-inaccessible-loosen' into maint 2013-01-11 16:47:07 -08:00
write_or_die.c maybe_flush_or_die: move a too-loose Windows specific error 2012-10-17 00:33:42 -07:00
ws.c Rename git_checkattr() to git_check_attr() 2011-08-04 15:53:21 -07:00
wt-status.c Merge branch 'ap/status-ignored-in-ignored-directory' into maint 2013-01-28 11:10:25 -08:00
wt-status.h wt-status.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
xdiff-interface.c xdiff: remove emit_func() and xdi_diff_hunks() 2012-05-09 14:08:42 -07:00
xdiff-interface.h xdiff: remove emit_func() and xdi_diff_hunks() 2012-05-09 14:08:42 -07:00
zlib.c bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -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 version 2 (some parts of it are under different licenses,
compatible with the GPLv2). It was originally written by Linus
Torvalds with help of a group of hackers around the net.

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-scm.com/
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 (read
Documentation/SubmittingPatches for instructions on patch submission).
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://news.gmane.org/gmane.comp.version-control.git/,
http://marc.info/?l=git and other archival sites.

The maintainer frequently sends the "What's cooking" reports that
list the current status of various development topics to the mailing
list.  The discussion following them give a good reference for
project status, development direction and remaining tasks.