This commit is contained in:
mbekkema97@66b135681014f005a3a14c4011d148fcb6655f81 2018-08-06 18:18:31 +00:00 committed by admin
parent 38ddd6072d
commit 2010e98ebf

View file

@ -0,0 +1,154 @@
### Please describe the problem.
If multiple remotes edit group information and one of them does `git annex forget --force --drop-dead` some of those edits can be lost on sync.
### What steps will reproduce the problem?
Make a temporary directory and `cd` into it. Then run this script:
[[!format sh """
#!/bin/bash
git annex version
git init a
cd a
git annex init
touch test
git annex add test
git annex sync
cd ..
git clone a b
cd b
git annex sync
cd ../a
git annex group here ga
git annex sync
cd ../b
git annex group here gb
git annex forget --force --drop-dead
git annex sync
cd ../a
git annex sync
cd ../b
git annex sync
cd ../a
echo "A IS IN GROUP:"
git annex group .
cd ../b
echo "B IS IN GROUP:"
git annex group .
"""]]
### What version of git-annex are you using? On what operating system?
6.20170101-1+deb9u2 on Debian Stretch but I also tested this occurs in version 6.20180719
### Please provide any additional information below.
Here's the output of the above script. The interesting part is the last two lines which show that remote 'b' is not in any group despite being added to group 'gb'.
[[!format sh """
git-annex version: 6.20170101.1
build flags: Assistant Webapp Pairing Testsuite S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify ConcurrentOutput TorrentParser MagicMime Feeds Quvi
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
Initialized empty Git repository in /home/matthew/test-git-annex/a/.git/
init ok
(recording state in git...)
add test ok
(recording state in git...)
commit
[master (root-commit) ffcf48d] git-annex in matthew@thorium:~/test-git-annex/a
1 file changed, 1 insertion(+)
create mode 120000 test
ok
Cloning into 'b'...
done.
(merging origin/git-annex into git-annex...)
commit (recording state in git...)
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
ok
pull origin
ok
push origin
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 409 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To /home/matthew/test-git-annex/a
* [new branch] git-annex -> synced/git-annex
ok
group here ok
(recording state in git...)
commit
On branch master
nothing to commit, working tree clean
ok
group here ok
(recording state in git...)
forget git-annex (recording state in git...)
ok
(recording state in git...)
commit
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
ok
pull origin
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From /home/matthew/test-git-annex/a
e9a879d..000eb8e git-annex -> origin/git-annex
ok
(merging origin/git-annex into git-annex...)
(recording state in git...)
(recording state in git...)
push origin
Counting objects: 11, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (11/11), 1.03 KiB | 0 bytes/s, done.
Total 11 (delta 3), reused 0 (delta 0)
To /home/matthew/test-git-annex/a
+ e9a879d...00986fa git-annex -> synced/git-annex (forced update)
ok
(merging synced/git-annex into git-annex...)
(recording state in git...)
commit
On branch master
nothing to commit, working tree clean
ok
commit
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
ok
pull origin
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From /home/matthew/test-git-annex/a
+ 000eb8e...965b6af git-annex -> origin/git-annex (forced update)
ok
(merging origin/git-annex into git-annex...)
A IS IN GROUP:
ga
B IS IN GROUP:
"""]]
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
Yes, git-annex is slowly replacing all of my other sync and backup systems I've cobbled together over the years.