Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Ævar Arnfjörð Bjarmason e8b15e6156 sha1_file: Show the the type and path to corrupt objects
Change the error message that's displayed when we encounter corrupt
objects to be more specific. We now print the type (loose or packed)
of corrupted objects, along with the full path to the file in
question.

Before:

    $ git cat-file blob 909ef997367880aaf2133bafa1f1a71aa28e09df
    fatal: object 909ef997367880aaf2133bafa1f1a71aa28e09df is corrupted

After:

    $ git cat-file blob 909ef997367880aaf2133bafa1f1a71aa28e09df
    fatal: loose object 909ef997367880aaf2133bafa1f1a71aa28e09df (stored in .git/objects/90/9ef997367880aaf2133bafa1f1a71aa28e09df) is corrupted

Knowing the path helps to quickly analyze what's wrong:

    $ file .git/objects/90/9ef997367880aaf2133bafa1f1a71aa28e09df
    .git/objects/90/9ef997367880aaf2133bafa1f1a71aa28e09df: empty

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-07-14 15:35:12 -07:00
block-sha1 msvc: Select the "fast" definition of the {get,put}_be32() macros 2010-06-27 21:59:32 -07:00
builtin Merge remote branch 'ko/master' into jc/read-tree-cache-tree-fix 2010-07-08 18:55:50 -07:00
compat
contrib Merge branch 'tr/rev-list-count' 2010-06-30 11:55:38 -07:00
Documentation Git 1.7.2-rc3 2010-07-14 09:42:24 -07:00
git_remote_helpers
git-gui
gitk-git
gitweb gitweb: Move evaluate_gitweb_config out of run_request 2010-07-05 13:28:20 -07:00
perl
ppc
t Merge branch 'jc/read-tree-cache-tree-fix' 2010-07-14 09:34:23 -07:00
templates
xdiff xdiff: optimise for no whitespace difference when ignoring whitespace. 2010-07-05 23:27:41 -07:00
.gitattributes
.gitignore
.mailmap
abspath.c
aclocal.m4
advice.c
advice.h
alias.c Merge branch 'jk/maint-1.6.0-trace-argv' 2009-05-23 01:39:08 -07:00
alloc.c
archive-tar.c
archive-zip.c
archive.c
archive.h
attr.c
attr.h
base85.c
bisect.c
bisect.h
blob.c
blob.h
branch.c
branch.h
builtin.h Merge branch 'cp/textconv-cat-file' 2010-06-27 12:07:55 -07:00
bundle.c
bundle.h
cache-tree.c
cache-tree.h
cache.h Merge branch 'cp/textconv-cat-file' 2010-06-27 12:07:55 -07:00
check_bindir
check-builtins.sh
check-racy.c
color.c
color.h diff: add --word-diff option that generalizes --color-words 2010-04-14 10:56:53 -07:00
combine-diff.c
command-list.txt
commit.c
commit.h Merge branch 'ar/decorate-color' 2010-06-30 11:55:40 -07:00
config.c
config.mak.in Merge branch 'gv/portable' 2010-06-21 06:02:44 -07:00
configure.ac
connect.c
convert.c
copy.c
COPYING Update COPYING with GPLv2 with new FSF address 2010-01-17 14:29:37 -08:00
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c parse_date: fix signedness in timezone calculation 2010-07-05 11:57:07 -07:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c
diff-no-index.c string_list: Fix argument order for string_list_insert 2010-06-27 10:06:51 -07:00
diff.c diff.c: fix a graph output bug 2010-07-08 18:09:14 -07:00
diff.h Merge branch 'ab/blame-textconv' 2010-06-27 12:07:44 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore.h
dir.c Merge branch 'jc/maint-simpler-common-prefix' 2010-06-22 09:45:23 -07:00
dir.h
editor.c editor: use run_command's shell feature 2010-01-05 23:41:51 -08:00
entry.c
environment.c
exec_cmd.c
exec_cmd.h
fast-import.c
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh
git-add--interactive.perl
git-am.sh Merge branch 'js/maint-am-rebase-invalid-author' 2010-06-27 12:07:44 -07:00
git-archimport.perl
git-bisect.sh
git-compat-util.h
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl Merge branch 'eb/core-eol' 2010-06-21 06:02:49 -07:00
git-difftool--helper.sh Make difftool.prompt fall back to mergetool.prompt 2010-01-22 15:57:45 -08:00
git-difftool.perl difftool: Fix '--gui' when diff.guitool is unconfigured 2010-03-28 09:29:12 -07:00
git-filter-branch.sh
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh
git-parse-remote.sh
git-pull.sh
git-quiltimport.sh
git-rebase--interactive.sh
git-rebase.sh rebase: improve error message when upstream argument is missing 2010-05-31 17:53:23 -07:00
git-relink.perl Make usage strings dash-less 2008-07-13 14:12:48 -07:00
git-remote-testgit.py
git-repack.sh
git-request-pull.sh
git-send-email.perl Merge branch 'tr/send-email-8bit' into maint 2010-06-28 16:19:03 -07:00
git-sh-setup.sh
git-stash.sh
git-submodule.sh Merge branch 'jl/status-ignore-submodules' 2010-06-30 11:55:39 -07:00
git-svn.perl
GIT-VERSION-GEN Git 1.7.1.1 2010-06-29 09:59:56 -07:00
git-web--browse.sh
git.c
git.spec.in git.spec.in: Add gitweb subpackage 2010-06-30 15:49:18 -07:00
graph.c
graph.h
grep.c
grep.h
hash.c
hash.h
help.c
help.h
hex.c
http-backend.c Merge branch 'jp/string-list-api-cleanup' 2010-06-30 11:55:38 -07:00
http-fetch.c
http-push.c
http-walker.c
http.c
http.h
ident.c
imap-send.c
INSTALL
levenshtein.c
levenshtein.h
list-objects.c
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c Allow customizable commit decorations colors 2010-06-24 12:57:34 -07:00
log-tree.h Allow customizable commit decorations colors 2010-06-24 12:57:34 -07:00
mailmap.c string_list: Fix argument order for string_list_lookup 2010-06-27 10:06:51 -07:00
mailmap.h
Makefile
match-trees.c
merge-file.c
merge-recursive.c string_list: Fix argument order for string_list_lookup 2010-06-27 10:06:51 -07:00
merge-recursive.h
name-hash.c
notes-cache.c
notes-cache.h
notes.c Merge branch 'jp/string-list-api-cleanup' 2010-06-30 11:55:38 -07:00
notes.h Merge branch 'maint' 2010-06-25 11:45:27 -07:00
object.c
object.h
pack-check.c
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options.c
parse-options.h
patch-delta.c
patch-ids.c
patch-ids.h
path.c
pkt-line.c
pkt-line.h
preload-index.c
pretty.c Merge branch 'mg/pretty-magic-space' 2010-06-22 09:45:22 -07:00
progress.c
progress.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c
README README: git lives at http://git-scm.com these days 2009-10-07 12:47:24 -07:00
reflog-walk.c string_list: Fix argument order for string_list_lookup 2010-06-27 10:06:51 -07:00
reflog-walk.h
refs.c Merge branch 'maint' 2010-07-07 11:18:26 -07:00
refs.h
RelNotes backmerge a few more fixes to 1.7.1.X series 2010-07-07 11:16:32 -07:00
remote-curl.c
remote.c Merge branch 'jp/string-list-api-cleanup' 2010-06-30 11:55:38 -07:00
remote.h
replace_object.c
rerere.c Merge branch 'jp/string-list-api-cleanup' 2010-06-30 11:55:38 -07:00
rerere.h
resolve-undo.c string_list: Fix argument order for string_list_lookup 2010-06-27 10:06:51 -07:00
resolve-undo.h build: make code "-Wpointer-arith" clean 2010-02-01 22:04:03 -08:00
revision.c Merge branch 'jp/string-list-api-cleanup' 2010-06-30 11:55:38 -07:00
revision.h Merge branch 'tr/rev-list-count' 2010-06-30 11:55:38 -07:00
run-command.c
run-command.h
send-pack.h
server-info.c
setup.c Use dev_t for device id (st_dev) from stat in setup_git_directory_gently() 2010-07-14 07:57:08 -07:00
sha1_file.c sha1_file: Show the the type and path to corrupt objects 2010-07-14 15:35:12 -07:00
sha1_name.c Merge branch 'cp/textconv-cat-file' 2010-06-27 12:07:55 -07:00
sha1-lookup.c
sha1-lookup.h
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h refactor signal handling for cleanup functions 2009-01-21 22:46:53 -08:00
strbuf.c
strbuf.h
string-list.c string_list: Fix argument order for string_list_append 2010-06-27 10:06:52 -07:00
string-list.h string_list: Fix argument order for string_list_append 2010-06-27 10:06:52 -07:00
submodule.c Add the option "--ignore-submodules" to "git status" 2010-06-25 11:30:25 -07:00
submodule.h Add the option "--ignore-submodules" to "git status" 2010-06-25 11:30:25 -07:00
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c
test-ctype.c
test-date.c test-date: fix sscanf type conversion 2010-07-06 08:42:15 -07:00
test-delta.c Nicolas Pitre has a new email address 2009-09-14 02:23:36 -07:00
test-dump-cache-tree.c
test-genrandom.c
test-index-version.c
test-match-trees.c A new merge stragety 'subtree'. 2007-04-07 02:29:40 -07:00
test-parse-options.c
test-path-utils.c
test-run-command.c
test-sha1.c
test-sha1.sh more tr portability test script fixes 2008-03-13 00:57:52 -07:00
test-sigchain.c
thread-utils.c
thread-utils.h
trace.c
transport-helper.c string_list: Fix argument order for string_list_append 2010-06-27 10:06:52 -07:00
transport.c
transport.h
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
tree.h
unimplemented.sh
unpack-trees.c Merge branch 'bd/maint-unpack-trees-parawalk-fix' into maint 2010-06-28 16:18:02 -07:00
unpack-trees.h
upload-pack.c
url.c url_decode: URL scheme ends with a colon and does not require a slash 2010-06-24 13:36:30 -07:00
url.h
usage.c
userdiff.c
userdiff.h
utf8.c
utf8.h
walker.c
walker.h
wrap-for-bin.sh wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR 2010-03-02 16:27:03 -08:00
wrapper.c
write_or_die.c
ws.c
wt-status.c Merge branch 'jl/status-ignore-submodules' 2010-06-30 11:55:39 -07:00
wt-status.h Merge branch 'jl/status-ignore-submodules' 2010-06-30 11:55:39 -07:00
xdiff-interface.c Merge branch 'maint-1.7.0' into maint 2010-05-04 15:20:47 -07: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-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. 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.