No description
Find a file
William Chargin 6b3351e799 sha1-name.c: for ":/", find detached HEAD commits
This patch broadens the set of commits matched by ":/<pattern>" to
include commits reachable from HEAD but not any named ref. This avoids
surprising behavior when working with a detached HEAD and trying to
refer to a commit that was recently created and only exists within the
detached state.

If multiple worktrees exist, only the current worktree's HEAD is
considered reachable. This is consistent with the existing behavior for
other per-worktree refs: e.g., bisect refs are considered reachable, but
only within the relevant worktree.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: William Chargin <wchargin@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-07-12 12:07:25 -07:00
.github
block-sha1
builtin Sync with Git 2.15.2 2018-05-22 14:18:06 +09:00
ci Merge branch 'tg/split-index-fixes' into maint 2018-03-22 14:24:10 -07:00
compat Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
contrib Merge branch 'rd/typofix' into maint 2018-03-22 14:24:22 -07:00
Documentation sha1-name.c: for ":/", find detached HEAD commits 2018-07-12 12:07:25 -07:00
ewah Replace Free Software Foundation address in license notices 2017-11-09 13:21:21 +09:00
git-gui Merge branch 'js/misc-git-gui-stuff' of ../git-gui 2018-01-09 11:07:03 -08:00
gitk-git
gitweb Merge branch 'gc/gitweb-filetest-acl' 2017-11-06 14:24:30 +09:00
mergetools
perl Git/Packet.pm: use 'if' instead of 'unless' 2017-11-22 16:23:55 +09:00
po l10n: de.po: translate 72 new messages 2018-01-15 07:47:30 +01:00
ppc
refs Merge branch 'mr/packed-ref-store-fix' into maint 2018-03-22 14:24:10 -07:00
sha1collisiondetection@19d97bf5af sha1dc: optionally use sha1collisiondetection as a submodule 2017-07-03 10:09:34 -07:00
sha1dc Merge branch 'ab/sha1dc-maint' 2017-07-06 18:14:44 -07:00
t sha1-name.c: for ":/", find detached HEAD commits 2018-07-12 12:07:25 -07:00
templates fsmonitor: simplify determining the git worktree under Windows 2017-11-13 10:02:20 +09:00
vcs-svn Merge branch 'jn/vcs-svn-cleanup' into maint 2017-09-10 17:03:09 +09:00
xdiff Merge branch 'jt/diff-anchored-patience' 2017-12-19 11:33:56 -08:00
.clang-format clang-format: add a comment about the meaning/status of the 2017-10-02 13:17:48 +09:00
.gitattributes
.gitignore
.gitmodules sha1dc: optionally use sha1collisiondetection as a submodule 2017-07-03 10:09:34 -07:00
.mailmap mailmap: use Kaartic Sivaraam's new address 2017-11-03 23:00:07 +09:00
.travis.yml travis-ci: build Git during the 'script' phase 2018-01-08 14:07:41 -08: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
advice.c Merge branch 'ls/editor-waiting-message' 2017-12-19 11:33:59 -08:00
advice.h Merge branch 'ls/editor-waiting-message' 2017-12-19 11:33:59 -08:00
alias.c Merge branch 'js/alias-case-sensitivity' 2017-07-20 16:29:59 -07:00
alloc.c
apply.c Sync with Git 2.15.2 2018-05-22 14:18:06 +09:00
apply.h apply: remove newfd from struct apply_state 2017-10-06 10:07:18 +09:00
archive-tar.c
archive-zip.c
archive.c refs: convert dwim_ref and expand_ref to struct object_id 2017-10-16 11:05:51 +09:00
archive.h
argv-array.c
argv-array.h
attr.c hashmap: add API to disable item counting when threaded 2017-09-07 09:42:02 +09:00
attr.h
base85.c
bisect.c Merge branch 'ys/bisect-object-id-missing-conversion-fix' into maint 2018-02-27 10:43:55 -08:00
bisect.h Merge branch 'ma/bisect-leakfix' 2017-11-15 12:14:28 +09:00
blame.c Merge branch 'bw/diff-opt-impl-to-bitfields' 2017-11-09 14:31:27 +09:00
blame.h
blob.c
blob.h
branch.c Merge branch 'ks/branch-cleanup' 2017-12-27 11:16:25 -08:00
branch.h Merge branch 'ks/branch-cleanup' 2017-12-27 11:16:25 -08:00
builtin.h git.c: provide setup_auto_pager() 2017-08-03 11:08:10 -07:00
bulk-checkin.c distinguish error versus short read from read_in_full() 2017-09-27 15:45:24 +09:00
bulk-checkin.h
bundle.c Merge branch 'rs/lose-leak-pending' into maint 2018-02-15 15:18:11 -08:00
bundle.h
cache-tree.c Merge branch 'tg/split-index-fixes' into maint 2018-03-22 14:24:10 -07:00
cache-tree.h
cache.h Sync with Git 2.15.2 2018-05-22 14:18:06 +09:00
check-builtins.sh
check-racy.c
check_bindir
checkout.c checkout: factor out functions to new lib file 2017-11-27 09:48:06 +09:00
checkout.h checkout: factor out functions to new lib file 2017-11-27 09:48:06 +09:00
color.c refactor "dumb" terminal determination 2017-12-04 09:38:30 -08:00
color.h diff.c: add dimming to moved line detection 2017-06-30 13:59:42 -07:00
column.c column: do not include pager.c 2017-10-24 10:19:06 +09:00
column.h
combine-diff.c Merge branch 'bw/diff-opt-impl-to-bitfields' 2017-11-09 14:31:27 +09:00
command-list.txt
commit-slab.h commit-slab.h: avoid -Wsign-compare warnings 2017-09-22 13:00:36 +09:00
commit.c commit: remove unused function clear_commit_marks_for_object_array() 2017-12-28 13:50:05 -08:00
commit.h Merge branch 'rs/lose-leak-pending' into maint 2018-02-15 15:18:11 -08:00
common-main.c
config.c Merge branch 'hm/config-parse-expiry-date' 2017-12-06 09:23:37 -08:00
config.h Merge branch 'hm/config-parse-expiry-date' 2017-12-06 09:23:37 -08:00
config.mak.in
config.mak.uname config.mak.uname: remove SPARSE_FLAGS setting for cygwin 2018-02-12 12:19:18 -08:00
configure.ac Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1 2017-12-28 11:55:56 -08:00
connect.c connect: correct style of C-style comment 2017-11-21 14:01:03 +09:00
connect.h
connected.c Convert check_connected to use struct object_id 2017-10-16 11:05:50 +09:00
connected.h Convert check_connected to use struct object_id 2017-10-16 11:05:50 +09:00
convert.c Merge branch 'tb/check-crlf-for-safe-crlf' 2017-12-27 11:16:21 -08:00
convert.h Merge branch 'tb/apply-with-crlf' into maint 2017-09-10 17:02:55 +09:00
copy.c
COPYING
credential-cache--daemon.c tempfile: auto-allocate tempfiles on heap 2017-09-06 17:19:54 +09:00
credential-cache.c Merge branch 'dl/credential-cache-socket-in-xdg-cache' into maint 2017-08-23 14:33:45 -07:00
credential-store.c
credential.c
credential.h
csum-file.c prefer "!=" when checking read_in_full() result 2017-09-27 15:45:24 +09:00
csum-file.h
ctype.c
daemon.c daemon: fix length computation in newline stripping 2018-01-25 13:50:17 -08:00
date.c Merge branch 'ab/strbuf-addftime-tzname-boolify' 2017-07-06 18:14:47 -07: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.h
diff-delta.c Merge branch 'mk/diff-delta-avoid-large-offset' 2017-09-28 14:47:56 +09:00
diff-lib.c Merge branch 'bc/hash-algo' 2017-12-13 13:28:54 -08:00
diff-no-index.c diff: make struct diff_flags members lowercase 2017-11-01 11:51:40 +09:00
diff.c Merge branch 'nd/diff-flush-before-warning' into maint 2018-03-22 14:24:09 -07:00
diff.h diff: support anchoring line(s) 2017-11-28 10:40:04 +09:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c diff: make struct diff_flags members lowercase 2017-11-01 11:51:40 +09:00
diffcore-rename.c diffcore-rename: make diff-tree -l0 mean -l<large> 2017-12-02 22:16:57 -08:00
diffcore.h
dir-iterator.c
dir-iterator.h
dir.c Merge branch 'jh/object-filtering' 2017-12-27 11:16:21 -08:00
dir.h Merge branch 'jh/object-filtering' 2017-12-27 11:16:21 -08:00
editor.c launch_editor(): indicate that Git waits for user input 2017-12-07 10:10:19 -08:00
entry.c Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
environment.c Merge branch 'ar/unconfuse-three-dots' 2017-12-19 11:33:58 -08:00
exec_cmd.c git_extract_argv0_path: do nothing without RUNTIME_PREFIX 2017-09-07 09:41:14 +09:00
exec_cmd.h
fast-import.c Merge branch 'jk/write-in-full-fix' into maint 2017-10-23 14:37:22 +09:00
fetch-pack.c Merge branch 'jk/fewer-pack-rescan' 2017-12-06 09:23:42 -08:00
fetch-pack.h
fmt-merge-msg.h
fsck.c Merge branch 'rs/fsck-null-return-from-lookup' 2017-10-11 14:52:23 +09:00
fsck.h
fsmonitor.c fsmonitor: store fsmonitor bitmap before splitting index 2017-11-10 14:05:01 +09:00
fsmonitor.h fsmonitor: store fsmonitor bitmap before splitting index 2017-11-10 14:05:01 +09:00
generate-cmdlist.sh generate-cmdlist: avoid non-deterministic output 2017-11-22 14:56:30 +09:00
gettext.c
gettext.h
git-add--interactive.perl add--interactive: ignore submodule changes except HEAD 2018-01-16 12:32:45 -08:00
git-archimport.perl archimport: use safe_pipe_capture for user input 2017-09-12 11:08:15 +09:00
git-bisect.sh Merge branch 'sb/bisect-run-empty' 2017-11-15 12:14:36 +09:00
git-compat-util.h Sync with Git 2.15.2 2018-05-22 14:18:06 +09:00
git-cvsexportcommit.perl
git-cvsimport.perl cvsimport: apply shell-quoting regex globally 2017-12-08 09:02:54 -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
git-filter-branch.sh Merge branch 'dg/filter-branch-filter-order-doc' 2017-10-19 14:45:45 +09:00
git-instaweb.sh
git-merge-octopus.sh Merge branch 'ma/up-to-date' 2017-09-10 17:08:22 +09:00
git-merge-one-file.sh scripts: use "git foo" not "git-foo" 2017-08-07 12:04:45 -07:00
git-merge-resolve.sh scripts: use "git foo" not "git-foo" 2017-08-07 12:04:45 -07:00
git-mergetool--lib.sh
git-mergetool.sh
git-p4.py git-p4: update multiple shelved change lists 2017-12-22 13:30:52 -08:00
git-parse-remote.sh
git-quiltimport.sh
git-rebase--am.sh rebase: use mboxrd format to avoid split errors 2017-11-18 12:30:16 +09:00
git-rebase--interactive.sh Merge branch 'js/fix-merge-arg-quoting-in-rebase-p' 2018-01-10 14:01:24 -08:00
git-rebase--merge.sh
git-rebase.sh rebase: rebasing can also be done when HEAD is detached 2017-12-19 10:02:47 -08:00
git-remote-testgit.sh
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 git-send-email: honor $PATH for sendmail binary 2017-11-28 10:14:30 +09: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
git-stash.sh Merge branch 'tg/stash-with-pathspec-fix' into maint 2018-02-15 15:18:13 -08:00
git-submodule.sh Sync with Git 2.15.2 2018-05-22 14:18:06 +09:00
git-svn.perl Merge branch 'ew/svn-branch-segfault-fix' into maint 2018-03-22 14:24:11 -07:00
GIT-VERSION-GEN Git 2.16.4 2018-05-22 14:18:51 +09:00
git-web--browse.sh
git.c Merge branch 'ma/branch-list-paginate' 2017-11-28 13:41:50 +09:00
git.rc mingw: include the full version information in the resources 2017-11-01 13:43:52 +09:00
gpg-interface.c tempfile: auto-allocate tempfiles on heap 2017-09-06 17:19:54 +09:00
gpg-interface.h
graph.c graph: use strbuf_addchars() to add spaces 2017-10-02 13:14:07 +09:00
graph.h
grep.c Merge branch 'ab/pcre2-grep' 2017-12-13 13:28:54 -08:00
grep.h Merge branch 'ab/pcre-v2' into maint 2017-11-21 14:05:30 +09:00
hash.h Add structure representing hash algorithm 2017-11-13 13:20:44 +09: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' into maint 2018-03-22 14:24:15 -07:00
help.c version --build-options: report commit, too, if possible 2017-12-14 22:53:04 -08:00
help.h
hex.c notes: move hex_to_bytes() to hex.c and export it 2017-11-01 10:35:35 +09:00
http-backend.c Merge branch 'rs/resolve-ref-optional-result' 2017-09-28 14:47:56 +09:00
http-fetch.c
http-push.c http-push: use hex_to_bytes() 2017-11-01 10:35:39 +09:00
http-walker.c pack: move find_sha1_pack() 2017-08-23 15:12:07 -07:00
http.c http: support omitting data from traces 2018-01-19 13:06:57 -08:00
http.h
ident.c
imap-send.c imap-send: URI encode server folder 2017-12-18 13:57:06 -08:00
INSTALL
iterator.h
khash.h
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
levenshtein.h
LGPL-2.1
line-log.c ALLOC_GROW: avoid -Wsign-compare warnings 2017-09-22 13:21:11 +09:00
line-log.h ALLOC_GROW: avoid -Wsign-compare warnings 2017-09-22 13:21:11 +09:00
line-range.c
line-range.h
list-objects-filter-options.c list-objects-filter-options: support --no-filter 2017-12-05 09:44:36 -08:00
list-objects-filter-options.h list-objects-filter-options: support --no-filter 2017-12-05 09:44:36 -08:00
list-objects-filter.c list-objects: filter objects in traverse_commit_list 2017-11-22 14:11:57 +09:00
list-objects-filter.h list-objects: filter objects in traverse_commit_list 2017-11-22 14:11:57 +09:00
list-objects.c Merge branch 'sb/describe-blob' 2017-12-28 14:08:50 -08:00
list-objects.h list-objects: filter objects in traverse_commit_list 2017-11-22 14:11:57 +09:00
list.h tempfile: use list.h for linked list 2017-09-06 17:19:54 +09:00
ll-merge.c avoid "write_in_full(fd, buf, len) != len" pattern 2017-09-14 15:17:59 +09:00
ll-merge.h
lockfile.c tempfile: auto-allocate tempfiles on heap 2017-09-06 17:19:54 +09:00
lockfile.h lockfile: fix documentation on close_lock_file_gently() 2017-10-06 10:07:17 +09:00
log-tree.c commit: drop uses of get_cached_commit_buffer() 2018-02-22 12:12:16 -08:00
log-tree.h log: add option to choose which refs to decorate 2017-11-22 13:18:59 +09:00
mailinfo.c Merge branch 'jc/mailinfo-cleanup-fix' into maint 2018-03-22 14:24:16 -07:00
mailinfo.h
mailmap.c Convert remaining callers of get_sha1 to get_oid. 2017-07-17 13:54:51 -07:00
mailmap.h
Makefile Makefile: suppress a sparse warning for pack-revindex.c 2018-02-12 12:19:39 -08:00
match-trees.c
merge-blobs.c
merge-blobs.h
merge-recursive.c Merge branch 'jc/merge-symlink-ours-theirs' into maint 2018-02-15 15:18:12 -08:00
merge-recursive.h merge-recursive: change current file dir string_lists to hashmap 2017-09-08 10:36:16 +09:00
merge.c Merge branch 'ew/empty-merge-with-dirty-index-maint' into ew/empty-merge-with-dirty-index 2017-12-22 12:48:38 -08:00
mergesort.c
mergesort.h
mru.c
mru.h
name-hash.c hashmap: add API to disable item counting when threaded 2017-09-07 09:42:02 +09:00
notes-cache.c refs: convert read_ref and read_ref_full to object_id 2017-10-16 11:05:50 +09:00
notes-cache.h
notes-merge.c Switch empty tree and blob lookups to use hash abstraction 2017-11-13 13:20:44 +09:00
notes-merge.h
notes-utils.c refs: convert read_ref and read_ref_full to object_id 2017-10-16 11:05:50 +09:00
notes-utils.h
notes.c Merge branch 'rs/hex-to-bytes-cleanup' 2017-11-09 14:31:27 +09:00
notes.h
object.c object: add clear_commit_marks_all() 2017-12-28 13:50:05 -08:00
object.h Merge branch 'rs/lose-leak-pending' into maint 2018-02-15 15:18:11 -08:00
oidmap.c oidmap: ensure map is initialized 2017-12-27 12:28:06 -08:00
oidmap.h oidmap: add oidmap iterator methods 2017-11-22 14:11:56 +09: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 pack-bitmap[-write]: use object_array_clear(), don't leak 2017-09-24 10:06:08 +09:00
pack-bitmap.c pack-bitmap: convert traverse_bitmap_commit_list to object_id 2017-10-16 11:05:51 +09:00
pack-bitmap.h pack-bitmap: convert traverse_bitmap_commit_list to object_id 2017-10-16 11:05:51 +09:00
pack-check.c pack: move open_pack_index(), parse_pack_index() 2017-08-23 15:12:06 -07:00
pack-objects.c
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c avoid looking at errno for short read_in_full() returns 2017-09-27 15:45:24 +09:00
pack.h
packfile.c cleanup: fix possible overflow errors in binary search 2017-10-10 08:57:24 +09:00
packfile.h pack: move for_each_packed_object() 2017-08-23 15:12:07 -07:00
pager.c Merge branch 'ma/parse-maybe-bool' 2017-08-22 10:29:03 -07:00
parse-options-cb.c
parse-options.c parse-options: only insert newline in help text if needed 2017-09-25 14:35:53 +09:00
parse-options.h
patch-delta.c
patch-ids.c diff: make struct diff_flags members lowercase 2017-11-01 11:51:40 +09:00
patch-ids.h
path.c Sync with Git 2.14.4 2018-05-22 14:15:14 +09:00
path.h path: document path functions 2017-12-13 11:14:25 -08:00
pathspec.c Merge branch 'ex/deprecate-empty-pathspec-as-match-all' 2017-11-06 13:11:29 +09:00
pathspec.h Merge branch 'bw/pathspec-match-submodule-boundary' 2017-12-19 11:33:56 -08:00
pkt-line.c Merge branch 'bw/protocol-v1' 2017-12-06 09:23:44 -08:00
pkt-line.h pkt-line: add packet_write function 2017-10-17 10:51:29 +09:00
preload-index.c fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files. 2017-10-01 17:23:01 +09:00
pretty.c log: add option to choose which refs to decorate 2017-11-22 13:18:59 +09:00
pretty.h format: create docs for pretty.h 2017-12-12 10:41:15 -08:00
prio-queue.c
prio-queue.h
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
prompt.h
protocol.c protocol: introduce protocol extension mechanisms 2017-10-17 10:51:29 +09:00
protocol.h protocol: introduce protocol extension mechanisms 2017-10-17 10:51:29 +09:00
quote.c consistently use "fallthrough" comments in switches 2017-09-22 12:49:57 +09:00
quote.h
reachable.c Merge branch 'nd/prune-in-worktree' 2017-09-19 10:47:53 +09:00
reachable.h
read-cache.c Sync with Git 2.15.2 2018-05-22 14:18:06 +09:00
README.md
ref-filter.c Merge branch 'rs/lose-leak-pending' into maint 2018-02-15 15:18:11 -08:00
ref-filter.h ref-filter: consult want_color() before emitting colors 2017-07-13 12:42:51 -07:00
reflog-walk.c refs: convert dwim_log to struct object_id 2017-10-16 11:05:51 +09:00
reflog-walk.h reflog-walk: apply --since/--until to reflog dates 2017-07-09 10:00:48 -07:00
refs.c log: add option to choose which refs to decorate 2017-11-22 13:18:59 +09:00
refs.h log: add option to choose which refs to decorate 2017-11-22 13:18:59 +09:00
RelNotes Git 2.16.4 2018-05-22 14:18:51 +09:00
remote-curl.c
remote-testsvn.c refs: convert read_ref and read_ref_full to object_id 2017-10-16 11:05:50 +09:00
remote.c Merge branch 'js/for-each-ref-remote-name-and-ref' 2017-11-15 12:14:32 +09:00
remote.h for-each-ref: let upstream/push report the remote ref name 2017-11-08 10:18:23 +09:00
replace_object.c
repository.c Merge branch 'tg/split-index-fixes' into maint 2018-03-22 14:24:10 -07:00
repository.h Integrate hash algorithm support with repo setup 2017-11-13 13:20:44 +09:00
rerere.c Merge branch 'jk/write-in-full-fix' 2017-09-25 15:24:06 +09:00
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'jk/cached-commit-buffer' into maint 2018-03-22 14:24:25 -07:00
revision.h revision: drop --show-all option 2018-02-22 12:15:25 -08:00
run-command.c run-command: add hint when a hook is ignored 2017-10-10 13:21:46 +09:00
run-command.h
send-pack.c send-pack: use internal argv_array of struct child_process 2017-12-22 13:33:53 -08:00
send-pack.h
sequencer.c sequencer: do not invent whitespace when transforming OIDs 2017-12-27 12:33:38 -08:00
sequencer.h rebase -i: learn to abbreviate command names 2017-12-05 10:20:51 -08:00
server-info.c pack: move {,re}prepare_packed_git and approximate_object_count 2017-08-23 15:12:07 -07:00
setup.c Merge branch 'sg/setup-doc-update' 2017-12-19 11:33:58 -08:00
sh-i18n--envsubst.c Replace Free Software Foundation address in license notices 2017-11-09 13:21:21 +09:00
sha1-array.c
sha1-array.h
sha1-lookup.c cleanup: fix possible overflow errors in binary search 2017-10-10 08:57:24 +09:00
sha1-lookup.h sha1-lookup: remove sha1_entry_pos() from header file 2017-08-25 09:54:26 -07:00
sha1_file.c Merge branch 'ds/for-each-file-in-obj-micro-optim' 2017-12-13 13:28:57 -08:00
sha1_name.c sha1-name.c: for ":/", find detached HEAD commits 2018-07-12 12:07:25 -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: allow building with the external sha1dc library 2017-08-16 14:44:25 -07:00
shallow.c Merge branch 'ma/leakplugs' 2017-09-29 11:23:43 +09:00
shell.c shell: drop git-cvsserver support by default 2017-09-12 11:05:58 +09:00
shortlog.h
show-index.c
sideband.c refactor "dumb" terminal determination 2017-12-04 09:38:30 -08:00
sideband.h
sigchain.c
sigchain.h
split-index.c split-index: don't write cache tree with null oid entries 2018-01-19 10:36:39 -08:00
split-index.h
strbuf.c Merge branch 'jd/fix-strbuf-add-urlencode-bytes' 2018-01-05 13:28:10 -08:00
strbuf.h strbuf: remove unused stripspace function alias 2017-12-05 08:50:15 -08:00
streaming.c Merge branch 'jk/write-in-full-fix' 2017-09-25 15:24:06 +09:00
streaming.h
string-list.c cleanup: fix possible overflow errors in binary search 2017-10-10 08:57:24 +09:00
string-list.h string-list.h: move documentation from Documentation/api/ into header 2017-09-27 09:14:34 +09:00
sub-process.c Merge branch 'cc/subprocess-handshake-missing-capabilities' into maint 2017-10-18 14:19:10 +09:00
sub-process.h Merge branch 'jt/subprocess-handshake' 2017-08-11 13:27:05 -07:00
submodule-config.c Sync with Git 2.15.2 2018-05-22 14:18:06 +09:00
submodule-config.h Sync with Git 2.15.2 2018-05-22 14:18:06 +09:00
submodule.c submodule: submodule_move_head omits old argument in forced case 2018-01-05 12:35:35 -08:00
submodule.h submodule: convert get_next_submodule to not rely on the_index 2017-12-12 12:35:22 -08:00
symlinks.c
tag.c Merge branch 'rs/tag-null-pointer-arith-fix' 2017-10-05 13:48:20 +09:00
tag.h tag: convert gpg_verify_tag to use struct object_id 2017-07-13 12:02:48 -07:00
tar.h
tempfile.c tempfile: auto-allocate tempfiles on heap 2017-09-06 17:19:54 +09:00
tempfile.h tempfile: fix documentation on delete_tempfile() 2017-10-06 10:07:18 +09:00
thread-utils.c
thread-utils.h
tmp-objdir.c
tmp-objdir.h
trace.c trace: improve performance while category is disabled 2017-12-06 09:43:02 -08:00
trace.h trace: improve performance while category is disabled 2017-12-06 09:43:02 -08:00
trailer.c tempfile: auto-allocate tempfiles on heap 2017-09-06 17:19:54 +09:00
trailer.h Merge branch 'jk/trailers-parse' 2017-08-26 22:55:04 -07:00
transport-helper.c Merge branch 'jt/transport-hide-vtable' 2017-12-28 14:08:47 -08:00
transport-internal.h transport: make transport vtable more private 2017-12-14 14:28:04 -08:00
transport.c Merge branch 'jt/transport-hide-vtable' 2017-12-28 14:08:47 -08:00
transport.h transport: make transport vtable more private 2017-12-14 14:28:04 -08:00
tree-diff.c diff: make struct diff_flags members lowercase 2017-11-01 11:51:40 +09:00
tree-walk.c Merge branch 'bw/pathspec-match-submodule-boundary' 2017-12-19 11:33:56 -08:00
tree-walk.h tree-walk: convert fill_tree_descriptor() to object_id 2017-08-14 12:38:54 -07:00
tree.c
tree.h
unicode_width.h unicode: update the width tables to Unicode 10 2017-07-07 10:33:30 -07:00
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c unpack-trees: oneway_merge to update submodules 2018-01-05 12:35:35 -08:00
unpack-trees.h
upload-pack.c Merge branch 'bw/protocol-v1' 2017-12-06 09:23:44 -08:00
url.c
url.h
urlmatch.c urlmatch: use hex2chr() in append_normalized_escapes() 2017-07-09 09:43:01 -07:00
urlmatch.h
usage.c add UNLEAK annotation for reducing leak false positives 2017-09-08 15:43:17 +09:00
userdiff.c Merge branch 'ik/userdiff-html-h-element-fix' into maint 2017-10-18 14:19:02 +09:00
userdiff.h
utf8.c Sync with Git 2.14.4 2018-05-22 14:15:14 +09:00
utf8.h is_hfs_dotgit: match other .git files 2018-05-21 23:50:11 -04:00
varint.c
varint.h
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
walker.c refs: update ref transactions to use struct object_id 2017-10-16 11:05:50 +09:00
walker.h
wildmatch.c
wildmatch.h
worktree.c Merge branch 'bc/object-id' 2017-11-06 14:24:27 +09:00
worktree.h worktree: convert struct worktree to object_id 2017-10-16 11:05:51 +09:00
wrap-for-bin.sh
wrapper.c wrapper.c: consistently quote filenames in error messages 2017-11-06 11:53:14 +09:00
write_or_die.c
ws.c
wt-status.c Merge branch 'nd/ita-wt-renames-in-status' into maint 2018-02-27 10:39:35 -08:00
wt-status.h Merge branch 'nd/ita-wt-renames-in-status' into maint 2018-02-27 10:39:35 -08:00
xdiff-interface.c xdiff-interface: export comparing and hashing strings 2017-10-26 11:23:22 +09:00
xdiff-interface.h xdiff-interface: export comparing and hashing strings 2017-10-26 11:23:22 +09:00
zlib.c

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.

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