Please describe the problem.
After initializing a (indirect) repository on my Linux PC and git cloning it on a FAT32 formatted USB drive (direct mode), git annex sync worked fine. After using it on a Windows system (git annex watch), I took it back to the Linux machine. Now doing git annex sync on the USB drive repository lead to:
(usb drive) $ git annex sync
commit ok
There are no commits yet in the currently checked out branch, so cannot merge any remote changes into it.
failed
pull PC
....
merge: refs/remotes/PC/annex/direct/master - not something we can merge
merge: refs/remotes/PC/synced/master - not something we can merge
failed
(merging origin/git-annex into git-annex...)
git-annex: sync: 2 failed
$ git fsck
Checking object directories: 100% (256/256), done.
$ git annex fsck
fsck blah.pdf (checksum...) ok
fsck foo.pdf (checksum...) ok
fsck bar.pdf (checksum...) ok
...
(recording state in git...)
Note that for some reason it mentions the ref refs/remotes/PC/annex/direct/master - which doesn't exist, because the Linux PC repo is in indirect mode.
What steps will reproduce the problem?
- git init / git annex init on a ext* drive under Linux
- git sync it to a FAT32-formatted (USB) drive
- git annex init on the USB drive
- add each others as remote
- git sync each other - works fine
- Change into a Windows system
- git annex watch inside the git annex repository under Windows
- add some files, they are committed (says daemon.log)
- Ctrl+C git annex watch, unmount drive...
- Change back to a Linux system
- git annex sync from the annex repository on USB
What version of git-annex are you using? On what operating system?
Gentoo:
git-annex version: 6.20170611-gb493ac8d3
build flags: Assistant Webapp Pairing Testsuite S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify ConcurrentOutput TorrentParser MagicMime Feeds Quvi
dependency versions: aws-0.14.1 bloomfilter-2.0.1.0 cryptonite-0.20 DAV-1.3.1 feed-0.3.11.1 ghc-8.0.1 http-client-0.4.31.1 persistent-sqlite-2.6 torrent-10000.0.0 uuid-1.3.12 yesod-1.4.3
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
local repository version: 5
supported repository versions: 3 5 6
upgrade supported from repository versions: 0 1 2 3 4 5
operating system: linux x86_64
Windows 10:
git-annex version: 6.20170611-gb493ac8
build flags: Assistant Webapp Pairing Testsuite S3(multipartupload)(storageclasses) WebDAV ConcurrentOutput TorrentParser Feeds Quvi
dependency versions: aws-0.14.0 bloomfilter-2.0.1.0 cryptonite-0.7 DAV-1.3.1 feed-0.3.11.1 ghc-7.10.2 http-client-0.4.31.1 persistent-sqlite-2.2 torrent-10000.0.0 uuid-1.3.12 yesod-1.4.3
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
local repository version: 5
supported repository versions: 3 5 6
upgrade supported from repository versions: 2 3 4 5
operating system: mingw32 i386
Please provide any additional information below.
# daemon.log from git watch
[2017-08-16 13:16:01.6773524] main: starting watch version 6.20170611-gb493ac8
(scanning...) [2017-08-16 13:16:02.0049693] Watcher: Performing startup scan
(started...)
[2017-08-16 13:16:03.0007698] Committer: Committing changes to git
(recording state in git...)
[2017-08-16 13:16:51.420494] Committer: Adding annex3.txt
add annex3.txt ok
[2017-08-16 13:16:51.771892] Committer: Committing changes to git
(recording state in git...)
# End of transcript or log.
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)
Used it under only-linux before. I especially like the location tracking.
Also tried using special remotes (mega.nz) with encryption - although I was very confused at first that you need the private key for the hybrid approach. After some reading I think I need sharedpubkey? (I just wanna use it for myself, but don't wanna insert the smartcard where my private key is stored every time for sending the files to the remote).
Oh, and by the way: The bug does not occur if you don't use git annex watch, but git annex add the files manually under Windows.
(In this case, I have a weird drive letter problem, probably (can't figure out how to make the link work) bugs/Windows_to_Linux_clone-Windows_drive_letters_cause_git_annex_get_to_fail)