Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Elia Pinto 142efa3e43 t1001-read-tree-m-2way.sh: use the $( ... ) construct for command substitution
The Git CodingGuidelines prefer the $(...) construct for command
substitution instead of using the backquotes `...`.

The backquoted form is the traditional method for command
substitution, and is supported by POSIX.  However, all but the
simplest uses become complicated quickly.  In particular, embedded
command substitutions and/or the use of double quotes require
careful escaping with the backslash character.

The patch was generated by:

for _f in $(find . -name "*.sh")
do
   sed -i 's@`\(.*\)`@$(\1)@g' ${_f}
done

and then carefully proof-read.

Signed-off-by: Elia Pinto <gitter.spiros@gmail.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-04-29 12:44:32 -07:00
block-sha1 Merge branch 'jk/pack-bitmap' 2014-02-27 14:01:48 -08:00
builtin Merge branch 'nd/index-pack-error-message' 2014-03-25 11:08:19 -07:00
compat Merge branch 'nd/no-more-fnmatch' 2014-03-14 14:25:31 -07:00
contrib appp.sh: use the $( ... ) construct for command substitution 2014-04-23 15:17:01 -07:00
Documentation install-webdoc.sh: use the $( ... ) construct for command substitution 2014-04-17 11:14:58 -07:00
ewah ewah: unconditionally ntohll ewah data 2014-02-12 11:21:29 -08:00
git-gui git-gui 0.19.0 2014-01-21 13:16:17 -08:00
gitk-git Merge git://ozlabs.org/~paulus/gitk 2014-01-23 08:50:50 -08:00
gitweb gitweb: Avoid overflowing page body frame with large images 2014-02-20 09:50:14 -08:00
mergetools
perl git-svn: memoize _rev_list and rebuild 2014-01-23 02:54:26 +00:00
po i18n: proposed command missing leading dash 2014-03-05 22:10:24 +08:00
ppc
t t1001-read-tree-m-2way.sh: use the $( ... ) construct for command substitution 2014-04-29 12:44:32 -07:00
templates
vcs-svn
xdiff
.gitattributes
.gitignore Merge branch 'kb/fast-hashmap' 2014-02-27 14:01:09 -08:00
.mailmap
abspath.c Merge branch 'ap/path-max' 2014-01-10 10:32:18 -08:00
aclocal.m4
advice.c Merge branch 'jc/push-2.0-default-to-simple' 2014-03-07 15:13:15 -08:00
advice.h Merge branch 'jc/push-2.0-default-to-simple' 2014-03-07 15:13:15 -08:00
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c Merge branch 'rm/strchrnul-not-strlen' 2014-03-18 13:51:18 -07:00
archive.h
argv-array.c
argv-array.h
attr.c attr.c: use ALLOC_GROW() in handle_attr_line() 2014-03-03 14:54:37 -08:00
attr.h
base85.c
bisect.c Merge branch 'ep/varscope' 2014-02-27 14:01:30 -08:00
bisect.h
blob.c Replace parse_blob() with an explanatory comment 2010-01-18 17:04:02 -08:00
blob.h
branch.c Merge branch 'bg/install-branch-config-skip-prefix' 2014-03-18 13:51:09 -07:00
branch.h
builtin.h builtin/help.c: speed up is_git_command() by checking for builtin commands first 2014-01-06 11:26:31 -08:00
bulk-checkin.c finish_tmp_packfile():use strbuf for pathname construction 2014-03-03 12:15:10 -08:00
bulk-checkin.h
bundle.c Merge branch 'sh/use-hashcpy' 2014-03-18 13:51:05 -07:00
bundle.h Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
cache-tree.c Merge branch 'rm/strchrnul-not-strlen' 2014-03-18 13:51:18 -07:00
cache-tree.h
cache.h Merge branch 'nd/tag-version-sort' 2014-03-21 12:47:39 -07:00
check_bindir
check-builtins.sh check-builtins.sh: use the $(...) construct for command substitution 2014-03-25 13:42:52 -07:00
check-racy.c
color.c
color.h
column.c
column.h
combine-diff.c combine-diff: simplify intersect_paths() further 2014-02-24 14:44:57 -08:00
command-list.txt
commit-slab.h
commit.c Merge branch 'dd/use-alloc-grow' 2014-03-18 13:50:21 -07:00
commit.h shallow: automatically clean up shallow tempfiles 2014-02-27 12:07:13 -08:00
config.c Merge branch 'jk/config-path-include-fix' into maint 2014-03-18 14:00:15 -07:00
config.mak.in
config.mak.uname stop using fnmatch (either native or compat) 2014-02-20 14:16:11 -08:00
configure.ac Merge branch 'dm/configure-iconv-locale-charset' 2014-03-25 11:07:51 -07:00
connect.c Merge branch 'nd/indent-fix-connect-c' 2014-03-25 11:07:06 -07:00
connect.h connect.c: refactor url parsing 2013-12-09 14:54:48 -08:00
connected.c Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
connected.h connected.c: add new variant that runs with --shallow-file 2013-12-10 16:14:18 -08:00
convert.c
convert.h
copy.c
COPYING
credential-cache--daemon.c
credential-cache.c
credential-store.c
credential.c
credential.h
csum-file.c Merge branch 'jk/sha1write-void' 2014-01-10 10:33:09 -08:00
csum-file.h Merge branch 'jk/sha1write-void' 2014-01-10 10:33:09 -08:00
ctype.c
daemon.c daemon: move daemonize() to libgit.a 2014-02-10 10:46:35 -08:00
date.c Merge branch 'jk/commit-dates-parsing-fix' into maint 2014-03-18 14:04:01 -07:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c Merge branch 'jc/hold-diff-remove-q-synonym-for-no-deletion' 2014-03-07 15:17:41 -08:00
diff-no-index.c Merge branch 'bb/diff-no-index-dotdot' 2014-03-25 11:08:31 -07:00
diff.c Merge branch 'tr/diff-submodule-no-reuse-worktree' into maint 2014-03-18 14:03:41 -07:00
diff.h Merge branch 'jc/hold-diff-remove-q-synonym-for-no-deletion' 2014-03-07 15:17:41 -08:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c Merge branch 'nd/no-more-fnmatch' 2014-03-14 14:25:31 -07:00
diffcore-pickaxe.c
diffcore-rename.c Merge branch 'dd/use-alloc-grow' 2014-03-18 13:50:21 -07:00
diffcore.h Merge branch 'nd/diff-quiet-stat-dirty' into maint 2014-03-18 13:59:56 -07:00
dir.c Merge branch 'dd/use-alloc-grow' 2014-03-18 13:50:21 -07:00
dir.h pathspec: pass directory indicator to match_pathspec_item() 2014-02-24 14:37:19 -08:00
editor.c
entry.c Merge branch 'mh/remove-subtree-long-pathname-fix' 2014-03-25 11:07:09 -07:00
environment.c rename read_replace_refs to check_replace_refs 2014-02-20 14:16:55 -08:00
exec_cmd.c
exec_cmd.h
fast-import.c use strchrnul() in place of strchr() and strlen() 2014-03-10 08:35:30 -07:00
fetch-pack.c Merge branch 'jk/shallow-update-fix' 2014-03-21 12:33:29 -07:00
fetch-pack.h Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
fmt-merge-msg.h
fsck.c date: check date overflow against time_t 2014-02-24 10:12:58 -08:00
fsck.h
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl git-add--interactive: warn if module for interactive.singlekey is missing 2014-03-03 14:11:18 -08:00
git-am.sh git-am.sh: use the $(...) construct for command substitution 2014-03-25 13:43:32 -07:00
git-archimport.perl
git-bisect.sh git-bisect.sh: fix a few style issues 2014-03-03 18:29:34 -08:00
git-compat-util.h Merge branch 'dk/skip-prefix-scan-only-once' 2014-03-21 12:47:41 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh difftool: display the number of files in the diff queue in the prompt 2013-12-06 14:00:27 -08:00
git-difftool.perl difftool: support repositories with .git-files 2014-02-24 09:53:57 -08:00
git-filter-branch.sh
git-instaweb.sh git-sh-setup.sh: add variable to use the stuck-long mode 2014-02-03 12:11:10 -08:00
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh
git-p4.py git p4: fix an error message when "p4 where" fails 2014-01-22 08:06:19 -08:00
git-parse-remote.sh
git-pull.sh git-pull.sh: use the $( ... ) construct for command substitution 2014-04-23 15:17:02 -07:00
git-quiltimport.sh git-sh-setup.sh: add variable to use the stuck-long mode 2014-02-03 12:11:10 -08:00
git-rebase--am.sh rebase: add the --gpg-sign option 2014-02-11 14:48:20 -08:00
git-rebase--interactive.sh Merge branch 'us/printf-not-echo' 2014-03-25 11:08:27 -07:00
git-rebase--merge.sh git-rebase--merge.sh: use the $( ... ) construct for command substitution 2014-04-23 15:17:02 -07:00
git-rebase.sh git-rebase.sh: use the $( ... ) construct for command substitution 2014-04-23 15:17:02 -07:00
git-relink.perl
git-remote-testgit.sh
git-request-pull.sh Merge branch 'lt/request-pull' 2014-03-21 12:50:44 -07:00
git-send-email.perl Merge branch 'rk/send-email-ssl-cert' into maint 2014-02-13 13:38:19 -08:00
git-sh-i18n.sh
git-sh-setup.sh git-sh-setup.sh: add variable to use the stuck-long mode 2014-02-03 12:11:10 -08:00
git-stash.sh git-stash.sh: use the $( ... ) construct for command substitution 2014-04-23 15:17:02 -07:00
git-submodule.sh Merge branch 'jl/doc-submodule-update-checkout' 2014-03-14 14:26:58 -07:00
git-svn.perl
GIT-VERSION-GEN Git 1.9.1 2014-03-18 14:16:16 -07:00
git-web--browse.sh git-web--browse.sh: use the $( ... ) construct for command substitution 2014-04-23 15:17:02 -07:00
git.c rename read_replace_refs to check_replace_refs 2014-02-20 14:16:55 -08:00
git.rc Makefile: Fix compilation of Windows resource file 2014-01-23 10:00:28 -08:00
git.spec.in
gpg-interface.c
gpg-interface.h
graph.c
graph.h
grep.c Merge branch 'rs/grep-h-c' 2014-03-18 13:51:20 -07:00
grep.h
hashmap.c
hashmap.h hashmap.h: use 'unsigned int' for hash-codes everywhere 2014-02-24 15:26:30 -08:00
help.c Merge branch 'rt/help-pretty-prints-cmd-names' 2014-03-14 14:27:00 -07:00
help.h
hex.c
http-backend.c
http-fetch.c
http-push.c
http-walker.c
http.c Merge branch 'mh/object-code-cleanup' 2014-03-14 14:26:29 -07:00
http.h http: never use curl_easy_perform 2014-02-18 15:50:57 -08:00
ident.c
imap-send.c
INSTALL
khash.h pack-bitmap: add support for bitmap indexes 2013-12-30 12:19:22 -08:00
kwset.c
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1 provide a copy of the LGPLv2.1 2011-05-19 18:23:17 -07:00
line-log.c line-log: convert to using diff_tree_sha1() 2014-02-05 10:50:36 -08:00
line-log.h
line-range.c
line-range.h
list-objects.c Merge branch 'jk/mark-edges-uninteresting' 2014-01-27 10:45:08 -08:00
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c rename read_replace_refs to check_replace_refs 2014-02-20 14:16:55 -08:00
log-tree.h
mailmap.c
mailmap.h
Makefile Merge branch 'nd/tag-version-sort' 2014-03-21 12:47:39 -07:00
match-trees.c use strchrnul() in place of strchr() and strlen() 2014-03-10 08:35:30 -07:00
merge-blobs.c
merge-blobs.h
merge-recursive.c Merge branch 'bk/refresh-missing-ok-in-merge-recursive' into maint 2014-03-18 14:02:38 -07:00
merge-recursive.h
merge.c
mergesort.c
mergesort.h
name-hash.c name-hash: retire unused index_name_exists() 2014-02-24 15:26:33 -08:00
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h
notes-utils.c notes-utils: handle boolean notes.rewritemode correctly 2014-02-18 15:51:29 -08:00
notes-utils.h
notes.c
notes.h
object.c Document some functions defined in object.c 2014-02-28 13:18:09 -08:00
object.h Document some functions defined in object.c 2014-02-28 13:18:09 -08:00
pack-bitmap-write.c Use hashcpy() when copying object names 2014-03-06 14:03:12 -08:00
pack-bitmap.c pack-bitmap: implement optional name_hash cache 2013-12-30 12:19:23 -08:00
pack-bitmap.h pack-bitmap: implement optional name_hash cache 2013-12-30 12:19:23 -08:00
pack-check.c
pack-objects.c
pack-objects.h pack-objects: implement bitmap writing 2013-12-30 12:19:22 -08:00
pack-revindex.c do not discard revindex when re-preparing packfiles 2014-01-16 14:33:46 -08:00
pack-revindex.h do not discard revindex when re-preparing packfiles 2014-01-16 14:33:46 -08:00
pack-write.c finish_tmp_packfile():use strbuf for pathname construction 2014-03-03 12:15:10 -08:00
pack.h finish_tmp_packfile():use strbuf for pathname construction 2014-03-03 12:15:10 -08:00
pager.c Merge branch 'jn/pager-lv-default-env' 2014-01-13 11:33:35 -08:00
parse-options-cb.c
parse-options.c use strchrnul() in place of strchr() and strlen() 2014-03-10 08:35:30 -07:00
parse-options.h parse-options: remove OPT_BOOLEAN 2013-12-09 11:24:16 -08:00
patch-delta.c
patch-ids.c patch-ids.c: use ALLOC_GROW() in add_commit() 2014-03-03 14:49:12 -08:00
patch-ids.h
path.c Merge branch 'jk/config-path-include-fix' into maint 2014-03-18 14:00:15 -07:00
pathspec.c pathspec: convert some match_pathspec_depth() to ce_path_match() 2014-02-24 14:36:52 -08:00
pathspec.h Support pathspec magic :(exclude) and its short form :! 2013-12-06 13:00:39 -08:00
pkt-line.c
pkt-line.h
preload-index.c pathspec: convert some match_pathspec_depth() to ce_path_match() 2014-02-24 14:36:52 -08:00
pretty.c Merge branch 'jk/commit-dates-parsing-fix' into maint 2014-03-18 14:04:01 -07:00
prio-queue.c sort-in-topological-order: use prio-queue 2013-06-11 15:15:21 -07:00
prio-queue.h
progress.c i18n: mark all progress lines for translation 2014-02-24 09:08:37 -08:00
progress.h
prompt.c Revert "prompt: clean up strbuf usage" 2014-01-02 10:21:40 -08:00
prompt.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c Merge branch 'bk/refresh-missing-ok-in-merge-recursive' into maint 2014-03-18 14:02:38 -07:00
README
reflog-walk.c Merge branch 'sh/use-hashcpy' 2014-03-18 13:51:05 -07:00
reflog-walk.h
refs.c Merge branch 'sh/use-hashcpy' 2014-03-18 13:51:05 -07:00
refs.h
RelNotes Git 1.9.1 2014-03-18 14:16:16 -07:00
remote-curl.c http: never use curl_easy_perform 2014-02-18 15:50:57 -08:00
remote-testsvn.c use strchrnul() in place of strchr() and strlen() 2014-03-10 08:35:30 -07:00
remote.c Merge branch 'jk/remote-pushremote-config-reading' into maint 2014-03-18 14:04:16 -07:00
remote.h push: detect local refspec errors early 2014-03-05 13:23:27 -08:00
replace_object.c Merge branch 'dd/use-alloc-grow' 2014-03-18 13:50:21 -07:00
rerere.c pathspec: pass directory indicator to match_pathspec_item() 2014-02-24 14:37:19 -08:00
rerere.h
resolve-undo.c Merge branch 'nd/submodule-pathspec-ending-with-slash' 2014-02-27 14:01:15 -08:00
resolve-undo.h
revision.c Merge branch 'jk/warn-on-object-refname-ambiguity' 2014-03-25 11:07:36 -07:00
revision.h Merge branch 'jk/pack-bitmap' 2014-02-27 14:01:48 -08:00
run-command.c
run-command.h
send-pack.c Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
send-pack.h remote.h: replace struct extra_have_objects with struct sha1_array 2013-12-10 16:14:15 -08:00
sequencer.c cherry-pick, revert: add the --gpg-sign option 2014-01-27 15:15:52 -08:00
sequencer.h cherry-pick, revert: add the --gpg-sign option 2014-01-27 15:15:52 -08:00
server-info.c
setup.c Merge branch 'nd/daemonize-gc' 2014-03-05 15:06:39 -08:00
sh-i18n--envsubst.c sh-i18n--envsubst: retire unused string_list_member() 2014-03-12 15:04:55 -07:00
sha1_file.c Merge branch 'dd/use-alloc-grow' 2014-03-18 13:50:21 -07:00
sha1_name.c Merge branch 'jk/interpret-branch-name-fix' 2014-01-27 10:44:21 -08:00
sha1-array.c
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.h
shallow.c shallow: verify shallow file after taking lock 2014-03-17 15:03:32 -07:00
shell.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c
strbuf.h strbuf: style fix -- top opening bracket on a separate line 2014-03-03 12:26:08 -08:00
streaming.c open_istream(): do not dereference NULL in the error case 2014-02-18 16:00:53 -08:00
streaming.h
string-list.c
string-list.h
submodule.c Merge branch 'kb/fast-hashmap' 2014-02-27 14:01:09 -08:00
submodule.h
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c
test-genrandom.c
test-hashmap.c test-hashmap.c: drop unnecessary #includes 2014-02-24 14:33:46 -08:00
test-index-version.c
test-line-buffer.c
test-match-trees.c
test-mergesort.c
test-mktemp.c
test-parse-options.c
test-path-utils.c
test-prio-queue.c
test-read-cache.c
test-regex.c
test-revision-walking.c
test-run-command.c
test-scrap-cache-tree.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c
test-subprocess.c
test-svn-fe.c
test-urlmatch-normalization.c
test-wildmatch.c stop using fnmatch (either native or compat) 2014-02-20 14:16:11 -08:00
thread-utils.c
thread-utils.h
trace.c shallow.c: the 8 steps to select new commits for .git/shallow 2013-12-10 16:14:16 -08:00
transport-helper.c Merge branch 'fc/transport-helper-fixes' 2014-03-18 13:49:33 -07:00
transport.c push: detect local refspec errors early 2014-03-05 13:23:27 -08:00
transport.h fetch: add --update-shallow to accept refs that update .git/shallow 2013-12-10 16:14:17 -08:00
tree-diff.c tree-diff: convert diff_root_tree_sha1() to just call diff_tree_sha1 with old=NULL 2014-02-05 10:49:07 -08:00
tree-walk.c tree-walk: finally switch over tree descriptors to contain a pre-parsed entry 2014-02-24 14:43:29 -08:00
tree-walk.h tree-walk: finally switch over tree descriptors to contain a pre-parsed entry 2014-02-24 14:43:29 -08:00
tree.c
tree.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c Merge branch 'nd/i18n-progress' 2014-03-14 14:26:31 -07:00
unpack-trees.h
upload-pack.c Merge branch 'nd/upload-pack-shallow' 2014-03-21 12:49:08 -07:00
url.c
url.h
urlmatch.c
urlmatch.h
usage.c
userdiff.c userdiff: update Ada patterns 2014-02-05 10:45:51 -08:00
userdiff.h
utf8.c utf8: use correct type for values in interval table 2014-02-18 15:51:40 -08:00
utf8.h
varint.c
varint.h
version.c
version.h
versioncmp.c tag: support --sort=<spec> 2014-02-27 14:04:05 -08:00
walker.c
walker.h
wildmatch.c
wildmatch.h
wrap-for-bin.sh
wrapper.c typofixes: fix misspelt comments 2013-11-12 09:24:27 -08:00
write_or_die.c
ws.c use strchrnul() in place of strchr() and strlen() 2014-03-10 08:35:30 -07:00
wt-status.c Merge branch 'nd/commit-editor-cleanup' 2014-03-25 11:07:48 -07:00
wt-status.h wt-status.c: move cut-line print code out to wt_status_add_cut_line 2014-02-18 15:50:40 -08:00
xdiff-interface.c xdiff: remove emit_func() and xdi_diff_hunks() 2012-05-09 14:08:42 -07:00
xdiff-interface.h
zlib.c

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

	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.