Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Nguyễn Thái Ngọc Duy 8aff1a9ca5 Add a place for (not) sharing stuff between worktrees
When multiple worktrees are used, we need rules to determine if
something belongs to one worktree or all of them. Instead of keeping
adding rules when new stuff comes (*), have a generic rule:

- Inside $GIT_DIR, which is per-worktree by default, add
  $GIT_DIR/common which is always shared. New features that want to
  share stuff should put stuff under this directory.

- Inside refs/, which is shared by default except refs/bisect, add
  refs/worktree/ which is per-worktree. We may eventually move
  refs/bisect to this new location and remove the exception in refs
  code.

(*) And it may also include stuff from external commands which will
    have no way to modify common/per-worktree rules.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-10-07 08:21:18 +09:00
.github
block-sha1
builtin Sync with 2.19.1 2018-09-27 11:53:39 -07:00
ci Merge branch 'nd/pack-deltify-regression-fix' 2018-08-22 11:17:05 -07:00
compat Merge branch 'js/mingw-o-append' 2018-09-24 10:30:47 -07:00
contrib convert "hashcmp() != 0" to "!hasheq()" 2018-08-29 11:32:49 -07:00
Documentation Add a place for (not) sharing stuff between worktrees 2018-10-07 08:21:18 +09:00
ewah ewah: delete unused 'rlwit_discharge_empty()' 2018-06-21 09:39:48 -07:00
git-gui Merge branch 'cb/git-gui-ttk-style' 2018-04-25 13:28:49 +09:00
gitk-git
gitweb gitweb: hard-depend on the Digest::MD5 5.8 module 2018-03-05 10:52:27 -08:00
mergetools mergetools: add support for guiffy 2018-04-06 08:11:39 +09:00
negotiator Merge branch 'jt/fetch-negotiator-skipping' 2018-08-02 15:30:46 -07:00
perl Merge branch 'ab/git-svn-get-record-typofix' 2018-05-08 15:59:28 +09:00
po l10n: zh_CN: for git v2.19.0 l10n round 1 to 2 2018-09-09 22:38:39 +08:00
ppc
refs Add a place for (not) sharing stuff between worktrees 2018-10-07 08:21:18 +09:00
sha1collisiondetection@232357eb2e sha1dc: update from upstream 2018-08-02 13:54:58 -07:00
sha1dc sha1dc: update from upstream 2018-08-02 13:54:58 -07:00
t Add a place for (not) sharing stuff between worktrees 2018-10-07 08:21:18 +09:00
templates Update shell scripts to compute empty tree object ID 2018-05-02 13:59:53 +09:00
vcs-svn Convert remaining die*(BUG) messages 2018-05-06 19:06:14 +09:00
xdiff Merge branch 'sb/indent-heuristic-optim' 2018-08-17 13:09:57 -07:00
.clang-format clang-format: adjust penalty for return type line break 2018-01-24 13:42:04 -08:00
.gitattributes .gitattributes: add conflict-marker-size for relevant files 2018-08-29 11:27:31 -07:00
.gitignore Sync 'ds/multi-pack-index' to v2.19.0-rc0 2018-08-20 15:29:54 -07:00
.gitmodules sha1dc: optionally use sha1collisiondetection as a submodule 2017-07-03 10:09:34 -07:00
.mailmap .mailmap: merge different spellings of names 2018-06-29 09:29:44 -07:00
.travis.yml travis-ci: run gcc-8 on linux-gcc jobs 2018-05-21 14:14:09 +09:00
.tsan-suppressions ThreadSanitizer: add suppressions 2017-08-23 10:38:56 -07:00
abspath.c real_path: clarify return value ownership 2017-09-27 09:13:47 +09:00
aclocal.m4 configure: use AC_LANG_PROGRAM consistently 2011-02-14 10:55:15 -08:00
advice.c Merge branch 'ab/checkout-default-remote' 2018-08-02 15:30:41 -07:00
advice.h Merge branch 'ab/checkout-default-remote' 2018-08-02 15:30:41 -07:00
alias.c completion: add and use --list-cmds=alias 2018-05-21 13:23:14 +09:00
alias.h completion: add and use --list-cmds=alias 2018-05-21 13:23:14 +09:00
alloc.c alloc: make allocate_alloc_state and clear_alloc_state more consistent 2018-08-15 11:52:09 -07:00
alloc.h alloc: make allocate_alloc_state and clear_alloc_state more consistent 2018-08-15 11:52:09 -07:00
apply.c apply.c: remove implicit dependency on the_index 2018-08-13 14:14:44 -07:00
apply.h Merge branch 'en/incl-forward-decl' 2018-08-20 12:41:32 -07:00
archive-tar.c Merge branch 'nd/no-the-index' 2018-08-20 11:33:53 -07:00
archive-zip.c Merge branch 'nd/no-the-index' 2018-08-20 11:33:53 -07:00
archive.c Make git_check_attr() a void function 2018-09-12 15:15:34 -07:00
archive.h Merge branch 'en/incl-forward-decl' 2018-08-20 12:41:32 -07:00
argv-array.c Merge branch 'ma/unpack-trees-free-msgs' 2018-05-30 21:51:29 +09:00
argv-array.h Merge branch 'ma/unpack-trees-free-msgs' 2018-05-30 21:51:29 +09:00
attr.c Make git_check_attr() a void function 2018-09-12 15:15:34 -07:00
attr.h Make git_check_attr() a void function 2018-09-12 15:15:34 -07:00
banned.h banned.h: mark strncpy() as banned 2018-07-26 10:12:51 -07:00
base85.c base85.c: have SP around arithmetic operators 2013-10-16 10:27:26 -07:00
bisect.c Merge branch 'nd/bisect-show-list-fix' 2018-09-17 13:54:00 -07:00
bisect.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
blame.c convert "oidcmp() != 0" to "!oideq()" 2018-08-29 11:32:49 -07:00
blame.h blame.c: remove implicit dependency on the_index 2018-08-13 14:14:44 -07:00
blob.c blob: allow lookup_blob to handle arbitrary repositories 2018-06-29 10:43:39 -07:00
blob.h blob: allow lookup_blob to handle arbitrary repositories 2018-06-29 10:43:39 -07:00
branch.c Merge branch 'ab/unconditional-free-and-null' 2018-08-27 14:33:42 -07:00
branch.h Move definition of enum branch_track from cache.h to branch.h 2018-08-15 11:52:09 -07:00
builtin.h Sync 'ds/multi-pack-index' to v2.19.0-rc0 2018-08-20 15:29:54 -07:00
bulk-checkin.c convert "oidcmp() == 0" to oideq() 2018-08-29 11:32:49 -07:00
bulk-checkin.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
bundle.c convert "oidcmp() != 0" to "!oideq()" 2018-08-29 11:32:49 -07:00
bundle.h bundle: convert to struct object_id 2017-05-02 10:46:41 +09:00
cache-tree.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
cache-tree.h Merge branch 'nd/unpack-trees-with-cache-tree' 2018-09-17 13:53:53 -07:00
cache.h Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
chdir-notify.c add chdir-notify API 2018-03-30 12:49:57 -07:00
chdir-notify.h add chdir-notify API 2018-03-30 12:49:57 -07:00
check_bindir check_bindir: avoid "test <cond> -a/-o <cond>" 2014-06-09 14:47:06 -07:00
check-builtins.sh check-builtins: strip executable suffix $X when enumerating builtins 2015-02-05 12:03:27 -08:00
check-racy.c check-racy.c: use error_errno() 2016-05-09 12:29:08 -07:00
checkout.c checkout & worktree: introduce checkout.defaultRemote 2018-06-11 09:41:02 -07:00
checkout.h checkout: pass the "num_matches" up to callers 2018-06-11 09:41:01 -07:00
color.c color: protect against out-of-bounds reads and writes 2018-08-03 08:52:05 -07:00
color.h range-diff: use dim/bold cues to improve dual color mode 2018-08-13 10:44:52 -07:00
column.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
column.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
combine-diff.c convert "oidcmp() == 0" to oideq() 2018-08-29 11:32:49 -07:00
command-list.txt Sync 'ds/multi-pack-index' to v2.19.0-rc0 2018-08-20 15:29:54 -07:00
commit-graph.c Merge branch 'ds/commit-graph-tests' 2018-09-17 13:53:58 -07:00
commit-graph.h Merge branch 'ds/commit-graph-tests' 2018-09-17 13:53:58 -07:00
commit-reach.c Merge branch 'ds/reachable' 2018-09-24 10:30:52 -07:00
commit-reach.h commit-reach: make can_all_from_reach... linear 2018-07-20 15:38:56 -07:00
commit-slab-decl.h commit-slab: support shared commit-slab 2018-05-21 14:07:19 +09:00
commit-slab-impl.h commit-slabs: remove realloc counter outside of slab struct 2018-06-29 10:43:40 -07:00
commit-slab.h commit-slab: support shared commit-slab 2018-05-21 14:07:19 +09:00
commit.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
commit.h Merge branch 'jk/trailer-fixes' 2018-09-17 13:53:54 -07:00
common-main.c Merge branch 'dj/runtime-prefix' 2018-05-08 15:59:17 +09:00
config.c i18n: fix mistakes in translated strings 2018-08-23 14:29:12 -07:00
config.h Merge branch 'en/incl-forward-decl' 2018-08-20 12:41:32 -07:00
config.mak.dev Merge branch 'jk/dev-build-format-security' 2018-09-24 10:30:49 -07:00
config.mak.in Merge branch 'jc/remove-export-from-config-mak-in' 2013-04-01 09:00:02 -07:00
config.mak.uname Merge branch 'es/freebsd-iconv-portability' 2018-09-04 14:31:39 -07:00
configure.ac Merge branch 'es/fread-reads-dir-autoconf-fix' 2018-04-25 13:29:01 +09:00
connect.c convert "oidcmp() == 0" to oideq() 2018-08-29 11:32:49 -07:00
connect.h fixup! connect.h: avoid forward declaration of an enum 2018-07-09 14:35:39 -07:00
connected.c fetch-pack: write shallow, then check connectivity 2018-07-03 14:57:44 -07:00
connected.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
convert.c Make git_check_attr() a void function 2018-09-12 15:15:34 -07:00
convert.h Merge branch 'en/incl-forward-decl' 2018-08-20 12:41:32 -07:00
copy.c copy.c: use error_errno() 2016-05-09 12:29:08 -07:00
COPYING Update COPYING with GPLv2 with new FSF address 2010-01-17 14:29:37 -08:00
credential-cache--daemon.c
credential-cache.c Merge branch 'dl/credential-cache-socket-in-xdg-cache' 2017-08-11 13:27:06 -07:00
credential-store.c path.c: and an option to call real_path() in expand_user_path() 2017-04-14 23:51:38 -07:00
credential.c credential: ignore SIGPIPE when writing to credential helpers 2018-03-29 15:33:55 -07:00
credential.h credential: let helpers tell us to quit 2014-12-04 10:11:12 -08:00
csum-file.c csum-file: refactor finalize_hashfile() method 2018-04-02 14:27:30 -07:00
csum-file.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
ctype.c
daemon.c Merge branch 'lw/daemon-log-destination' 2018-04-25 13:28:58 +09:00
date.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
decorate.c decorate: clean up and document API 2017-12-08 09:16:27 -08:00
decorate.h decorate: clean up and document API 2017-12-08 09:16:27 -08:00
delta-islands.c pack-objects: move 'layer' into 'struct packing_data' 2018-08-16 10:56:44 -07:00
delta-islands.h Add delta-islands.{c,h} 2018-08-16 10:51:17 -07:00
delta.h
detect-compiler Makefile: detect compiler and enable more warnings in DEVELOPER=1 2018-04-16 13:54:53 +09:00
diff-delta.c Merge branch 'mk/diff-delta-avoid-large-offset' 2017-09-28 14:47:56 +09:00
diff-lib.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
diff-no-index.c diff: make struct diff_flags members lowercase 2017-11-01 11:51:40 +09:00
diff.c Merge branch 'sb/diff-color-move-more' 2018-09-24 10:30:48 -07:00
diff.h Merge branch 'sb/range-diff-colors' 2018-09-17 13:53:54 -07:00
diffcore-break.c convert "oidcmp() == 0" to oideq() 2018-08-29 11:32:49 -07:00
diffcore-delta.c diffcore-delta: rename 'new' variables 2018-02-22 10:08:05 -08:00
diffcore-order.c wildmatch: remove unused wildopts parameter 2017-06-23 18:27:07 -07:00
diffcore-pickaxe.c regex: do not call regfree() if compilation fails 2018-05-21 13:58:32 +09:00
diffcore-rename.c convert "oidcmp() != 0" to "!oideq()" 2018-08-29 11:32:49 -07:00
diffcore.h Merge branch 'en/incl-forward-decl' 2018-08-20 12:41:32 -07:00
dir-iterator.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
dir-iterator.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
dir.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
dir.h dir.c: remove an implicit dependency on the_index in pathspec code 2018-08-13 14:14:42 -07:00
editor.c launch_editor(): indicate that Git waits for user input 2017-12-07 10:10:19 -08:00
entry.c Merge branch 'nd/clone-case-smashing-warning' 2018-09-17 13:53:47 -07:00
environment.c Merge branch 'en/incl-forward-decl' 2018-08-20 12:41:32 -07:00
exec-cmd.c exec-cmd.c: mark more strings for translation 2018-07-23 11:19:10 -07:00
exec-cmd.h Merge branch 'dj/runtime-prefix' 2018-05-08 15:59:17 +09:00
fast-import.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
fetch-negotiator.c negotiator: unknown fetch.negotiationAlgorithm should error out 2018-08-01 11:07:47 -07:00
fetch-negotiator.h negotiator/skipping: skip commits during fetch 2018-07-16 14:51:12 -07:00
fetch-object.c fetch-object: set exact_oid when fetching 2018-09-13 13:57:31 -07:00
fetch-object.h fetch-object: unify fetch_object[s] functions 2018-09-13 13:56:19 -07:00
fetch-pack.c convert "oidcmp() != 0" to "!oideq()" 2018-08-29 11:32:49 -07:00
fetch-pack.h Merge branch 'jt/fetch-nego-tip' 2018-08-02 15:30:43 -07:00
fmt-merge-msg.h fmt-merge-msg: use branch.$name.description 2011-10-07 10:11:47 -07:00
fsck.c Sync with 2.18.1 2018-09-27 11:50:45 -07:00
fsck.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
fsmonitor.c Merge branch 'jk/snprintf-truncation' 2018-05-30 21:51:28 +09:00
fsmonitor.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
generate-cmdlist.sh generate-cmdlist.sh: collect config from all config.txt files 2018-08-21 11:28:11 -07:00
gettext.c Merge branch 'js/runtime-prefix' 2018-05-08 15:59:34 +09:00
gettext.h gettext: add is_utf8_locale() 2016-07-01 12:44:57 -07:00
git-add--interactive.perl Merge branch 'pw/add-p-recount' 2018-06-28 12:53:32 -07:00
git-archimport.perl
git-bisect.sh Merge branch 'sb/bisect-run-empty' 2017-11-15 12:14:36 +09:00
git-compat-util.h Merge branch 'js/typofixes' 2018-08-20 11:33:50 -07:00
git-cvsexportcommit.perl git-cvsexportcommit: use a lowercase "usage:" string 2013-02-24 13:31:07 -08:00
git-cvsimport.perl perl: call timegm and timelocal with 4-digit year 2018-02-23 14:47:06 -08:00
git-cvsserver.perl cvsserver: use safe_pipe_capture for constant commands as well 2017-09-11 14:52:29 +09:00
git-difftool--helper.sh difftool: always honor fatal error exit codes 2016-08-15 15:24:05 -07:00
git-filter-branch.sh Merge branch 'mb/filter-branch-optim' 2018-07-18 12:20:32 -07:00
git-instaweb.sh git-instaweb: fix apache2 config with apache >= 2.4 2018-08-08 08:30:07 -07:00
git-merge-octopus.sh Merge branch 'ma/up-to-date' 2017-09-10 17:08:22 +09:00
git-merge-one-file.sh merge-one-file: compute empty blob object ID 2018-05-02 13:59:53 +09:00
git-merge-resolve.sh scripts: use "git foo" not "git-foo" 2017-08-07 12:04:45 -07:00
git-mergetool--lib.sh mergetool: honor mergetool.$tool.trustExitCode for built-in tools 2016-11-29 10:54:03 -08:00
git-mergetool.sh mergetool: don't suggest to continue after last file 2018-08-13 12:11:19 -07:00
git-p4.py git-p4: add the p4-pre-submit hook 2018-08-01 13:37:18 -07:00
git-parse-remote.sh i18n: git-parse-remote.sh: mark strings for translation 2016-04-19 12:07:49 -07:00
git-quiltimport.sh git-quiltimport: add commandline option --series <file> 2015-09-01 11:10:07 -07:00
git-rebase--am.sh Merge branch 'pw/rebase-signoff' 2018-04-25 13:28:51 +09:00
git-rebase--interactive.sh Merge branch 'ag/rebase-p' 2018-06-25 13:22:39 -07:00
git-rebase--merge.sh Merge branch 'en/rebase-i-microfixes' 2018-07-18 12:20:33 -07:00
git-rebase--preserve-merges.sh git-rebase--preserve-merges: fix formatting of todo help message 2018-07-06 12:09:27 -07:00
git-rebase.sh Merge branch 'en/rebase-consistency' 2018-07-24 14:50:43 -07:00
git-remote-testgit.sh transport-helper: do not request symbolic refs to remote helpers 2015-01-21 22:46:59 -08:00
git-request-pull.sh request-pull: capitalise "Git" to make it a proper noun 2017-10-03 13:11:57 +09:00
git-send-email.perl Merge branch 'jm/send-email-tls-auth-on-batch' 2018-08-02 15:30:46 -07:00
git-sh-i18n.sh git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME 2018-02-08 10:09:45 -08:00
git-sh-setup.sh Merge branch 'va/i18n-even-more' 2016-12-27 00:11:45 -08:00
git-stash.sh Merge branch 'tg/stash-untracked-with-pathspec-fix' 2018-04-10 08:25:45 +09:00
git-submodule.sh Merge branch 'sb/submodule-update-in-c' 2018-09-17 13:53:51 -07:00
git-svn.perl git-svn: search --authors-prog in PATH too 2018-04-05 06:55:02 +00:00
GIT-VERSION-GEN Git 2.19.1 2018-09-27 11:52:33 -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 Sync 'ds/multi-pack-index' to v2.19.0-rc0 2018-08-20 15:29:54 -07:00
git.rc mingw: include the full version information in the resources 2017-11-01 13:43:52 +09:00
gpg-interface.c Merge branch 'jc/gpg-status' 2018-08-20 11:33:50 -07:00
gpg-interface.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
graph.c graph: use strbuf_addchars() to add spaces 2017-10-02 13:14:07 +09:00
graph.h graph: add support for --line-prefix on all graph-aware output 2016-08-31 18:07:09 -07:00
grep.c Merge branch 'tb/grep-only-matching' 2018-08-02 15:30:44 -07:00
grep.h Merge branch 'tb/grep-only-matching' 2018-08-02 15:30:44 -07:00
hash.h hash: update obsolete reference to SHA1_HEADER 2018-02-09 09:56:10 -08:00
hashmap.c hashmap: add API to disable item counting when threaded 2017-09-07 09:42:02 +09:00
hashmap.h Merge branch 'rb/hashmap-h-compilation-fix' 2018-02-13 13:39:10 -08:00
help.c Merge branch 'hn/highlight-sideband-keywords' 2018-08-20 12:41:34 -07:00
help.h sideband: highlight keywords in remote sideband output 2018-08-08 15:20:09 -07:00
hex.c hex: switch to using the_hash_algo 2018-07-16 14:27:39 -07:00
http-backend.c Merge branch 'ds/multi-pack-index' 2018-09-17 13:53:50 -07:00
http-fetch.c Merge branch 'ma/http-walker-no-partial' 2018-05-08 15:59:35 +09:00
http-push.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
http-walker.c convert "hashcmp() != 0" to "!hasheq()" 2018-08-29 11:32:49 -07:00
http.c convert "hashcmp() != 0" to "!hasheq()" 2018-08-29 11:32:49 -07:00
http.h Merge branch 'jk/snprintf-truncation' 2018-05-30 21:51:28 +09:00
ident.c
imap-send.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
INSTALL RelNotes: add details on Perl module changes 2018-03-16 16:07:37 -07:00
interdiff.c interdiff: teach show_interdiff() to indent interdiff 2018-07-23 12:50:06 -07:00
interdiff.h interdiff: teach show_interdiff() to indent interdiff 2018-07-23 12:50:06 -07:00
iterator.h refs: introduce an iterator interface 2016-06-20 11:38:20 -07:00
json-writer.c json_writer: new routines to create JSON data 2018-07-16 13:55:39 -07:00
json-writer.h json_writer: new routines to create JSON data 2018-07-16 13:55:39 -07:00
khash.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
kwset.c Replace Free Software Foundation address in license notices 2017-11-09 13:21:21 +09:00
kwset.h Replace Free Software Foundation address in license notices 2017-11-09 13:21:21 +09:00
levenshtein.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
levenshtein.h Typofixes outside documentation area 2010-02-03 21:28:17 -08:00
LGPL-2.1 provide a copy of the LGPLv2.1 2011-05-19 18:23:17 -07:00
line-log.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
line-log.h ALLOC_GROW: avoid -Wsign-compare warnings 2017-09-22 13:21:11 +09:00
line-range.c blame: prevent error if range ends past end of file 2018-06-15 10:29:13 -07:00
line-range.h line-range.h: drop extern from function declaration 2018-08-03 10:42:55 -07:00
linear-assignment.c linear-assignment: fix potential out of bounds memory access 2018-09-14 09:10:26 -07:00
linear-assignment.h linear-assignment: a function to solve least-cost assignment problems 2018-08-13 10:44:50 -07:00
list-objects-filter-options.c list-objects: check if filter is NULL before using 2018-06-12 10:46:56 -07:00
list-objects-filter-options.h fetch: inherit filter-spec from partial clone 2017-12-08 09:58:52 -08:00
list-objects-filter.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
list-objects-filter.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
list-objects.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
list-objects.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
list.h tempfile: use list.h for linked list 2017-09-06 17:19:54 +09:00
ll-merge.c Make git_check_attr() a void function 2018-09-12 15:15:34 -07:00
ll-merge.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
lockfile.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
lockfile.h reopen_tempfile(): truncate opened file 2018-09-05 09:46:16 -07:00
log-tree.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
log-tree.h format-patch: make cover letters always text/plain 2018-05-02 12:55:00 +09:00
ls-refs.c ls-refs: introduce ls-refs server command 2018-03-15 12:01:08 -07:00
ls-refs.h ls-refs: introduce ls-refs server command 2018-03-15 12:01:08 -07:00
mailinfo.c mailinfo: support format=flowed 2018-08-29 13:05:35 -07:00
mailinfo.h Merge branch 'rs/mailinfo-format-flowed' 2018-09-17 13:53:57 -07:00
mailmap.c object-store: move object access functions to object-store.h 2018-05-16 11:42:03 +09:00
mailmap.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
Makefile Merge branch 'js/mingw-o-append' 2018-09-24 10:30:47 -07:00
match-trees.c convert "oidcmp() != 0" to "!oideq()" 2018-08-29 11:32:49 -07:00
mem-pool.c block alloc: add validations around cache_entry lifecyle 2018-07-03 10:58:27 -07:00
mem-pool.h block alloc: add validations around cache_entry lifecyle 2018-07-03 10:58:27 -07:00
merge-blobs.c object-store: move object access functions to object-store.h 2018-05-16 11:42:03 +09:00
merge-blobs.h Which merge_file() function do you mean? 2012-12-09 23:05:27 -08:00
merge-recursive.c Merge branch 'en/double-semicolon-fix' 2018-09-24 10:30:47 -07:00
merge-recursive.h Merge branch 'en/directory-renames-nothanks' 2018-09-04 14:31:38 -07:00
merge.c Merge branch 'en/dirty-merge-fixes' 2018-08-02 15:30:45 -07:00
mergesort.c
mergesort.h mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
midx.c packfile: add all_packs list 2018-08-20 15:31:40 -07:00
midx.h packfile: add all_packs list 2018-08-20 15:31:40 -07:00
name-hash.c trace.h: support nested performance tracing 2018-08-18 09:47:46 -07:00
notes-cache.c commit: add repository argument to lookup_commit_reference_gently 2018-06-29 10:43:39 -07:00
notes-cache.h
notes-merge.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
notes-merge.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
notes-utils.c commit: add repository argument to lookup_commit 2018-06-29 10:43:39 -07:00
notes-utils.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
notes.c convert "oidcmp() != 0" to "!oideq()" 2018-08-29 11:32:49 -07:00
notes.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
object-store.h packfile: add all_packs list 2018-08-20 15:31:40 -07:00
object.c convert "hashcmp() == 0" to hasheq() 2018-08-29 11:32:49 -07:00
object.h Merge branch 'ds/reachable' 2018-09-17 13:53:52 -07:00
oidmap.c convert hashmap comparison functions to oideq() 2018-08-29 11:32:49 -07:00
oidmap.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
oidset.c oidset: add iterator methods to oidset 2017-11-22 14:11:56 +09:00
oidset.h oidset: don't return value from oidset_init 2018-01-08 15:24:35 -08:00
pack-bitmap-write.c Merge branch 'ds/reachable' 2018-09-17 13:53:52 -07:00
pack-bitmap.c Merge branch 'jk/pack-objects-with-bitmap-fix' 2018-09-17 13:53:58 -07:00
pack-bitmap.h bitmap_has_sha1_in_uninteresting(): drop BUG check 2018-09-04 08:30:48 -07:00
pack-check.c convert "hashcmp() != 0" to "!hasheq()" 2018-08-29 11:32:49 -07:00
pack-objects.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
pack-objects.h Merge branch 'cc/delta-islands' 2018-09-17 13:53:55 -07:00
pack-revindex.c object-store: move packed_git and packed_git_mru to object store 2018-03-26 10:05:46 -07:00
pack-revindex.h pack-revindex: store entries directly in packed_git 2015-12-21 14:36:28 -08:00
pack-write.c convert "hashcmp() != 0" to "!hasheq()" 2018-08-29 11:32:49 -07:00
pack.h csum-file: rename sha1file to hashfile 2018-02-02 11:28:41 -08:00
packfile.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
packfile.h packfile: add all_packs list 2018-08-20 15:31:40 -07:00
pager.c Merge branch 'nd/command-list' 2018-06-01 15:06:37 +09:00
parse-options-cb.c commit: add repository argument to lookup_commit_reference 2018-06-29 10:43:39 -07:00
parse-options.c Merge branch 'rs/parse-opt-lithelp' 2018-08-17 13:09:56 -07:00
parse-options.h Merge branch 'ps/contains-id-error-message' 2018-04-10 16:28:20 +09:00
patch-delta.c patch-delta: handle truncated copy parameters 2018-08-30 10:30:23 -07:00
patch-ids.c convert hashmap comparison functions to oideq() 2018-08-29 11:32:49 -07:00
patch-ids.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
path.c Add a place for (not) sharing stuff between worktrees 2018-10-07 08:21:18 +09:00
path.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
pathspec.c pathspec.c: use the right index instead of the_index 2018-08-13 14:14:43 -07:00
pathspec.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
pkt-line.c pkt-line.c: mark more strings for translation 2018-07-23 11:19:10 -07:00
pkt-line.h pkt-line: add packet_buf_write_len function 2018-03-15 12:01:09 -07:00
preload-index.c Merge branch 'nd/unpack-trees-with-cache-tree' 2018-09-17 13:53:53 -07:00
pretty.c Merge branch 'jk/trailer-fixes' 2018-09-17 13:53:54 -07:00
pretty.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
prio-queue.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
prio-queue.h prio-queue: make output stable with respect to insertion 2014-07-15 11:02:54 -07:00
progress.c Merge branch 'en/rename-progress' 2017-12-19 11:33:55 -08:00
progress.h progress: fix progress meters when dealing with lots of work 2017-11-15 13:11:25 +09:00
prompt.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
prompt.h prompt.c: remove git_getpass() nobody uses 2015-01-15 11:02:06 -08:00
protocol.c protocol: introduce enum protocol_version value protocol_v2 2018-03-14 14:15:07 -07:00
protocol.h protocol: introduce enum protocol_version value protocol_v2 2018-03-14 14:15:07 -07:00
quote.c Merge branch 'jk/sq-dequote-on-bogus-input' 2018-02-27 10:34:02 -08:00
quote.h trace: avoid unnecessary quoting 2018-01-16 12:16:54 -08:00
range-diff.c Merge branch 'es/format-patch-rangediff' 2018-09-17 13:53:56 -07:00
range-diff.h range-diff: relieve callers of low-level configuration burden 2018-08-14 14:27:04 -07:00
reachable.c tree: add repository argument to lookup_tree 2018-06-29 10:43:38 -07:00
reachable.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
read-cache.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
README.md note git-security@googlegroups.com in more places 2018-06-01 09:24:11 +09:00
ref-filter.c Merge branch 'jk/trailer-fixes' 2018-09-17 13:53:54 -07:00
ref-filter.h Merge branch 'ot/libify-get-ref-atom-value' 2018-05-08 15:59:18 +09:00
reflog-walk.c Merge branch 'nd/i18n' 2018-08-15 15:08:23 -07:00
reflog-walk.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
refs.c Add a place for (not) sharing stuff between worktrees 2018-10-07 08:21:18 +09:00
refs.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
refspec.c refspec.c: mark more strings for translation 2018-07-23 11:19:10 -07:00
refspec.h refspec: add back a refspec_item_init() function 2018-06-11 10:11:31 -07:00
RelNotes Second batch post 2.19 2018-09-24 10:31:26 -07:00
remote-curl.c Merge branch 'en/double-semicolon-fix' 2018-09-24 10:30:47 -07:00
remote-testsvn.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
remote.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
remote.h Merge branch 'ds/reachable' 2018-09-17 13:53:52 -07:00
replace-object.c Merge branch 'nd/i18n' 2018-08-15 15:08:23 -07:00
replace-object.h check_replace_refs: rename to read_replace_refs 2018-07-18 15:45:14 -07:00
repository.c Merge branch 'sb/object-store-alloc' 2018-06-25 13:22:38 -07:00
repository.h Merge branch 'en/incl-forward-decl' 2018-08-20 12:41:32 -07:00
rerere.c Merge branch 'en/rerere-multi-stage-1-fix' 2018-09-24 10:30:48 -07:00
rerere.h rerere.h: drop extern from function declaration 2018-08-03 10:42:55 -07:00
resolve-undo.c resolve-undo.c: use the right index instead of the_index 2018-08-13 14:14:44 -07:00
resolve-undo.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
revision.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
revision.h Merge branch 'es/format-patch-rangediff' 2018-09-17 13:53:56 -07:00
run-command.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
run-command.h
send-pack.c shallow: add repository argument to is_repository_shallow 2018-05-18 08:13:10 +09:00
send-pack.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
sequencer.c Merge branch 'en/sequencer-empty-edit-result-aborts' 2018-09-24 10:30:52 -07:00
sequencer.h Merge branch 'jk/trailer-fixes' 2018-09-17 13:53:54 -07:00
serve.c serve: introduce the server-option capability 2018-04-24 11:24:40 +09:00
serve.h serve: introduce git-serve 2018-03-15 12:01:08 -07:00
server-info.c treewide: use get_all_packs 2018-08-20 15:31:40 -07:00
setup.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
sh-i18n--envsubst.c Replace Free Software Foundation address in license notices 2017-11-09 13:21:21 +09:00
sha1-array.c convert "oidcmp() == 0" to oideq() 2018-08-29 11:32:49 -07:00
sha1-array.h get_short_oid: sort ambiguous objects by type, then SHA-1 2018-05-11 14:43:23 +09:00
sha1-file.c Merge branch 'jt/lazy-object-fetch-fix' 2018-09-24 10:30:52 -07:00
sha1-lookup.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
sha1-lookup.h packfile: refactor hash search with fanout table 2018-02-15 13:08:55 -08:00
sha1-name.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
sha1dc_git.c sha1dc: allow building with the external sha1dc library 2017-08-16 14:44:25 -07:00
sha1dc_git.h sha1dc_git.h: re-arrange an ifdef chain for a subsequent change 2017-12-08 15:01:01 -08:00
shallow.c commit.h: remove method declarations 2018-07-20 15:38:54 -07:00
shell.c Merge branch 'nd/command-list' 2018-06-01 15:06:37 +09:00
shortlog.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
sideband.c sideband: do not read beyond the end of input 2018-08-18 09:16:48 -07:00
sideband.h
sigchain.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
sigchain.h sigchain: add command to pop all common signals 2015-12-16 12:06:08 -08:00
split-index.c block alloc: allocate cache entries from mem_pool 2018-07-03 10:58:27 -07:00
split-index.h split-index: convert struct split_index to object_id 2018-05-02 13:59:50 +09:00
strbuf.c Merge branch 'jk/size-t' 2018-08-15 15:08:25 -07:00
strbuf.h Merge branch 'en/rename-directory-detection-reboot' 2018-05-23 14:38:19 +09:00
streaming.c cache.h: add repository argument to oid_object_info_extended 2018-04-26 10:54:27 +09:00
streaming.h streaming: convert open_istream to use struct object_id 2018-03-14 09:23:49 -07:00
string-list.c Merge branch 'sb/string-list-remove-unused' 2018-09-24 10:30:50 -07:00
string-list.h string-list: remove unused function print_string_list 2018-09-11 12:27:58 -07:00
sub-process.c Merge branch 'tg/memfixes' 2017-10-07 16:27:54 +09:00
sub-process.h Docs: split out long-running subprocess handshake 2018-01-25 11:24:32 -08:00
submodule-config.c Sync with 2.19.1 2018-09-27 11:53:39 -07:00
submodule-config.h submodule-config: make 'config_from_gitmodules' private 2018-06-26 12:56:12 -07:00
submodule.c Merge branch 'bp/mv-submodules-with-fsmonitor' 2018-09-24 10:30:46 -07:00
submodule.h Revert "Merge branch 'sb/submodule-core-worktree'" 2018-09-07 19:05:20 -07:00
symlinks.c symlinks: remove PATH_MAX limitation 2014-07-07 11:22:42 -07:00
tag.c Merge branch 'jt/tags-to-promised-blobs-fix' 2018-08-02 15:30:46 -07:00
tag.h tag.c: allow deref_tag to handle arbitrary repositories 2018-06-29 10:43:40 -07:00
tar.h tar-tree: Introduce write_entry() 2006-03-25 16:35:43 -08:00
tempfile.c reopen_tempfile(): truncate opened file 2018-09-05 09:46:16 -07:00
tempfile.h Merge branch 'jk/reopen-tempfile-truncate' 2018-09-24 10:30:46 -07:00
thread-utils.c thread-utils.c: detect CPU count on older BSD-like systems 2015-03-10 15:13:28 -07:00
thread-utils.h
tmp-objdir.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
tmp-objdir.h tmp-objdir: introduce API for temporary object directories 2016-10-10 13:54:02 -07:00
trace.c trace.h: support nested performance tracing 2018-08-18 09:47:46 -07:00
trace.h trace.h: support nested performance tracing 2018-08-18 09:47:46 -07:00
trailer.c interpret-trailers: allow suppressing "---" divider 2018-08-23 10:08:51 -07:00
trailer.h Merge branch 'jk/trailer-fixes' 2018-09-17 13:53:54 -07:00
transport-helper.c Merge branch 'jt/connectivity-check-after-unshallow' 2018-08-15 15:08:28 -07:00
transport-internal.h fetch-pack: unify ref in and out param 2018-08-01 15:00:52 -07:00
transport.c convert "oidcmp() == 0" to oideq() 2018-08-29 11:32:49 -07:00
transport.h Merge branch 'jt/connectivity-check-after-unshallow' 2018-08-15 15:08:28 -07:00
tree-diff.c convert "oidcmp() != 0" to "!oideq()" 2018-08-29 11:32:49 -07:00
tree-walk.c Merge branch 'bc/object-id' 2018-08-02 15:30:39 -07:00
tree-walk.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
tree.c Merge branch 'jm/cache-entry-from-mem-pool' 2018-08-02 15:30:43 -07:00
tree.h tree: allow lookup_tree to handle arbitrary repositories 2018-06-29 10:43:39 -07:00
unicode-width.h unicode: update the width tables to Unicode 11 2018-07-09 14:02:51 -07:00
unimplemented.sh
unix-socket.c Merge branch 'rs/strbuf-getcwd' 2014-09-02 13:28:44 -07:00
unix-socket.h credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
unpack-trees.c Merge branch 'jt/lazy-object-fetch-fix' 2018-09-24 10:30:52 -07:00
unpack-trees.h Merge branch 'nd/clone-case-smashing-warning' 2018-09-17 13:53:47 -07:00
upload-pack.c Merge branch 'ds/reachable' 2018-09-17 13:53:52 -07:00
upload-pack.h fetch-pack: perform a fetch using v2 2018-03-15 12:01:08 -07:00
url.c introduce hex2chr() for converting two hexadecimal digits to a character 2016-09-07 10:42:46 -07:00
url.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
urlmatch.c urlmatch: use hex2chr() in append_normalized_escapes() 2017-07-09 09:43:01 -07:00
urlmatch.h urlmatch.h: fix include guard 2018-08-15 11:52:09 -07:00
usage.c Merge branch 'jk/snprintf-truncation' 2018-05-30 21:51:28 +09:00
userdiff.c Make git_check_attr() a void function 2018-09-12 15:15:34 -07:00
userdiff.h diff: clarify textconv interface 2016-02-22 10:40:35 -08:00
utf8.c Merge branch 'jk/size-t' 2018-08-15 15:08:25 -07:00
utf8.h Merge branch 'en/incl-forward-decl' 2018-08-20 12:41:32 -07:00
varint.c cleanups: ensure that git-compat-util.h is included first 2014-09-15 12:05:14 -07:00
varint.h cleanups: ensure that git-compat-util.h is included first 2014-09-15 12:05:14 -07:00
version.c version --build-options: report commit, too, if possible 2017-12-14 22:53:04 -08:00
version.h version --build-options: report commit, too, if possible 2017-12-14 22:53:04 -08:00
versioncmp.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
walker.c commit: add repository argument to lookup_commit_reference_gently 2018-06-29 10:43:39 -07:00
walker.h walker: drop fields of struct walker which are always 1 2018-04-24 10:55:04 +09:00
wildmatch.c wildmatch: remove unused wildopts parameter 2017-06-23 18:27:07 -07:00
wildmatch.h wildmatch: remove unused wildopts parameter 2017-06-23 18:27:07 -07:00
worktree.c worktree: don't die() in library function find_worktree() 2018-08-30 09:28:02 -07:00
worktree.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
wrap-for-bin.sh Make running git under other debugger-like programs easy 2018-04-25 10:47:22 +09:00
wrapper.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
write-or-die.c write_or_die.c: rename to use dashes in file name 2018-04-11 18:11:00 +09:00
ws.c Make git_check_attr() a void function 2018-09-12 15:15:34 -07:00
wt-status.c convert "oidcmp() == 0" to oideq() 2018-08-29 11:32:49 -07:00
wt-status.h add status config and command line options for rename detection 2018-05-13 10:57:37 +09:00
xdiff-interface.c convert "oidcmp() == 0" to oideq() 2018-08-29 11:32:49 -07:00
xdiff-interface.h xdiff-interface: export comparing and hashing strings 2017-10-26 11:23:22 +09:00
zlib.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00

Git - fast, scalable, distributed revision control system

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.

Many Git online resources are accessible from https://git-scm.com/ including full documentation and Git related tools.

See Documentation/gittutorial.txt to get started, then see Documentation/giteveryday.txt for a useful minimum set of commands, and Documentation/git-.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).

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 https://public-inbox.org/git/, http://marc.info/?l=git and other archival sites.

Issues which are security relevant should be disclosed privately to the Git Security mailing list git-security@googlegroups.com.

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.

The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (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