This commit is contained in:
parent
c8ab2f1fce
commit
13649750b8
1 changed files with 194 additions and 0 deletions
|
@ -0,0 +1,194 @@
|
||||||
|
### Please describe the problem.
|
||||||
|
Data loss due to incorrect merge of repos in direct mode.
|
||||||
|
|
||||||
|
Given 2 repos A and B, in direct mode, where a has no remotes and b has a as remote (not sure if the latter is relevant):
|
||||||
|
1. in A: mkdir f, with a file f in it
|
||||||
|
2. in B: touch f
|
||||||
|
3. in B: sync
|
||||||
|
|
||||||
|
Result: Only an f.variant-f###remains, which is file f of B, and the merge conflict has already been automatically resolved. I.e. Directory f containing file f, is lost.
|
||||||
|
|
||||||
|
### What steps will reproduce the problem?
|
||||||
|
Execute the script given below in additional information.
|
||||||
|
|
||||||
|
### What version of git-annex are you using?
|
||||||
|
git-annex version: 4.20130911-g6625d0e
|
||||||
|
build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP Feeds Quvi
|
||||||
|
|
||||||
|
### On what operating system?
|
||||||
|
Linux basementcat 3.10.10-1-ARCH #1 SMP PREEMPT Fri Aug 30 11:30:06 CEST 2013 x86_64 GNU/Linux
|
||||||
|
|
||||||
|
### Please provide any additional information below.
|
||||||
|
|
||||||
|
[[!format sh """
|
||||||
|
[~]$ mkdir test
|
||||||
|
[~/test]$ mkdir a
|
||||||
|
[~/test/a]$ git init
|
||||||
|
Initialized empty Git repository in /home/limyreth/test/a/.git/
|
||||||
|
[~/test/a]$ git annex init test
|
||||||
|
init test ok
|
||||||
|
(Recording state in git...)
|
||||||
|
[~/test/a]$ touch firstfile
|
||||||
|
[~/test/a]$ git annex add firstfile
|
||||||
|
add firstfile (checksum...) ok
|
||||||
|
(Recording state in git...)
|
||||||
|
[~/test/a]$ git annex sync
|
||||||
|
commit
|
||||||
|
ok
|
||||||
|
git-annex: no branch is checked out
|
||||||
|
[~]$ git clone test/a
|
||||||
|
Cloning into 'a'...
|
||||||
|
done.
|
||||||
|
[~]$ mv a test/b
|
||||||
|
[~/test/a]$ git annex direct
|
||||||
|
commit
|
||||||
|
# On branch master
|
||||||
|
nothing to commit, working directory clean
|
||||||
|
ok
|
||||||
|
direct firstfile ok
|
||||||
|
direct ok
|
||||||
|
[~/test/a]$ ls -l
|
||||||
|
total 0
|
||||||
|
-rw-r--r-- 1 limyreth users 0 Oct 12 15:09 firstfile
|
||||||
|
[~/test/a]$ mkdir f
|
||||||
|
[~/test/a]$ touch f/f
|
||||||
|
[~/test/a]$ git annex add f/f
|
||||||
|
add f/f (checksum...) ok
|
||||||
|
(Recording state in git...)
|
||||||
|
[~/test/a]$ git annex sync
|
||||||
|
commit
|
||||||
|
ok
|
||||||
|
[~/test/b]$ git remote -v
|
||||||
|
origin /home/limyreth/test/a (fetch)
|
||||||
|
origin /home/limyreth/test/a (push)
|
||||||
|
[~/test/b]$ ls
|
||||||
|
firstfile
|
||||||
|
[~/test/b]$ git annex direct
|
||||||
|
commit
|
||||||
|
(Recording state in git...)
|
||||||
|
# On branch master
|
||||||
|
nothing to commit, working directory clean
|
||||||
|
ok
|
||||||
|
direct ok
|
||||||
|
[~/test/b]$ touch f
|
||||||
|
[~/test/b]$ git annex add f
|
||||||
|
add f (checksum...) ok
|
||||||
|
(Recording state in git...)
|
||||||
|
[~/test/b]$ git annex sync
|
||||||
|
(merging origin/git-annex into git-annex...)
|
||||||
|
(Recording state in git...)
|
||||||
|
commit
|
||||||
|
ok
|
||||||
|
pull origin
|
||||||
|
remote: Counting objects: 14, done.
|
||||||
|
remote: Compressing objects: 100% (7/7), done.
|
||||||
|
remote: Total 9 (delta 1), reused 0 (delta 0)
|
||||||
|
Unpacking objects: 100% (9/9), done.
|
||||||
|
From /home/limyreth/test/a
|
||||||
|
2a8fa45..ad6802d master -> origin/master
|
||||||
|
1f39016..19e3e12 git-annex -> origin/git-annex
|
||||||
|
* [new branch] synced/master -> origin/synced/master
|
||||||
|
|
||||||
|
Adding f/f
|
||||||
|
CONFLICT (file/directory): There is a directory with name f in refs/remotes/origin/master. Adding f as f~HEAD
|
||||||
|
Automatic merge failed; fix conflicts and then commit the result.
|
||||||
|
f: needs merge
|
||||||
|
(Recording state in git...)
|
||||||
|
ok
|
||||||
|
[master 37a8019] git-annex automatic merge conflict fix
|
||||||
|
|
||||||
|
Already up-to-date.
|
||||||
|
ok
|
||||||
|
(merging origin/git-annex into git-annex...)
|
||||||
|
(Recording state in git...)
|
||||||
|
push origin
|
||||||
|
Counting objects: 36, done.
|
||||||
|
Delta compression using up to 4 threads.
|
||||||
|
Compressing objects: 100% (20/20), done.
|
||||||
|
Writing objects: 100% (25/25), 2.16 KiB | 0 bytes/s, done.
|
||||||
|
Total 25 (delta 5), reused 0 (delta 0)
|
||||||
|
To /home/limyreth/test/a
|
||||||
|
ad6802d..37a8019 master -> synced/master
|
||||||
|
* [new branch] git-annex -> synced/git-annex
|
||||||
|
ok
|
||||||
|
[~/test/b]$ ls -l
|
||||||
|
total 0
|
||||||
|
-rw-r--r-- 1 limyreth users 0 Oct 12 15:11 firstfile
|
||||||
|
-rw-r--r-- 1 limyreth users 0 Oct 12 15:11 f.variant-f874
|
||||||
|
[~/test/b]$ git log --summary
|
||||||
|
commit 37a80199abe3cf82100bbdb5dd2217ed6bcb4b62
|
||||||
|
Merge: 5a8942a ad6802d
|
||||||
|
Author: timdiels <timdiels.m@gmail.com>
|
||||||
|
Date: Sat Oct 12 15:11:47 2013 +0200
|
||||||
|
|
||||||
|
git-annex automatic merge conflict fix
|
||||||
|
|
||||||
|
commit 5a8942a9a1735cb313c1f6624cbd3f48b252d9d9
|
||||||
|
Author: timdiels <timdiels.m@gmail.com>
|
||||||
|
Date: Sat Oct 12 15:11:47 2013 +0200
|
||||||
|
|
||||||
|
git-annex automatic sync
|
||||||
|
|
||||||
|
create mode 120000 f
|
||||||
|
|
||||||
|
commit ad6802dc231d389b86154e2df900a70b18e17b29
|
||||||
|
Author: timdiels <timdiels.m@gmail.com>
|
||||||
|
Date: Sat Oct 12 15:11:40 2013 +0200
|
||||||
|
|
||||||
|
git-annex automatic sync
|
||||||
|
|
||||||
|
create mode 120000 f/f
|
||||||
|
|
||||||
|
commit 2a8fa45bea996ab5ae219a017d4b642153e6d9c9
|
||||||
|
Author: timdiels <timdiels.m@gmail.com>
|
||||||
|
Date: Sat Oct 12 15:09:40 2013 +0200
|
||||||
|
|
||||||
|
git-annex automatic sync
|
||||||
|
|
||||||
|
create mode 120000 firstfile
|
||||||
|
[~/test/a]$ git annex sync
|
||||||
|
(merging synced/git-annex into git-annex...)
|
||||||
|
commit
|
||||||
|
ok
|
||||||
|
merge synced/master
|
||||||
|
Updating ad6802d..37a8019
|
||||||
|
Fast-forward
|
||||||
|
f.variant-f874 | 1 +
|
||||||
|
f/f | 1 -
|
||||||
|
2 files changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
create mode 120000 f.variant-f874
|
||||||
|
delete mode 120000 f/f
|
||||||
|
ok
|
||||||
|
[~/test/a]$ git log --summary
|
||||||
|
commit 37a80199abe3cf82100bbdb5dd2217ed6bcb4b62
|
||||||
|
Merge: 5a8942a ad6802d
|
||||||
|
Author: timdiels <timdiels.m@gmail.com>
|
||||||
|
Date: Sat Oct 12 15:11:47 2013 +0200
|
||||||
|
|
||||||
|
git-annex automatic merge conflict fix
|
||||||
|
|
||||||
|
commit 5a8942a9a1735cb313c1f6624cbd3f48b252d9d9
|
||||||
|
Author: timdiels <timdiels.m@gmail.com>
|
||||||
|
Date: Sat Oct 12 15:11:47 2013 +0200
|
||||||
|
|
||||||
|
git-annex automatic sync
|
||||||
|
|
||||||
|
create mode 120000 f
|
||||||
|
|
||||||
|
commit ad6802dc231d389b86154e2df900a70b18e17b29
|
||||||
|
Author: timdiels <timdiels.m@gmail.com>
|
||||||
|
Date: Sat Oct 12 15:11:40 2013 +0200
|
||||||
|
|
||||||
|
git-annex automatic sync
|
||||||
|
|
||||||
|
create mode 120000 f/f
|
||||||
|
|
||||||
|
commit 2a8fa45bea996ab5ae219a017d4b642153e6d9c9
|
||||||
|
Author: timdiels <timdiels.m@gmail.com>
|
||||||
|
Date: Sat Oct 12 15:09:40 2013 +0200
|
||||||
|
|
||||||
|
git-annex automatic sync
|
||||||
|
|
||||||
|
create mode 120000 firstfile
|
||||||
|
|
||||||
|
"""]]
|
Loading…
Reference in a new issue