https://github.com/git/git
Revision ec0603e13c4e33c3a1501fe16f576db9aff1701a authored by Junio C Hamano on 12 July 2007, 08:04:16 UTC, committed by Junio C Hamano on 12 July 2007, 09:22:53 UTC
Earlier in 16a4c61, we taught "read-tree -m -u" not to be
confused when switching from a branch that has a path frotz/filfre
to another branch that has a symlink frotz that points at xyzzy/
directory.  The fix was incomplete in that it was still confused
when coming back (i.e. switching from a branch with frotz -> xyzzy/
to another branch with frotz/filfre).

This fix is rather expensive in that for a path that is created
we would need to see if any of the leading component of that
path exists as a symbolic link in the filesystem (in which case,
we know that path itself does not exist, and the fact we already
decided to check it out tells us that in the index we already
know that symbolic link is going away as there is no D/F
conflict).

Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 1b2782a
History
Tip revision: ec0603e13c4e33c3a1501fe16f576db9aff1701a authored by Junio C Hamano on 12 July 2007, 08:04:16 UTC
Teach read-tree 2-way merge to ignore intermediate symlinks
Tip revision: ec0603e
File Mode Size
Documentation
arm
compat
contrib
git-gui
gitweb
mozilla-sha1
perl
ppc
t
templates
xdiff
.gitignore -rw-r--r-- 2.2 KB
.mailmap -rw-r--r-- 1.7 KB
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 759 bytes
INSTALL -rw-r--r-- 4.1 KB
Makefile -rw-r--r-- 31.8 KB
README -rw-r--r-- 2.1 KB
RelNotes l--------- 34 bytes
alloc.c -rw-r--r-- 1.7 KB
archive-tar.c -rw-r--r-- 8.2 KB
archive-zip.c -rw-r--r-- 8.9 KB
archive.h -rw-r--r-- 1.1 KB
attr.c -rw-r--r-- 13.2 KB
attr.h -rw-r--r-- 816 bytes
base85.c -rw-r--r-- 2.9 KB
blob.c -rw-r--r-- 1.1 KB
blob.h -rw-r--r-- 311 bytes
builtin-add.c -rw-r--r-- 6.0 KB
builtin-annotate.c -rw-r--r-- 447 bytes
builtin-apply.c -rw-r--r-- 69.1 KB
builtin-archive.c -rw-r--r-- 5.7 KB
builtin-blame.c -rw-r--r-- 60.8 KB
builtin-branch.c -rw-r--r-- 16.3 KB
builtin-bundle.c -rw-r--r-- 9.8 KB
builtin-cat-file.c -rw-r--r-- 3.4 KB
builtin-check-attr.c -rw-r--r-- 1.3 KB
builtin-check-ref-format.c -rw-r--r-- 282 bytes
builtin-checkout-index.c -rw-r--r-- 7.5 KB
builtin-commit-tree.c -rw-r--r-- 3.9 KB
builtin-config.c -rw-r--r-- 6.0 KB
builtin-count-objects.c -rw-r--r-- 2.9 KB
builtin-describe.c -rw-r--r-- 6.6 KB
builtin-diff-files.c -rw-r--r-- 958 bytes
builtin-diff-index.c -rw-r--r-- 1.2 KB
builtin-diff-tree.c -rw-r--r-- 3.3 KB
builtin-diff.c -rw-r--r-- 8.2 KB
builtin-fetch--tool.c -rw-r--r-- 12.8 KB
builtin-fmt-merge-msg.c -rw-r--r-- 7.8 KB
builtin-for-each-ref.c -rw-r--r-- 20.6 KB
builtin-fsck.c -rw-r--r-- 16.6 KB
builtin-gc.c -rw-r--r-- 1.8 KB
builtin-grep.c -rw-r--r-- 16.4 KB
builtin-init-db.c -rw-r--r-- 8.8 KB
builtin-log.c -rw-r--r-- 18.7 KB
builtin-ls-files.c -rw-r--r-- 12.1 KB
builtin-ls-tree.c -rw-r--r-- 3.8 KB
builtin-mailinfo.c -rw-r--r-- 18.2 KB
builtin-mailsplit.c -rw-r--r-- 4.1 KB
builtin-merge-base.c -rw-r--r-- 1.2 KB
builtin-merge-file.c -rw-r--r-- 1.5 KB
builtin-mv.c -rw-r--r-- 7.4 KB
builtin-name-rev.c -rw-r--r-- 6.1 KB
builtin-pack-objects.c -rw-r--r-- 44.4 KB
builtin-pack-refs.c -rw-r--r-- 2.9 KB
builtin-prune-packed.c -rw-r--r-- 1.8 KB
builtin-prune.c -rw-r--r-- 1.9 KB
builtin-push.c -rw-r--r-- 8.9 KB
builtin-read-tree.c -rw-r--r-- 6.6 KB
builtin-reflog.c -rw-r--r-- 9.8 KB
builtin-rerere.c -rw-r--r-- 10.5 KB
builtin-rev-list.c -rw-r--r-- 13.1 KB
builtin-rev-parse.c -rw-r--r-- 7.8 KB
builtin-revert.c -rw-r--r-- 10.0 KB
builtin-rm.c -rw-r--r-- 5.6 KB
builtin-runstatus.c -rw-r--r-- 812 bytes
builtin-shortlog.c -rw-r--r-- 7.4 KB
builtin-show-branch.c -rw-r--r-- 21.1 KB
builtin-show-ref.c -rw-r--r-- 5.7 KB
builtin-stripspace.c -rw-r--r-- 1012 bytes
builtin-symbolic-ref.c -rw-r--r-- 1.3 KB
builtin-tar-tree.c -rw-r--r-- 2.1 KB
builtin-unpack-objects.c -rw-r--r-- 8.6 KB
builtin-update-index.c -rw-r--r-- 19.1 KB
builtin-update-ref.c -rw-r--r-- 1.5 KB
builtin-upload-archive.c -rw-r--r-- 4.1 KB
builtin-verify-pack.c -rw-r--r-- 1.7 KB
builtin-write-tree.c -rw-r--r-- 2.1 KB
builtin.h -rw-r--r-- 5.7 KB
cache-tree.c -rw-r--r-- 12.5 KB
cache-tree.h -rw-r--r-- 921 bytes
cache.h -rw-r--r-- 20.1 KB
check-builtins.sh -rwxr-xr-x 588 bytes
check-racy.c -rw-r--r-- 517 bytes
color.c -rw-r--r-- 3.2 KB
color.h -rw-r--r-- 376 bytes
combine-diff.c -rw-r--r-- 26.4 KB
commit.c -rw-r--r-- 33.1 KB
commit.h -rw-r--r-- 3.8 KB
config.c -rw-r--r-- 21.1 KB
config.mak.in -rw-r--r-- 932 bytes
configure.ac -rw-r--r-- 12.0 KB
connect.c -rw-r--r-- 17.1 KB
convert-objects.c -rw-r--r-- 7.3 KB
convert.c -rw-r--r-- 14.9 KB
copy.c -rw-r--r-- 689 bytes
csum-file.c -rw-r--r-- 3.1 KB
csum-file.h -rw-r--r-- 686 bytes
ctype.c -rw-r--r-- 890 bytes
daemon.c -rw-r--r-- 26.2 KB
date.c -rw-r--r-- 17.8 KB
decorate.c -rw-r--r-- 1.8 KB
decorate.h -rw-r--r-- 382 bytes
delta.h -rw-r--r-- 3.2 KB
diff-delta.c -rw-r--r-- 13.8 KB
diff-lib.c -rw-r--r-- 17.0 KB
diff.c -rw-r--r-- 75.5 KB
diff.h -rw-r--r-- 7.1 KB
diffcore-break.c -rw-r--r-- 8.5 KB
diffcore-delta.c -rw-r--r-- 5.1 KB
diffcore-order.c -rw-r--r-- 2.2 KB
diffcore-pickaxe.c -rw-r--r-- 3.3 KB
diffcore-rename.c -rw-r--r-- 13.0 KB
diffcore.h -rw-r--r-- 3.7 KB
dir.c -rw-r--r-- 14.3 KB
dir.h -rw-r--r-- 1.7 KB
dump-cache-tree.c -rw-r--r-- 1.5 KB
entry.c -rw-r--r-- 5.1 KB
environment.c -rw-r--r-- 2.7 KB
exec_cmd.c -rw-r--r-- 2.8 KB
exec_cmd.h -rw-r--r-- 286 bytes
fast-import.c -rw-r--r-- 51.4 KB
fetch-pack.c -rw-r--r-- 17.6 KB
fetch.c -rw-r--r-- 6.7 KB
fetch.h -rw-r--r-- 1.6 KB
generate-cmdlist.sh -rwxr-xr-x 544 bytes
git-add--interactive.perl -rwxr-xr-x 15.9 KB
git-am.sh -rwxr-xr-x 11.1 KB
git-applymbox.sh -rwxr-xr-x 2.9 KB
git-applypatch.sh -rwxr-xr-x 5.4 KB
git-archimport.perl -rwxr-xr-x 36.1 KB
git-bisect.sh -rwxr-xr-x 8.3 KB
git-checkout.sh -rwxr-xr-x 6.9 KB
git-clean.sh -rwxr-xr-x 1.8 KB
git-clone.sh -rwxr-xr-x 9.9 KB
git-commit.sh -rwxr-xr-x 14.1 KB
git-compat-util.h -rw-r--r-- 7.7 KB
git-cvsexportcommit.perl -rwxr-xr-x 8.1 KB
git-cvsimport.perl -rwxr-xr-x 26.5 KB
git-cvsserver.perl -rwxr-xr-x 96.1 KB
git-fetch.sh -rwxr-xr-x 8.8 KB
git-instaweb.sh -rwxr-xr-x 5.2 KB
git-lost-found.sh -rwxr-xr-x 473 bytes
git-ls-remote.sh -rwxr-xr-x 2.5 KB
git-merge-octopus.sh -rwxr-xr-x 2.4 KB
git-merge-one-file.sh -rwxr-xr-x 3.1 KB
git-merge-ours.sh -rwxr-xr-x 335 bytes
git-merge-resolve.sh -rwxr-xr-x 956 bytes
git-merge-stupid.sh -rwxr-xr-x 1.4 KB
git-merge.sh -rwxr-xr-x 10.9 KB
git-mergetool.sh -rwxr-xr-x 7.7 KB
git-p4import.py -rw-r--r-- 10.5 KB
git-parse-remote.sh -rwxr-xr-x 5.8 KB
git-pull.sh -rwxr-xr-x 3.2 KB
git-quiltimport.sh -rwxr-xr-x 3.0 KB
git-rebase.sh -rwxr-xr-x 8.3 KB
git-relink.perl -rwxr-xr-x 4.0 KB
git-remote.perl -rwxr-xr-x 8.9 KB
git-repack.sh -rwxr-xr-x 2.6 KB
git-request-pull.sh -rwxr-xr-x 1.3 KB
git-reset.sh -rwxr-xr-x 2.3 KB
git-send-email.perl -rwxr-xr-x 16.8 KB
git-sh-setup.sh -rwxr-xr-x 1.7 KB
git-svn.perl -rwxr-xr-x 111.7 KB
git-svnimport.perl -rwxr-xr-x 24.7 KB
git-tag.sh -rwxr-xr-x 3.1 KB
git-verify-tag.sh -rwxr-xr-x 741 bytes
git.c -rw-r--r-- 10.8 KB
git.spec.in -rw-r--r-- 8.3 KB
gitk -rwxr-xr-x 172.5 KB
grep.c -rw-r--r-- 12.7 KB
grep.h -rw-r--r-- 1.6 KB
hash-object.c -rw-r--r-- 1.9 KB
help.c -rw-r--r-- 4.6 KB
http-fetch.c -rw-r--r-- 25.9 KB
http-push.c -rw-r--r-- 66.5 KB
http.c -rw-r--r-- 11.4 KB
http.h -rw-r--r-- 2.5 KB
ident.c -rw-r--r-- 5.6 KB
imap-send.c -rw-r--r-- 28.5 KB
index-pack.c -rw-r--r-- 25.1 KB
interpolate.c -rw-r--r-- 2.1 KB
interpolate.h -rw-r--r-- 589 bytes
list-objects.c -rw-r--r-- 4.5 KB
list-objects.h -rw-r--r-- 382 bytes
local-fetch.c -rw-r--r-- 6.0 KB
lockfile.c -rw-r--r-- 2.1 KB
log-tree.c -rw-r--r-- 9.8 KB
log-tree.h -rw-r--r-- 386 bytes
mailmap.c -rw-r--r-- 2.2 KB
mailmap.h -rw-r--r-- 213 bytes
match-trees.c -rw-r--r-- 7.1 KB
merge-file.c -rw-r--r-- 2.3 KB
merge-index.c -rw-r--r-- 2.4 KB
merge-recursive.c -rw-r--r-- 44.2 KB
merge-tree.c -rw-r--r-- 7.9 KB
mktag.c -rw-r--r-- 3.9 KB
mktree.c -rw-r--r-- 3.1 KB
object-refs.c -rw-r--r-- 2.0 KB
object.c -rw-r--r-- 5.5 KB
object.h -rw-r--r-- 2.3 KB
pack-check.c -rw-r--r-- 4.2 KB
pack-redundant.c -rw-r--r-- 14.8 KB
pack-write.c -rw-r--r-- 1020 bytes
pack.h -rw-r--r-- 1.6 KB
pager.c -rw-r--r-- 1.1 KB
patch-delta.c -rw-r--r-- 2.2 KB
patch-id.c -rw-r--r-- 1.6 KB
patch-ids.c -rw-r--r-- 4.7 KB
patch-ids.h -rw-r--r-- 490 bytes
path-list.c -rw-r--r-- 2.2 KB
path-list.h -rw-r--r-- 597 bytes
path.c -rw-r--r-- 6.1 KB
peek-remote.c -rw-r--r-- 1.4 KB
pkt-line.c -rw-r--r-- 2.5 KB
pkt-line.h -rw-r--r-- 348 bytes
progress.c -rw-r--r-- 2.5 KB
progress.h -rw-r--r-- 591 bytes
quote.c -rw-r--r-- 8.1 KB
quote.h -rw-r--r-- 2.1 KB
reachable.c -rw-r--r-- 5.5 KB
reachable.h -rw-r--r-- 127 bytes
read-cache.c -rw-r--r-- 27.3 KB
receive-pack.c -rw-r--r-- 12.1 KB
reflog-walk.c -rw-r--r-- 6.7 KB
reflog-walk.h -rw-r--r-- 384 bytes
refs.c -rw-r--r-- 33.8 KB
refs.h -rw-r--r-- 2.4 KB
revision.c -rw-r--r-- 35.8 KB
revision.h -rw-r--r-- 3.3 KB
rsh.c -rw-r--r-- 1.7 KB
rsh.h -rw-r--r-- 159 bytes
run-command.c -rw-r--r-- 2.7 KB
run-command.h -rw-r--r-- 842 bytes
send-pack.c -rw-r--r-- 9.2 KB
server-info.c -rw-r--r-- 5.1 KB
setup.c -rw-r--r-- 6.7 KB
sha1_file.c -rw-r--r-- 59.5 KB
sha1_name.c -rw-r--r-- 16.0 KB
shallow.c -rw-r--r-- 2.3 KB
shell.c -rw-r--r-- 1.1 KB
show-index.c -rw-r--r-- 2.1 KB
sideband.c -rw-r--r-- 1.9 KB
sideband.h -rw-r--r-- 335 bytes
ssh-fetch.c -rw-r--r-- 3.6 KB
ssh-pull.c -rw-r--r-- 154 bytes
ssh-push.c -rw-r--r-- 155 bytes
ssh-upload.c -rw-r--r-- 2.8 KB
strbuf.c -rw-r--r-- 768 bytes
strbuf.h -rw-r--r-- 216 bytes
symlinks.c -rw-r--r-- 862 bytes
tag.c -rw-r--r-- 2.8 KB
tag.h -rw-r--r-- 471 bytes
tar.h -rw-r--r-- 644 bytes
test-chmtime.c -rw-r--r-- 1.2 KB
test-date.c -rw-r--r-- 378 bytes
test-delta.c -rw-r--r-- 1.8 KB
test-genrandom.c -rw-r--r-- 731 bytes
test-match-trees.c -rw-r--r-- 588 bytes
test-sha1.c -rw-r--r-- 815 bytes
test-sha1.sh -rwxr-xr-x 1.9 KB
trace.c -rw-r--r-- 3.9 KB
tree-diff.c -rw-r--r-- 8.7 KB
tree-walk.c -rw-r--r-- 4.3 KB
tree-walk.h -rw-r--r-- 1.2 KB
tree.c -rw-r--r-- 5.5 KB
tree.h -rw-r--r-- 860 bytes
unpack-file.c -rw-r--r-- 821 bytes
unpack-trees.c -rw-r--r-- 20.5 KB
unpack-trees.h -rw-r--r-- 900 bytes
update-server-info.c -rw-r--r-- 457 bytes
upload-pack.c -rw-r--r-- 16.3 KB
usage.c -rw-r--r-- 1.9 KB
utf8.c -rw-r--r-- 9.9 KB
utf8.h -rw-r--r-- 388 bytes
var.c -rw-r--r-- 1.3 KB
write_or_die.c -rw-r--r-- 1.3 KB
wt-status.c -rw-r--r-- 9.3 KB
wt-status.h -rw-r--r-- 566 bytes
xdiff-interface.c -rw-r--r-- 2.8 KB
xdiff-interface.h -rw-r--r-- 559 bytes

README

back to top