A fork of Git containing Microsoft-specific patches.
Перейти к файлу
SZEDER Gábor 71abeb753f reflog: continue walking the reflog past root commits
If a repository contains more than one root commit, then its HEAD
reflog may contain multiple "creation events", i.e. entries whose
"from" value is the null sha1.  Listing such a reflog currently stops
prematurely at the first such entry, even when the reflog still
contains older entries.  This can scare users into thinking that their
reflog got truncated after 'git checkout --orphan'.

Continue walking the reflog past such creation events based on the
preceeding reflog entry's "new" value.

The test 'symbolic-ref writes reflog entry' in t1401-symbolic-ref
implicitly relies on the current behavior of the reflog walker to stop
at a root commit and thus to list only the reflog entries that are
relevant for that test.  Adjust the test to explicitly specify the
number of relevant reflog entries to be listed.

Reported-by: Patrik Gustafsson <pvn@textalk.se>
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-06-06 15:06:44 -07:00
Documentation Git 2.9-rc2 2016-06-06 14:34:52 -07:00
block-sha1
builtin Merge branch 'ar/diff-args-osx-precompose' into maint 2016-06-06 14:27:35 -07:00
ci travis-ci: build documentation 2016-05-10 11:19:07 -07:00
compat Merge branch 'kb/msys2-tty' into maint 2016-06-06 14:27:38 -07:00
contrib git-multimail: update to release 1.3.1 2016-05-13 12:54:06 -07:00
ewah
git-gui
gitk-git
gitweb Merge branch 'sk/gitweb-highlight-encoding' into HEAD 2016-05-18 14:40:10 -07:00
mergetools mergetools: add support for ExamDiff 2016-04-04 09:15:14 -07:00
perl Merge branch 'lp/typofixes' 2016-05-17 14:38:20 -07:00
po l10n-2.8.0-rnd3-fr 2016-04-25 13:36:26 -07:00
ppc
refs Merge branch 'dt/pre-refs-backend' 2016-04-25 15:17:15 -07:00
t reflog: continue walking the reflog past root commits 2016-06-06 15:06:44 -07:00
templates
vcs-svn vcs-svn: use error_errno() 2016-05-09 12:29:08 -07:00
xdiff Merge branch 'jk/diff-compact-heuristic' 2016-05-06 14:45:46 -07:00
.gitattributes
.gitignore test helpers: move test-* to t/helper/ subdirectory 2016-04-15 10:12:19 -07:00
.mailmap .mailmap: update to my shorter email address 2016-05-02 13:29:42 -07:00
.travis.yml Merge branch 'ls/travis-build-doc' into maint 2016-05-26 13:17:25 -07:00
COPYING
GIT-VERSION-GEN Git 2.9-rc2 2016-06-06 14:34:52 -07:00
INSTALL
LGPL-2.1
Makefile Merge branch 'mm/makefile-developer-can-be-in-config-mak' 2016-06-03 14:38:02 -07:00
README.md README.md: format CLI commands with code syntax 2016-05-31 08:54:24 -07:00
RelNotes Git 2.8.4 2016-06-06 14:29:32 -07:00
abspath.c Windows: shorten code by re-using convert_slashes() 2016-04-04 18:03:02 -07:00
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
archive-tar.c archive-tar: convert snprintf to xsnprintf 2016-05-26 10:44:26 -07:00
archive-zip.c
archive.c
archive.h
argv-array.c
argv-array.h
attr.c Merge branch 'ss/exc-flag-is-a-collection-of-bits' into maint 2016-04-14 18:37:15 -07:00
attr.h
base85.c
bisect.c bisect.c: use die_errno() and warning_errno() 2016-05-09 12:29:08 -07:00
bisect.h
blob.c
blob.h
branch.c worktree.c: check whether branch is rebased in another worktree 2016-04-22 14:09:38 -07:00
branch.h worktree.c: check whether branch is rebased in another worktree 2016-04-22 14:09:38 -07:00
builtin.h
bulk-checkin.c
bulk-checkin.h
bundle.c bundle: don't leak an fd in case of early return 2016-04-01 10:33:18 -07:00
bundle.h
cache-tree.c struct name_entry: use struct object_id instead of unsigned char sha1[20] 2016-04-25 14:23:42 -07:00
cache-tree.h
cache.h Merge branch 'js/windows-dotgit' into maint 2016-05-26 13:17:23 -07:00
check-builtins.sh
check-racy.c check-racy.c: use error_errno() 2016-05-09 12:29:08 -07:00
check_bindir
color.c
color.h
column.c
column.h
combine-diff.c combine-diff.c: use error_errno() 2016-05-09 12:29:08 -07:00
command-list.txt
commit-slab.h
commit.c
commit.h pretty: allow tweaking tabwidth in --expand-tabs 2016-03-30 12:52:26 -07:00
config.c Merge branch 'tb/core-eol-fix' into maint 2016-06-06 14:27:36 -07:00
config.mak.in
config.mak.uname mingw: make isatty() recognize MSYS2's pseudo terminals (/dev/pty*) 2016-05-26 13:12:02 -07:00
configure.ac Merge branch 'ky/imap-send-openssl-1.1.0' into maint 2016-05-06 14:53:24 -07:00
connect.c
connect.h
connected.c connected.c: use error_errno() 2016-05-09 12:29:08 -07:00
connected.h
convert.c convert.c: ident + core.autocrlf didn't work 2016-04-25 12:12:03 -07:00
convert.h
copy.c copy.c: use error_errno() 2016-05-09 12:29:08 -07:00
credential-cache--daemon.c Merge branch 'nd/error-errno' 2016-05-17 14:38:28 -07:00
credential-cache.c credential-cache, send_request: close fd when done 2016-04-01 10:33:18 -07:00
credential-store.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c
diff-no-index.c diff-no-index.c: use error_errno() 2016-05-09 12:29:08 -07:00
diff.c Merge branch 'jk/diff-compact-heuristic' 2016-05-06 14:45:46 -07:00
diff.h Merge branch 'mm/diff-renames-default' 2016-04-03 10:29:22 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c Merge branch 'sg/diff-multiple-identical-renames' into maint 2016-04-29 14:15:55 -07:00
diffcore.h
dir.c Merge branch 'nd/worktree-various-heads' 2016-05-23 14:54:29 -07:00
dir.h Merge branch 'nd/worktree-various-heads' 2016-05-23 14:54:29 -07:00
editor.c editor.c: use error_errno() 2016-05-09 12:29:08 -07:00
entry.c entry.c: use error_errno() 2016-05-09 12:29:08 -07:00
environment.c Merge branch 'js/windows-dotgit' into maint 2016-05-26 13:17:23 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c Merge branch 'fc/fast-import-broken-marks-file' 2016-05-31 12:40:53 -07:00
fetch-pack.c fetch-pack: isolate sigpipe in demuxer thread 2016-04-20 13:33:56 -07:00
fetch-pack.h
fmt-merge-msg.h
fsck.c Merge branch 'jc/fsck-nul-in-commit' 2016-05-17 14:38:34 -07:00
fsck.h
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-archimport.perl
git-bisect.sh
git-compat-util.h Merge branch 'nd/error-errno' 2016-05-17 14:38:28 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl typofix: assorted typofixes in comments, documentation and messages 2016-05-06 13:16:37 -07:00
git-difftool--helper.sh difftool/mergetool: make the form of yes/no questions consistent 2016-04-25 15:15:17 -07:00
git-difftool.perl difftool: handle unmerged files in dir-diff mode 2016-05-16 14:53:05 -07:00
git-filter-branch.sh
git-instaweb.sh
git-merge-octopus.sh merge-octopus: abort if index does not match HEAD 2016-04-12 18:39:43 -07:00
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh Merge branch 'nf/mergetool-prompt' 2016-05-03 14:08:17 -07:00
git-mergetool.sh Merge branch 'nf/mergetool-prompt' into HEAD 2016-05-18 14:40:07 -07:00
git-p4.py Merge branch 'ls/p4-lfs' 2016-05-10 13:40:29 -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-rebase--am.sh
git-rebase--interactive.sh Merge branch 'js/rebase-i-dedup-call-to-rerere' 2016-06-03 14:38:01 -07:00
git-rebase--merge.sh git-rebase--merge: don't include absent parent as a base 2016-04-24 12:05:08 -07:00
git-rebase.sh Merge branch 'jc/commit-tree-ignore-commit-gpgsign' 2016-05-13 13:18:27 -07:00
git-relink.perl
git-remote-testgit.sh
git-request-pull.sh
git-send-email.perl Merge branch 'jd/send-email-to-whom' into HEAD 2016-05-18 14:40:07 -07:00
git-sh-i18n.sh
git-sh-setup.sh
git-stash.sh always quote shell arguments to test -z/-n 2016-05-14 10:37:29 -07:00
git-submodule.sh submodule: remove bashism from shell script 2016-06-01 11:32:53 -07:00
git-svn.perl
git-web--browse.sh
git.c
git.rc
gpg-interface.c Merge branch 'nd/error-errno' 2016-05-17 14:38:28 -07:00
gpg-interface.h
graph.c
graph.h
grep.c grep.c: use error_errno() 2016-05-09 12:29:08 -07:00
grep.h
hashmap.c
hashmap.h
help.c
help.h
hex.c
http-backend.c show_head_ref(): check the result of resolve_ref_namespace() 2016-04-10 11:35:39 -07:00
http-fetch.c
http-push.c Merge branch 'bc/object-id' 2016-05-06 14:45:44 -07:00
http-walker.c
http.c Merge branch 'bn/http-cookiefile-config' into maint 2016-05-31 14:08:28 -07:00
http.h http: support sending custom HTTP headers 2016-04-27 14:02:33 -07:00
ident.c Merge branch 'da/user-useconfigonly' into HEAD 2016-05-18 14:40:05 -07:00
imap-send.c Merge branch 'ky/imap-send-openssl-1.1.0' into maint 2016-05-06 14:53:24 -07:00
khash.h
kwset.c
kwset.h
levenshtein.c
levenshtein.h
line-log.c
line-log.h
line-range.c
line-range.h
list-objects.c struct name_entry: use struct object_id instead of unsigned char sha1[20] 2016-04-25 14:23:42 -07:00
list-objects.h
ll-merge.c Merge branch 'jc/ll-merge-internal' 2016-05-17 14:38:32 -07:00
ll-merge.h
lockfile.c
lockfile.h
log-tree.c pretty: expand tabs in indented logs to make things line up properly 2016-03-30 11:25:35 -07:00
log-tree.h
mailinfo.c
mailinfo.h
mailmap.c Merge branch 'nd/error-errno' 2016-05-17 14:38:28 -07:00
mailmap.h
match-trees.c match-trees: convert several leaf functions to use struct object_id 2016-04-25 14:26:29 -07:00
merge-blobs.c
merge-blobs.h
merge-recursive.c Merge branch 'bc/object-id' 2016-05-06 14:45:44 -07:00
merge-recursive.h
merge.c
mergesort.c
mergesort.h
name-hash.c
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h
notes-utils.c
notes-utils.h
notes.c struct name_entry: use struct object_id instead of unsigned char sha1[20] 2016-04-25 14:23:42 -07:00
notes.h
object.c
object.h
pack-bitmap-write.c
pack-bitmap.c
pack-bitmap.h
pack-check.c
pack-objects.c
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options-cb.c
parse-options.c parse-options.c: make OPTION_COUNTUP respect "unspecified" values 2016-05-05 11:52:45 -07:00
parse-options.h
patch-delta.c
patch-ids.c patch-ids: make commit_patch_id() a public helper function 2016-04-26 10:49:57 -07:00
patch-ids.h patch-ids: make commit_patch_id() a public helper function 2016-04-26 10:49:57 -07:00
path.c Merge branch 'lp/typofixes' into maint 2016-05-26 13:17:21 -07:00
pathspec.c
pathspec.h
pkt-line.c
pkt-line.h
preload-index.c
pretty.c pretty: allow tweaking tabwidth in --expand-tabs 2016-03-30 12:52:26 -07:00
prio-queue.c
prio-queue.h
progress.c
progress.h
prompt.c
prompt.h
quote.c
quote.h
reachable.c reachable.c: use error_errno() 2016-05-09 12:29:08 -07:00
reachable.h
read-cache.c
ref-filter.c
ref-filter.h
reflog-walk.c reflog: continue walking the reflog past root commits 2016-06-06 15:06:44 -07:00
reflog-walk.h
refs.c refs: move resolve_ref_unsafe into common code 2016-04-10 11:35:41 -07:00
refs.h refs: add a new function set_worktree_head_symref 2016-04-04 12:57:21 -07:00
remote-curl.c http: support sending custom HTTP headers 2016-04-27 14:02:33 -07:00
remote-testsvn.c
remote.c Merge branch 'nd/remote-plural-ours-plus-theirs' into maint 2016-05-26 13:17:18 -07:00
remote.h
replace_object.c
rerere.c Merge branch 'jc/rerere-multi' 2016-05-23 14:54:38 -07:00
rerere.h Merge branch 'jc/rerere-multi' 2016-04-25 15:17:15 -07:00
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'bc/object-id' 2016-05-06 14:45:44 -07:00
revision.h Merge branch 'lt/pretty-expand-tabs' 2016-04-13 14:12:36 -07:00
run-command.c Merge branch 'jk/push-client-deadlock-fix' into HEAD 2016-05-18 14:40:06 -07:00
run-command.h Merge branch 'jk/push-client-deadlock-fix' into HEAD 2016-05-18 14:40:06 -07:00
send-pack.c send-pack: isolate sigpipe in demuxer thread 2016-04-20 13:33:53 -07:00
send-pack.h
sequencer.c sequencer.c: use error_errno() 2016-05-09 12:29:08 -07:00
sequencer.h
server-info.c server-info.c: use error_errno() 2016-05-09 12:29:08 -07:00
setup.c Merge branch 'jc/xstrfmt-null-with-prec-0' into maint 2016-05-02 14:24:14 -07:00
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c Merge branch 'nd/worktree-various-heads' 2016-05-23 14:54:29 -07:00
sha1_name.c Merge branch 'bc/object-id' 2016-05-06 14:45:44 -07:00
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c typofix: assorted typofixes in comments, documentation and messages 2016-05-06 13:16:37 -07:00
split-index.h
strbuf.c Merge branch 'jk/getwholeline-getdelim-empty' into maint 2016-04-14 18:57:46 -07:00
strbuf.h Merge branch 'sb/submodule-path-misc-bugs' into sb/submodule-init 2016-04-14 12:47:45 -07:00
streaming.c
streaming.h
string-list.c string_list: use string-list API in unsorted_string_list_lookup() 2016-04-25 11:48:27 -07:00
string-list.h
submodule-config.c Merge branch 'sb/misc-cleanups' into HEAD 2016-05-18 14:40:15 -07:00
submodule-config.h Merge branch 'sb/submodule-path-misc-bugs' into sb/submodule-init 2016-04-14 12:47:45 -07:00
submodule.c Merge branch 'jk/submodule-c-credential' 2016-05-17 14:38:25 -07:00
submodule.h Merge branch 'jk/submodule-c-credential' 2016-05-17 14:38:25 -07:00
symlinks.c
tag.c verify-tag: move tag verification code to tag.c 2016-04-22 14:06:46 -07:00
tag.h verify-tag: move tag verification code to tag.c 2016-04-22 14:06:46 -07:00
tar.h
tempfile.c
tempfile.h
thread-utils.c
thread-utils.h
trace.c
trace.h
trailer.c
trailer.h
transport-helper.c Merge branch 'nd/error-errno' 2016-05-17 14:38:28 -07:00
transport.c
transport.h
tree-diff.c tree-walk: convert tree_entry_extract() to use struct object_id 2016-04-25 14:26:28 -07:00
tree-walk.c tree-walk: convert tree_entry_extract() to use struct object_id 2016-04-25 14:26:28 -07:00
tree-walk.h tree-walk: convert tree_entry_extract() to use struct object_id 2016-04-25 14:26:28 -07:00
tree.c struct name_entry: use struct object_id instead of unsigned char sha1[20] 2016-04-25 14:23:42 -07:00
tree.h
unicode_width.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c Merge branch 'nd/error-errno' 2016-05-17 14:38:28 -07:00
unpack-trees.h
update_unicode.sh
upload-pack.c Merge branch 'nd/error-errno' 2016-05-17 14:38:28 -07:00
url.c
url.h
urlmatch.c
urlmatch.h
usage.c usage.c: add warning_errno() and error_errno() 2016-05-09 12:29:08 -07:00
userdiff.c
userdiff.h
utf8.c
utf8.h typofix: assorted typofixes in comments, documentation and messages 2016-05-06 13:16:37 -07:00
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c struct name_entry: use struct object_id instead of unsigned char sha1[20] 2016-04-25 14:23:42 -07:00
walker.h
wildmatch.c typofix: assorted typofixes in comments, documentation and messages 2016-05-06 13:16:37 -07:00
wildmatch.h
worktree.c Merge branch 'nd/worktree-various-heads' 2016-05-23 14:54:29 -07:00
worktree.h branch: do not rename a branch under bisect or rebase 2016-04-22 14:09:39 -07:00
wrap-for-bin.sh wrap-for-bin.sh: regenerate bin-wrappers when switching branches 2016-05-10 13:23:34 -07:00
wrapper.c Merge branch 'nd/error-errno' 2016-05-17 14:38:28 -07:00
write_or_die.c
ws.c
wt-status.c Merge branch 'nd/worktree-various-heads' 2016-05-23 14:54:29 -07:00
wt-status.h wt-status.c: split bisect detection out of wt_status_get_state() 2016-04-22 14:09:39 -07:00
xdiff-interface.c
xdiff-interface.h
zlib.c

README.md

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 http://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 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.

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