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:

#!/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'.

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.

fixed --Joey