René Scharfe <l....@web.de> writes:
> # Create test repo with two directories with two files each.
> $ git init
> Initialized empty Git repository in /tmp/.git/
> $ mkdir a b
> $ echo x >a/equal
> $ echo x >b/equal
> $ echo y >a/different
> $ echo z >b/different
> $ git add a b
> $ git commit -minitial
> [master (root-commit) 6d36895] initial
> 4 files changed, 4 insertions(+)
> create mode 100644 a/different
> create mode 100644 a/equal
> create mode 100644 b/different
> create mode 100644 b/equal
> # Replace one directory with a symlink to the other.
> $ rm -rf b
> $ ln -s a b
> # First git status call.
> $ git status
> On branch master
> Changes not staged for commit:
> (use "git add/rm <file>..." to update what will be committed)
> (use "git checkout -- <file>..." to discard changes in working directory)
> deleted: b/different
> Untracked files:
> (use "git add <file>..." to include in what will be committed)
> no changes added to commit (use "git add" and/or "git commit -a")
> It could be debated if the first git status call should also report
> b/equal as deleted.
I wonder if "could be" is an understatement. The difference of
reporting between b/equal and b/different may indicate that somebody
is mistakenly comparing the index with these paths, without first
checking each path with has_symlink_leading_path(), or something,
Or am I misreading the report and codepath?
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html