Revision f309e8e768ec5de97e8ab3dcd223f32865176290 authored by Junio C Hamano on 09 January 2018, 18:05:51 UTC, committed by Junio C Hamano on 09 January 2018, 18:39:30 UTC
When merging another branch into ours, if their tree is the same as the common ancestor's, we can declare that our tree represents the result of three-way merge. In such a case, the recursive merge backend incorrectly used to create a commit out of our index, even when the index has changes. A recent fix attempted to prevent this by adding a comparison between "our" tree and the index, but forgot that this check must be restricted only to the outermost merge. Inner merges performed by the recursive backend across merge bases are by definition made from scratch without having any local changes added to the index. The call to index_has_changes() during an inner merge is working on the index that has no relation to the merge being performed, preventing legitimate merges from getting carried out. Fix it by limiting the check to the outermost merge. Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 65170c0
File | Mode | Size |
---|---|---|
.github | ||
Documentation | ||
block-sha1 | ||
builtin | ||
ci | ||
compat | ||
contrib | ||
ewah | ||
git-gui | ||
gitk-git | ||
gitweb | ||
mergetools | ||
perl | ||
po | ||
ppc | ||
refs | ||
sha1collisiondetection @ 19d97bf | ||
sha1dc | ||
t | ||
templates | ||
vcs-svn | ||
xdiff | ||
.clang-format | -rw-r--r-- | 4.5 KB |
.gitattributes | -rw-r--r-- | 249 bytes |
.gitignore | -rw-r--r-- | 3.1 KB |
.gitmodules | -rw-r--r-- | 153 bytes |
.mailmap | -rw-r--r-- | 14.5 KB |
.travis.yml | -rw-r--r-- | 2.0 KB |
.tsan-suppressions | -rw-r--r-- | 411 bytes |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 752 bytes |
INSTALL | -rw-r--r-- | 8.9 KB |
LGPL-2.1 | -rw-r--r-- | 26.2 KB |
Makefile | -rw-r--r-- | 83.3 KB |
README.md | -rw-r--r-- | 2.9 KB |
RelNotes | l--------- | 33 bytes |
abspath.c | -rw-r--r-- | 6.8 KB |
aclocal.m4 | -rw-r--r-- | 1.4 KB |
advice.c | -rw-r--r-- | 4.1 KB |
advice.h | -rw-r--r-- | 1004 bytes |
alias.c | -rw-r--r-- | 1.8 KB |
alloc.c | -rw-r--r-- | 2.6 KB |
apply.c | -rw-r--r-- | 128.9 KB |
apply.h | -rw-r--r-- | 3.9 KB |
archive-tar.c | -rw-r--r-- | 12.4 KB |
archive-zip.c | -rw-r--r-- | 17.0 KB |
archive.c | -rw-r--r-- | 14.7 KB |
archive.h | -rw-r--r-- | 1.3 KB |
argv-array.c | -rw-r--r-- | 1.7 KB |
argv-array.h | -rw-r--r-- | 689 bytes |
attr.c | -rw-r--r-- | 28.5 KB |
attr.h | -rw-r--r-- | 2.2 KB |
base85.c | -rw-r--r-- | 2.8 KB |
bisect.c | -rw-r--r-- | 25.2 KB |
bisect.h | -rw-r--r-- | 1019 bytes |
blame.c | -rw-r--r-- | 49.6 KB |
blame.h | -rw-r--r-- | 5.2 KB |
blob.c | -rw-r--r-- | 401 bytes |
blob.h | -rw-r--r-- | 666 bytes |
branch.c | -rw-r--r-- | 9.3 KB |
branch.h | -rw-r--r-- | 2.5 KB |
builtin.h | -rw-r--r-- | 12.1 KB |
bulk-checkin.c | -rw-r--r-- | 7.2 KB |
bulk-checkin.h | -rw-r--r-- | 323 bytes |
bundle.c | -rw-r--r-- | 12.5 KB |
bundle.h | -rw-r--r-- | 725 bytes |
cache-tree.c | -rw-r--r-- | 17.4 KB |
cache-tree.h | -rw-r--r-- | 1.6 KB |
cache.h | -rw-r--r-- | 66.2 KB |
check-builtins.sh | -rwxr-xr-x | 596 bytes |
check-racy.c | -rw-r--r-- | 523 bytes |
check_bindir | -rwxr-xr-x | 374 bytes |
color.c | -rw-r--r-- | 8.8 KB |
color.h | -rw-r--r-- | 3.3 KB |
column.c | -rw-r--r-- | 9.7 KB |
column.h | -rw-r--r-- | 1.4 KB |
combine-diff.c | -rw-r--r-- | 40.2 KB |
command-list.txt | -rw-r--r-- | 8.8 KB |
commit-slab.h | -rw-r--r-- | 4.7 KB |
commit.c | -rw-r--r-- | 41.0 KB |
commit.h | -rw-r--r-- | 13.9 KB |
common-main.c | -rw-r--r-- | 1.1 KB |
config.c | -rw-r--r-- | 71.9 KB |
config.h | -rw-r--r-- | 9.5 KB |
config.mak.in | -rw-r--r-- | 540 bytes |
config.mak.uname | -rw-r--r-- | 16.6 KB |
configure.ac | -rw-r--r-- | 36.7 KB |
connect.c | -rw-r--r-- | 22.1 KB |
connect.h | -rw-r--r-- | 676 bytes |
connected.c | -rw-r--r-- | 3.0 KB |
connected.h | -rw-r--r-- | 1.5 KB |
convert.c | -rw-r--r-- | 39.7 KB |
convert.h | -rw-r--r-- | 3.6 KB |
copy.c | -rw-r--r-- | 1.3 KB |
credential-cache--daemon.c | -rw-r--r-- | 6.9 KB |
credential-cache.c | -rw-r--r-- | 3.2 KB |
credential-store.c | -rw-r--r-- | 5.0 KB |
credential.c | -rw-r--r-- | 7.8 KB |
credential.h | -rw-r--r-- | 833 bytes |
csum-file.c | -rw-r--r-- | 4.0 KB |
csum-file.h | -rw-r--r-- | 1.3 KB |
ctype.c | -rw-r--r-- | 2.6 KB |
daemon.c | -rw-r--r-- | 32.0 KB |
date.c | -rw-r--r-- | 27.8 KB |
decorate.c | -rw-r--r-- | 1.8 KB |
decorate.h | -rw-r--r-- | 400 bytes |
delta.h | -rw-r--r-- | 3.4 KB |
diff-delta.c | -rw-r--r-- | 15.5 KB |
diff-lib.c | -rw-r--r-- | 14.5 KB |
diff-no-index.c | -rw-r--r-- | 6.8 KB |
diff.c | -rw-r--r-- | 163.9 KB |
diff.h | -rw-r--r-- | 14.2 KB |
diffcore-break.c | -rw-r--r-- | 9.0 KB |
diffcore-delta.c | -rw-r--r-- | 5.3 KB |
diffcore-order.c | -rw-r--r-- | 2.4 KB |
diffcore-pickaxe.c | -rw-r--r-- | 6.1 KB |
diffcore-rename.c | -rw-r--r-- | 17.6 KB |
diffcore.h | -rw-r--r-- | 4.8 KB |
dir-iterator.c | -rw-r--r-- | 4.8 KB |
dir-iterator.h | -rw-r--r-- | 2.7 KB |
dir.c | -rw-r--r-- | 76.4 KB |
dir.h | -rw-r--r-- | 11.1 KB |
editor.c | -rw-r--r-- | 1.5 KB |
entry.c | -rw-r--r-- | 12.3 KB |
environment.c | -rw-r--r-- | 8.9 KB |
exec_cmd.c | -rw-r--r-- | 3.2 KB |
exec_cmd.h | -rw-r--r-- | 540 bytes |
fast-import.c | -rw-r--r-- | 89.0 KB |
fetch-pack.c | -rw-r--r-- | 30.4 KB |
fetch-pack.h | -rw-r--r-- | 1.3 KB |
fmt-merge-msg.h | -rw-r--r-- | 187 bytes |
fsck.c | -rw-r--r-- | 24.3 KB |
fsck.h | -rw-r--r-- | 1.8 KB |
generate-cmdlist.sh | -rwxr-xr-x | 929 bytes |
gettext.c | -rw-r--r-- | 5.1 KB |
gettext.h | -rw-r--r-- | 2.2 KB |
git-add--interactive.perl | -rwxr-xr-x | 40.4 KB |
git-archimport.perl | -rwxr-xr-x | 36.1 KB |
git-bisect.sh | -rwxr-xr-x | 15.6 KB |
git-compat-util.h | -rw-r--r-- | 31.8 KB |
git-cvsexportcommit.perl | -rwxr-xr-x | 12.6 KB |
git-cvsimport.perl | -rwxr-xr-x | 31.3 KB |
git-cvsserver.perl | -rwxr-xr-x | 158.9 KB |
git-difftool--helper.sh | -rwxr-xr-x | 2.2 KB |
git-filter-branch.sh | -rwxr-xr-x | 15.2 KB |
git-instaweb.sh | -rwxr-xr-x | 18.1 KB |
git-merge-octopus.sh | -rwxr-xr-x | 2.4 KB |
git-merge-one-file.sh | -rwxr-xr-x | 3.6 KB |
git-merge-resolve.sh | -rwxr-xr-x | 944 bytes |
git-mergetool--lib.sh | -rw-r--r-- | 8.7 KB |
git-mergetool.sh | -rwxr-xr-x | 10.1 KB |
git-p4.py | -rwxr-xr-x | 141.3 KB |
git-parse-remote.sh | -rw-r--r-- | 2.6 KB |
git-quiltimport.sh | -rwxr-xr-x | 3.5 KB |
git-rebase--am.sh | -rw-r--r-- | 2.5 KB |
git-rebase--interactive.sh | -rw-r--r-- | 28.0 KB |
git-rebase--merge.sh | -rw-r--r-- | 3.8 KB |
git-rebase.sh | -rwxr-xr-x | 16.1 KB |
git-remote-testgit.sh | -rwxr-xr-x | 2.9 KB |
git-request-pull.sh | -rwxr-xr-x | 3.6 KB |
git-send-email.perl | -rwxr-xr-x | 52.6 KB |
git-sh-i18n.sh | -rw-r--r-- | 2.3 KB |
git-sh-setup.sh | -rw-r--r-- | 9.1 KB |
git-stash.sh | -rwxr-xr-x | 15.4 KB |
git-submodule.sh | -rwxr-xr-x | 27.4 KB |
git-svn.perl | -rwxr-xr-x | 62.6 KB |
git-web--browse.sh | -rwxr-xr-x | 4.3 KB |
git.c | -rw-r--r-- | 19.7 KB |
git.rc | -rw-r--r-- | 592 bytes |
gpg-interface.c | -rw-r--r-- | 6.3 KB |
gpg-interface.h | -rw-r--r-- | 1.2 KB |
graph.c | -rw-r--r-- | 36.3 KB |
graph.h | -rw-r--r-- | 4.9 KB |
grep.c | -rw-r--r-- | 48.9 KB |
grep.h | -rw-r--r-- | 5.6 KB |
hash.h | -rw-r--r-- | 305 bytes |
hashmap.c | -rw-r--r-- | 7.2 KB |
hashmap.h | -rw-r--r-- | 14.4 KB |
help.c | -rw-r--r-- | 11.4 KB |
help.h | -rw-r--r-- | 1.1 KB |
hex.c | -rw-r--r-- | 2.7 KB |
http-backend.c | -rw-r--r-- | 16.6 KB |
http-fetch.c | -rw-r--r-- | 2.2 KB |
http-push.c | -rw-r--r-- | 49.6 KB |
http-walker.c | -rw-r--r-- | 14.9 KB |
http.c | -rw-r--r-- | 59.5 KB |
http.h | -rw-r--r-- | 6.5 KB |
ident.c | -rw-r--r-- | 12.5 KB |
imap-send.c | -rw-r--r-- | 36.4 KB |
iterator.h | -rw-r--r-- | 2.1 KB |
khash.h | -rw-r--r-- | 12.6 KB |
kwset.c | -rw-r--r-- | 20.5 KB |
kwset.h | -rw-r--r-- | 2.5 KB |
levenshtein.c | -rw-r--r-- | 2.5 KB |
levenshtein.h | -rw-r--r-- | 203 bytes |
line-log.c | -rw-r--r-- | 30.7 KB |
line-log.h | -rw-r--r-- | 1.8 KB |
line-range.c | -rw-r--r-- | 6.5 KB |
line-range.h | -rw-r--r-- | 1.3 KB |
list-objects.c | -rw-r--r-- | 6.0 KB |
list-objects.h | -rw-r--r-- | 381 bytes |
list.h | -rw-r--r-- | 5.6 KB |
ll-merge.c | -rw-r--r-- | 10.5 KB |
ll-merge.h | -rw-r--r-- | 567 bytes |
lockfile.c | -rw-r--r-- | 5.6 KB |
lockfile.h | -rw-r--r-- | 10.5 KB |
log-tree.c | -rw-r--r-- | 24.8 KB |
log-tree.h | -rw-r--r-- | 1.3 KB |
mailinfo.c | -rw-r--r-- | 26.3 KB |
mailinfo.h | -rw-r--r-- | 991 bytes |
mailmap.c | -rw-r--r-- | 8.9 KB |
mailmap.h | -rw-r--r-- | 271 bytes |
match-trees.c | -rw-r--r-- | 8.1 KB |
merge-blobs.c | -rw-r--r-- | 1.9 KB |
merge-blobs.h | -rw-r--r-- | 194 bytes |
merge-recursive.c | -rw-r--r-- | 62.5 KB |
merge-recursive.h | -rw-r--r-- | 1.6 KB |
merge.c | -rw-r--r-- | 3.2 KB |
mergesort.c | -rw-r--r-- | 1.5 KB |
mergesort.h | -rw-r--r-- | 574 bytes |
mru.c | -rw-r--r-- | 968 bytes |
mru.h | -rw-r--r-- | 1.0 KB |
name-hash.c | -rw-r--r-- | 18.4 KB |
notes-cache.c | -rw-r--r-- | 2.2 KB |
notes-cache.h | -rw-r--r-- | 498 bytes |
notes-merge.c | -rw-r--r-- | 22.5 KB |
notes-merge.h | -rw-r--r-- | 2.8 KB |
notes-utils.c | -rw-r--r-- | 4.9 KB |
notes-utils.h | -rw-r--r-- | 1.4 KB |
notes.c | -rw-r--r-- | 36.5 KB |
notes.h | -rw-r--r-- | 11.8 KB |
object.c | -rw-r--r-- | 9.7 KB |
object.h | -rw-r--r-- | 4.8 KB |
oidmap.c | -rw-r--r-- | 1.2 KB |
oidmap.h | -rw-r--r-- | 1.7 KB |
oidset.c | -rw-r--r-- | 585 bytes |
oidset.h | -rw-r--r-- | 1.2 KB |
pack-bitmap-write.c | -rw-r--r-- | 12.2 KB |
pack-bitmap.c | -rw-r--r-- | 24.8 KB |
pack-bitmap.h | -rw-r--r-- | 1.7 KB |
pack-check.c | -rw-r--r-- | 5.4 KB |
pack-objects.c | -rw-r--r-- | 2.2 KB |
pack-objects.h | -rw-r--r-- | 2.2 KB |
pack-revindex.c | -rw-r--r-- | 5.6 KB |
pack-revindex.h | -rw-r--r-- | 323 bytes |
pack-write.c | -rw-r--r-- | 10.4 KB |
pack.h | -rw-r--r-- | 3.4 KB |
packfile.c | -rw-r--r-- | 47.2 KB |
packfile.h | -rw-r--r-- | 5.1 KB |
pager.c | -rw-r--r-- | 4.4 KB |
parse-options-cb.c | -rw-r--r-- | 5.2 KB |
parse-options.c | -rw-r--r-- | 17.5 KB |
parse-options.h | -rw-r--r-- | 10.1 KB |
patch-delta.c | -rw-r--r-- | 2.2 KB |
patch-ids.c | -rw-r--r-- | 3.2 KB |
patch-ids.h | -rw-r--r-- | 585 bytes |
path.c | -rw-r--r-- | 32.2 KB |
path.h | -rw-r--r-- | 2.9 KB |
pathspec.c | -rw-r--r-- | 16.4 KB |
pathspec.h | -rw-r--r-- | 3.1 KB |
pkt-line.c | -rw-r--r-- | 8.5 KB |
pkt-line.h | -rw-r--r-- | 4.1 KB |
preload-index.c | -rw-r--r-- | 2.5 KB |
pretty.c | -rw-r--r-- | 45.3 KB |
prio-queue.c | -rw-r--r-- | 1.8 KB |
prio-queue.h | -rw-r--r-- | 1.5 KB |
progress.c | -rw-r--r-- | 6.5 KB |
progress.h | -rw-r--r-- | 452 bytes |
prompt.c | -rw-r--r-- | 1.4 KB |
prompt.h | -rw-r--r-- | 168 bytes |
quote.c | -rw-r--r-- | 10.6 KB |
quote.h | -rw-r--r-- | 2.8 KB |
reachable.c | -rw-r--r-- | 4.8 KB |
reachable.h | -rw-r--r-- | 300 bytes |
read-cache.c | -rw-r--r-- | 70.0 KB |
ref-filter.c | -rw-r--r-- | 59.8 KB |
ref-filter.h | -rw-r--r-- | 4.2 KB |
reflog-walk.c | -rw-r--r-- | 8.2 KB |
reflog-walk.h | -rw-r--r-- | 918 bytes |
refs.c | -rw-r--r-- | 50.8 KB |
refs.h | -rw-r--r-- | 27.9 KB |
remote-curl.c | -rw-r--r-- | 27.3 KB |
remote-testsvn.c | -rw-r--r-- | 8.2 KB |
remote.c | -rw-r--r-- | 58.4 KB |
remote.h | -rw-r--r-- | 8.2 KB |
replace_object.c | -rw-r--r-- | 3.0 KB |
repository.c | -rw-r--r-- | 5.4 KB |
repository.h | -rw-r--r-- | 2.9 KB |
rerere.c | -rw-r--r-- | 31.1 KB |
rerere.h | -rw-r--r-- | 1.2 KB |
resolve-undo.c | -rw-r--r-- | 4.3 KB |
resolve-undo.h | -rw-r--r-- | 612 bytes |
revision.c | -rw-r--r-- | 94.4 KB |
revision.h | -rw-r--r-- | 8.6 KB |
run-command.c | -rw-r--r-- | 36.6 KB |
run-command.h | -rw-r--r-- | 7.6 KB |
send-pack.c | -rw-r--r-- | 15.5 KB |
send-pack.h | -rw-r--r-- | 840 bytes |
sequencer.c | -rw-r--r-- | 81.2 KB |
sequencer.h | -rw-r--r-- | 1.2 KB |
server-info.c | -rw-r--r-- | 5.7 KB |
setup.c | -rw-r--r-- | 32.4 KB |
sh-i18n--envsubst.c | -rw-r--r-- | 10.1 KB |
sha1-array.c | -rw-r--r-- | 1.2 KB |
sha1-array.h | -rw-r--r-- | 585 bytes |
sha1-lookup.c | -rw-r--r-- | 2.6 KB |
sha1-lookup.h | -rw-r--r-- | 234 bytes |
sha1_file.c | -rw-r--r-- | 52.3 KB |
sha1_name.c | -rw-r--r-- | 40.0 KB |
sha1dc_git.c | -rw-r--r-- | 855 bytes |
sha1dc_git.h | -rw-r--r-- | 618 bytes |
shallow.c | -rw-r--r-- | 19.3 KB |
shell.c | -rw-r--r-- | 4.5 KB |
shortlog.h | -rw-r--r-- | 492 bytes |
show-index.c | -rw-r--r-- | 2.2 KB |
sideband.c | -rw-r--r-- | 3.1 KB |
sideband.h | -rw-r--r-- | 259 bytes |
sigchain.c | -rw-r--r-- | 1.1 KB |
sigchain.h | -rw-r--r-- | 247 bytes |
split-index.c | -rw-r--r-- | 9.5 KB |
split-index.h | -rw-r--r-- | 1.2 KB |
strbuf.c | -rw-r--r-- | 19.7 KB |
strbuf.h | -rw-r--r-- | 21.1 KB |
streaming.c | -rw-r--r-- | 11.8 KB |
streaming.h | -rw-r--r-- | 507 bytes |
string-list.c | -rw-r--r-- | 7.5 KB |
string-list.h | -rw-r--r-- | 10.1 KB |
sub-process.c | -rw-r--r-- | 5.4 KB |
sub-process.h | -rw-r--r-- | 3.2 KB |
submodule-config.c | -rw-r--r-- | 16.7 KB |
submodule-config.h | -rw-r--r-- | 1.6 KB |
submodule.c | -rw-r--r-- | 53.8 KB |
submodule.h | -rw-r--r-- | 5.4 KB |
symlinks.c | -rw-r--r-- | 9.3 KB |
tag.c | -rw-r--r-- | 4.5 KB |
tag.h | -rw-r--r-- | 610 bytes |
tar.h | -rw-r--r-- | 644 bytes |
tempfile.c | -rw-r--r-- | 8.3 KB |
tempfile.h | -rw-r--r-- | 9.0 KB |
thread-utils.c | -rw-r--r-- | 1.7 KB |
thread-utils.h | -rw-r--r-- | 241 bytes |
tmp-objdir.c | -rw-r--r-- | 6.4 KB |
tmp-objdir.h | -rw-r--r-- | 1.5 KB |
trace.c | -rw-r--r-- | 10.7 KB |
trace.h | -rw-r--r-- | 3.6 KB |
trailer.c | -rw-r--r-- | 28.7 KB |
trailer.h | -rw-r--r-- | 2.3 KB |
transport-helper.c | -rw-r--r-- | 36.2 KB |
transport.c | -rw-r--r-- | 33.1 KB |
transport.h | -rw-r--r-- | 8.4 KB |
tree-diff.c | -rw-r--r-- | 17.9 KB |
tree-walk.c | -rw-r--r-- | 29.0 KB |
tree-walk.h | -rw-r--r-- | 3.2 KB |
tree.c | -rw-r--r-- | 6.4 KB |
tree.h | -rw-r--r-- | 1.1 KB |
unicode_width.h | -rw-r--r-- | 8.5 KB |
unimplemented.sh | -rw-r--r-- | 101 bytes |
unix-socket.c | -rw-r--r-- | 2.4 KB |
unix-socket.h | -rw-r--r-- | 158 bytes |
unpack-trees.c | -rw-r--r-- | 56.5 KB |
unpack-trees.h | -rw-r--r-- | 2.3 KB |
upload-pack.c | -rw-r--r-- | 27.0 KB |
url.c | -rw-r--r-- | 2.4 KB |
url.h | -rw-r--r-- | 492 bytes |
urlmatch.c | -rw-r--r-- | 18.1 KB |
urlmatch.h | -rw-r--r-- | 2.0 KB |
usage.c | -rw-r--r-- | 5.3 KB |
userdiff.c | -rw-r--r-- | 9.6 KB |
userdiff.h | -rw-r--r-- | 780 bytes |
utf8.c | -rw-r--r-- | 16.1 KB |
utf8.h | -rw-r--r-- | 2.2 KB |
varint.c | -rw-r--r-- | 660 bytes |
varint.h | -rw-r--r-- | 168 bytes |
version.c | -rw-r--r-- | 651 bytes |
version.h | -rw-r--r-- | 180 bytes |
versioncmp.c | -rw-r--r-- | 5.2 KB |
walker.c | -rw-r--r-- | 7.3 KB |
walker.h | -rw-r--r-- | 1.1 KB |
wildmatch.c | -rw-r--r-- | 7.8 KB |
wildmatch.h | -rw-r--r-- | 293 bytes |
worktree.c | -rw-r--r-- | 9.1 KB |
worktree.h | -rw-r--r-- | 2.6 KB |
wrap-for-bin.sh | -rw-r--r-- | 819 bytes |
wrapper.c | -rw-r--r-- | 14.7 KB |
write_or_die.c | -rw-r--r-- | 1.5 KB |
ws.c | -rw-r--r-- | 9.4 KB |
wt-status.c | -rw-r--r-- | 63.3 KB |
wt-status.h | -rw-r--r-- | 3.5 KB |
xdiff-interface.c | -rw-r--r-- | 7.3 KB |
xdiff-interface.h | -rw-r--r-- | 1.7 KB |
zlib.c | -rw-r--r-- | 6.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...