git-annex/doc/bugs/direct_mode_assistant_in_subdir_confusion.mdwn

37 lines
1.3 KiB
Markdown

I ran the assistant in a subdir in direct mode, and it seemed to move files from other places outside that subdir
into it, and commit them there. These may have been files that needed to be committed, and it just staged them to the wrong place.
I'm pretty sure this does not affect indirect mode.
--[[Joey]]
The relevant commit, in my family's annex is
22e694549d698922389deb017c39c2b40371cdf0 --[[Joey]]
Was able to reproduce this as follows:
1. Make 2 repositories A and B, with B in direct mode.
2. In A, touch topfile; git annex add topfile; git annex sync
3. In B: mkdir subdir; cd subdir; git annex assistant
Result is a subdir/topfile appearing in B, which is wrong.
<pre>
subdir/topfile | 1 +
topfile | 1 -
</pre>
Note that manually doing a git-annex sync in B's subdir does not cause this
to happen. It's specific to the assistant somehow.
--[[Joey]]
Before 2407170eaf78d9aa38d73d1af68c20da9882779b, git-annex sync in a subdir
had the same problem. That made it always run from the top of the work
tree, which its code actually assumes is the case.
The assistant, however, does not do that, and it's useful in general to
only run it in a subdir.
> Made sync merge code handle this correctly. Conflicted merge handing code
> was already ok. [[fixed|done]] --[[Joey]]