code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawk9nck8WX8-ADF3Fdh5vFo4Qrw1I_bJcR8"
 nickname="Jon Ander"
 subject="comment 13"
 date="2014-07-26T14:57:53Z"
 content="""
The empty merge commits are a lot less common lately, but still happen.

I post a log of today's merges. I have empty merge commit at 11:44:02, 11:44:03 and 11:54:34.

[2014-07-26 11:41:35 CEST] main: starting assistant version 5.20140717
[2014-07-26 11:41:36 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:41:36 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:41:36 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:41:36 CEST] chat: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"cat-file\",\"--batch\"]
[2014-07-26 11:41:36 CEST] Cronner: You should enable consistency checking to protect your data.
[2014-07-26 11:43:46 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"ls-files\",\"--stage\",\"-z\",\"--\",\"/home/jonan/Sync\"]
[2014-07-26 11:43:49 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"ls-files\",\"--stage\",\"-z\",\"--\",\"/home/jonan/Sync\"]
[2014-07-26 11:43:56 CEST] chat: nice [\"ionice\",\"-c3\",\"git-annex\",\"remotedaemon\"]
[2014-07-26 11:43:56 CEST] read: git [\"config\",\"--null\",\"--list\"]
[2014-07-26 11:43:56 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
[2014-07-26 11:43:56 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
[2014-07-26 11:43:56 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@gitlab.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@gitlab.com\",\"git-annex-shell 'notifychanges' '/~/jonan/annex-sync.git'\"]
[2014-07-26 11:43:56 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"ls-tree\",\"--full-tree\",\"-z\",\"--\",\"refs/heads/git-annex\",\"uuid.log\",\"remote.log\",\"trust.log\",\"group.log\",\"numcopies.log\",\"schedule.log\",\"preferred-content.log\",\"required-content.log\",\"group-preferred-content.log\"]
[2014-07-26 11:43:56 CEST] TransferScanner: Syncing with gitlab, github
[2014-07-26 11:43:57 CEST] MountWatcher: Using running DBUS service org.kde.DeviceNotifications to monitor mount events.
[2014-07-26 11:43:57 CEST] NetWatcher: Using running DBUS service org.freedesktop.NetworkManager to monitor network connection events.
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"symbolic-ref\",\"HEAD\"]
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"symbolic-ref\",\"HEAD\"]
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/annex/direct/master..refs/remotes/github/synced/master\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:57 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"fetch\",\"gitlab\"]
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"ls-tree\",\"--full-tree\",\"-z\",\"--\",\"refs/heads/git-annex\",\"uuid.log\",\"remote.log\",\"trust.log\",\"group.log\",\"numcopies.log\",\"schedule.log\",\"preferred-content.log\",\"required-content.log\",\"group-preferred-content.log\"]
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"symbolic-ref\",\"HEAD\"]
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:43:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/annex/direct/master..refs/remotes/ec25486238253.compute1.amazonaws.com_annexsync/synced/master\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:57 CEST] RemoteControl: DISCONNECTED ssh://git@gitlab.com/~/jonan/annex-sync.git
[2014-07-26 11:43:57 CEST] RemoteControl: fromList []
(scanning...) [2014-07-26 11:43:58 CEST] Watcher: Performing startup scan
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] chat: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"cat-file\",\"--batch\"]
Invalid command: 'git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git''
  You appear to be using ssh to clone a git:// URL.
  Make sure your core.gitProxy config option and the
  GIT_PROXY_COMMA[2014-07-26 11:43:58 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 11:43:58 CEST] RemoteControl: fromList []
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"symbolic-ref\",\"HEAD\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/annex/direct/master..refs/remotes/ec2548437158.compute1.amazonaws.com_annexsync/synced/master\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"symbolic-ref\",\"HEAD\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/annex/direct/master..refs/remotes/ec25486248131.compute1.amazonaws.com_annexsync/synced/master\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] TransferWatcher: watching for transfers
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"symbolic-ref\",\"HEAD\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/annex/direct/master..refs/remotes/gitlab/synced/master\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"symbolic-ref\",\"HEAD\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/annex/direct/master..refs/heads/synced/master\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:43:58 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:43:58 CEST] Merger: watching /home/jonan/Sync/.git/refs
[2014-07-26 11:43:59 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
Invalid command: 'git-annex-shel[2014-07-26 11:43:59 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 11:43:59 CEST] RemoteControl: fromList []
[2014-07-26 11:44:00 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"fetch\",\"github\"]
[2014-07-26 11:44:01 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
Invalid command: 'git-annex-shell 'notifychanges' '/~[2014-07-26 11:44:01 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 11:44:01 CEST] RemoteControl: fromList []
[2014-07-26 11:44:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:44:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:44:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:44:02 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--verify\",\"-q\",\"refs/remotes/gitlab/annex/direct/master\"]
[2014-07-26 11:44:02 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--verify\",\"-q\",\"refs/remotes/gitlab/synced/master\"]
[2014-07-26 11:44:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/synced/master..refs/remotes/gitlab/synced/master\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:44:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:44:02 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync/.git/annex/merge/\",\"-c\",\"core.bare=false\",\"merge\",\"--quiet\",\"--no-commit\",\"--no-ff\",\"refs/remotes/gitlab/synced/master\"]
[2014-07-26 11:44:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--head\"]
[2014-07-26 11:44:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"diff-index\",\"-z\",\"--raw\",\"--no-renames\",\"-l0\",\"--cached\",\"72953c0d32d121b75dde10570aa25632641f2a54\"]
[2014-07-26 11:44:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--head\"]
[2014-07-26 11:44:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"diff-index\",\"-z\",\"--raw\",\"--no-renames\",\"-l0\",\"--cached\",\"HEAD\"]
[2014-07-26 11:44:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/annex/direct/master..refs/remotes/gitlab/synced/master\",\"-n1\",\"--pretty=%H\",\"--ancestry-path\"]
[2014-07-26 11:44:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"write-tree\"]
[2014-07-26 11:44:02 CEST] chat: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"commit-tree\",\"53de8f3b86ec1b57ab58e7e849d7b38004616dd6\",\"-p\",\"HEAD\",\"-p\",\"refs/remotes/gitlab/synced/master\"]
[2014-07-26 11:44:02 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"update-ref\",\"HEAD\",\"073a007b04d28be9439ba847429c53681152af53\"]
[2014-07-26 11:44:03 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--verify\",\"-q\",\"refs/remotes/github/annex/direct/master\"]
[2014-07-26 11:44:03 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--verify\",\"-q\",\"refs/remotes/github/synced/master\"]
[2014-07-26 11:44:03 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/synced/master..refs/remotes/github/synced/master\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:44:03 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:44:03 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync/.git/annex/merge/\",\"-c\",\"core.bare=false\",\"merge\",\"--quiet\",\"--no-commit\",\"--no-ff\",\"refs/remotes/github/synced/master\"]
[2014-07-26 11:44:03 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--head\"]
[2014-07-26 11:44:03 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"diff-index\",\"-z\",\"--raw\",\"--no-renames\",\"-l0\",\"--cached\",\"073a007b04d28be9439ba847429c53681152af53\"]
[2014-07-26 11:44:03 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--head\"]
[2014-07-26 11:44:03 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"diff-index\",\"-z\",\"--raw\",\"--no-renames\",\"-l0\",\"--cached\",\"HEAD\"]
[2014-07-26 11:44:03 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/annex/direct/master..refs/remotes/github/synced/master\",\"-n1\",\"--pretty=%H\",\"--ancestry-path\"]
[2014-07-26 11:44:03 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"write-tree\"]
[2014-07-26 11:44:03 CEST] chat: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"commit-tree\",\"53de8f3b86ec1b57ab58e7e849d7b38004616dd6\",\"-p\",\"HEAD\",\"-p\",\"refs/remotes/github/synced/master\"]
[2014-07-26 11:44:03 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"update-ref\",\"HEAD\",\"aa25ea14ffcb0837e5eaa3d725228c300655f7c1\"]
[2014-07-26 11:44:03 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"symbolic-ref\",\"HEAD\"]
[2014-07-26 11:44:03 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:44:03 CEST] TransferScanner: pushing to [Remote { name =\"gitlab\" },Remote { name =\"github\" }]
[2014-07-26 11:44:03 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"push\",\"gitlab\",\"+git-annex:synced/git-annex\",\"annex/direct/master:synced/master\"]
[2014-07-26 11:44:03 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"push\",\"github\",\"+git-annex:synced/git-annex\",\"annex/direct/master:synced/master\"]
[2014-07-26 11:44:05 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
Invalid command: 'git-annex-shell 'notifychanges' '/~/[2014-07-26 11:44:05 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 11:44:05 CEST] RemoteControl: fromList []
[2014-07-26 11:44:14 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
Invalid command: 'git-annex-shell 'notifychanges' '/~[2014-07-26 11:44:14 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 11:44:14 CEST] RemoteControl: fromList []
[2014-07-26 11:44:30 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
Invalid command: 'git-annex-shell 'notifychanges'[2014-07-26 11:44:30 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 11:44:30 CEST] RemoteControl: fromList []
[2014-07-26 11:45:02 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"ls-tree\",\"--full-tree\",\"-z\",\"--\",\"refs/heads/git-annex\",\"uuid.log\",\"remote.log\",\"trust.log\",\"group.log\",\"numcopies.log\",\"schedule.log\",\"preferred-content.log\",\"required-content.log\",\"group-preferred-content.log\"]
[2014-07-26 11:45:02 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
Invalid command: 'git-annex-shell 'notifychanges'[2014-07-26 11:45:02 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 11:45:02 CEST] RemoteControl: fromList []
ssh: connect to host ec2-54-86-238-253.comput[2014-07-26 11:46:04 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/
[2014-07-26 11:46:04 CEST] RemoteControl: fromList []
[2014-07-26 11:46:05 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
[2014-07-26 11:46:06 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
Invalid command: 'git-annex-shell 'notifychange[2014-07-26 11:46:07 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 11:46:07 CEST] RemoteControl: fromList []
ssh: connect to host ec2-54-86-238-253.com[2014-07-26 11:48:12 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/
[2014-07-26 11:48:12 CEST] RemoteControl: fromList []
[2014-07-26 11:48:14 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
[2014-07-26 11:48:15 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
Invalid command: 'git-annex-shell 'notifychanges' [2014-07-26 11:48:15 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 11:48:15 CEST] RemoteControl: fromList []
ssh: connect to host ec2-54-86-238-253.compute[2014-07-26 11:50:21 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/
[2014-07-26 11:50:21 CEST] RemoteControl: fromList []
[2014-07-26 11:50:25 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
[2014-07-26 11:52:31 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
Invalid command: 'git-annex-shell 'notifychanges' '/~/[2014-07-26 11:52:31 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 11:52:31 CEST] RemoteControl: fromList []
ssh: connect to host ec2-54-86-238-253.compute-1.a[2014-07-26 11:52:33 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/
[2014-07-26 11:52:34 CEST] RemoteControl: fromList []
[2014-07-26 11:52:41 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
To git@gitlab.com:jonan/annex-sync.git
   01dd6e8..aa25ea1  annex/direct/master -> synced/master
[2014-07-26 11:53:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"push\",\"gitlab\",\"master\"]
[2014-07-26 11:53:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"symbolic-ref\",\"HEAD\"]
[2014-07-26 11:53:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:53:57 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/annex/direct/master..refs/remotes/gitlab/synced/master\",\"-n1\",\"--pretty=%H\"]
Connection to github.com closed by remote host.
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
[2014-07-26 11:54:07 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"push\",\"github\",\"master\"]
[2014-07-26 11:54:32 CEST] TransferScanner: trying manual pull to resolve failed pushes
[2014-07-26 11:54:32 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"fetch\",\"github\"]
[2014-07-26 11:54:34 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]
[2014-07-26 11:54:34 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
[2014-07-26 11:54:34 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..c0620bd57bd1230fe9282b582bf65cd8ef39f59b\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:54:34 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--verify\",\"-q\",\"refs/remotes/github/annex/direct/master\"]
[2014-07-26 11:54:34 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--verify\",\"-q\",\"refs/remotes/github/synced/master\"]
[2014-07-26 11:54:34 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/synced/master..refs/remotes/github/synced/master\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:54:34 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:54:34 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync/.git/annex/merge/\",\"-c\",\"core.bare=false\",\"merge\",\"--quiet\",\"--no-commit\",\"--no-ff\",\"refs/remotes/github/synced/master\"]
[2014-07-26 11:54:34 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--head\"]
[2014-07-26 11:54:34 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"diff-index\",\"-z\",\"--raw\",\"--no-renames\",\"-l0\",\"--cached\",\"aa25ea14ffcb0837e5eaa3d725228c300655f7c1\"]
[2014-07-26 11:54:34 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"--head\"]
[2014-07-26 11:54:34 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"diff-index\",\"-z\",\"--raw\",\"--no-renames\",\"-l0\",\"--cached\",\"HEAD\"]
[2014-07-26 11:54:34 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/annex/direct/master..refs/remotes/github/synced/master\",\"-n1\",\"--pretty=%H\",\"--ancestry-path\"]
[2014-07-26 11:54:34 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"write-tree\"]
[2014-07-26 11:54:34 CEST] chat: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"commit-tree\",\"53de8f3b86ec1b57ab58e7e849d7b38004616dd6\",\"-p\",\"HEAD\",\"-p\",\"refs/remotes/github/synced/master\"]
[2014-07-26 11:54:34 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"update-ref\",\"HEAD\",\"28cad03424f199957d616ecd78f208a24eedf955\"]
[2014-07-26 11:54:34 CEST] TransferScanner: pushing to [Remote { name =\"github\" }]
[2014-07-26 11:54:34 CEST] call: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"push\",\"github\",\"+git-annex:synced/git-annex\",\"annex/direct/master:synced/master\"]
To git@github.com:Jonan88/annex-sync.git
   01dd6e8..28cad03  annex/direct/master -> synced/master
[2014-07-26 11:54:38 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"push\",\"github\",\"master\"]
[2014-07-26 11:54:38 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"symbolic-ref\",\"HEAD\"]
[2014-07-26 11:54:38 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"show-ref\",\"refs/heads/annex/direct/master\"]
[2014-07-26 11:54:38 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/annex/direct/master..refs/remotes/github/synced/master\",\"-n1\",\"--pretty=%H\"]
[2014-07-26 11:54:42 CEST] TransferScanner: starting scan of [Remote { name =\"box.com\" }]
[2014-07-26 11:54:42 CEST] read: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"ls-files\",\"--cached\",\"-z\",\"--\"]
[2014-07-26 11:54:42 CEST] chat: git [\"--git-dir=/home/jonan/Sync/.git\",\"--work-tree=/home/jonan/Sync\",\"-c\",\"core.bare=false\",\"check-attr\",\"-z\",\"--stdin\",\"annex.backend\",\"annex.numcopies\",\"--\"]
ssh: connect to host ec2-54-86-238-253.compute-1.amazonaws.com port 22: Connection timed out
[2014-07-26 11:54:48 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/
[2014-07-26 11:54:48 CEST] RemoteControl: fromList []
[2014-07-26 11:55:04 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
ssh: connect to host[2014-07-26 11:57:11 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/
[2014-07-26 11:57:11 CEST] RemoteControl: fromList []
[2014-07-26 11:57:43 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
ssh: connect to host e[2014-07-26 11:59:51 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/
[2014-07-26 11:59:51 CEST] RemoteControl: fromList []
[2014-07-26 12:00:55 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
[2014-07-26 12:01:03 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
Invalid command: 'git-annex-shell 'notifychanges' '/~/Jonan88/[2014-07-26 12:01:04 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 12:01:04 CEST] RemoteControl: fromList []
ssh: connec[2014-07-26 12:03:03 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/
[2014-07-26 12:03:03 CEST] RemoteControl: fromList []
[2014-07-26 12:05:11 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
ssh: connect to host ec2-54-86-238-253.compute-1.amazonaws.com port 22: Connection timed [2014-07-26 12:07:19 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/
[2014-07-26 12:07:19 CEST] RemoteControl: fromList []
[2014-07-26 12:11:35 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
ssh: connect to host ec2-54-86-238-253.compute-1.amazonaws.com port 22: Connection timed[2014-07-26 12:13:45 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/
[2014-07-26 12:13:45 CEST] RemoteControl: fromList []
[2014-07-26 12:18:08 CEST] chat: ssh [\"-S\",\".git/annex/ssh/git@github.com\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"git@github.com\",\"git-annex-shell 'notifychanges' '/~/Jonan88/annex-sync.git'\"]
mux_client_request_session: read from master failed: Broken pipe
Invalid command: 'git-annex-shell 'no[2014-07-26 12:18:11 CEST] RemoteControl: DISCONNECTED ssh://git@github.com/~/Jonan88/annex-sync.git
[2014-07-26 12:18:11 CEST] RemoteControl: fromList []
[2014-07-26 12:22:17 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
ssh: connect to host ec2-54-86-238-253.compute-1.amaz[2014-07-26 12:24:24 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/
[2014-07-26 12:24:24 CEST] RemoteControl: fromList []
[2014-07-26 12:41:28 CEST] chat: ssh [\"-S\",\".git/annex/ssh/cdb5368d318ce8939cedf7b343eb95a9\",\"-o\",\"ControlMaster=auto\",\"-o\",\"ControlPersist=yes\",\"-T\",\"admin@ec2-54-86-238-253.compute-1.amazonaws.com\",\"git-annex-shell 'notifychanges' '/~/annex-sync/' --uuid 3ff8a15c-33d8-49e4-ae8f-a9b830a7dc5f\"]
ssh: connect to host ec2-54-86-238-253.compute-1.[2014-07-26 12:43:35 CEST] RemoteControl: DISCONNECTED ssh://admin@ec2-54-86-238-253.compute-1.amazonaws.com/~/annex-sync/

"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.55"
 subject="comment 1"
 date="2014-07-05T20:34:39Z"
 content="""
I am seeing some evidence of this in my own family's repo, where one node updated to 5.20140613 and started making series of empty commits with message \"merge refs/heads/synced/master\" and only 1 parent (so not really a merge).

Quite likely [[!commit d6711800ad261fb4c37fc361bc84918d1e296bc4]] is at fault. Probably the fastForwardable check isn't quite right.

This should only affect direct mode repositories. When only one node has the problem, it won't be bad, but if multiple nodes are doing this, their repos never converge and keep growing.

Hmm, I think I have partially reproduced it with 2 direct mode repos, each having the other as a remote. `git annex sync` repeatedly in each does not add unncessary commits, but running the assistant in each does. In this particular case, it manages to converge eventually after several commits.
"""]]

repo_name: kakafarm/git

license: unknown


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.55"
 subject="comment 2"
 date="2014-07-05T21:17:17Z"
 content="""
Well, it looks like this is as simple as the assistant trying to merge refs/remotes/$foo/synced/master into the current branch, when that ref is behind or the same as the current branch. Nothing to merge, so it does some pointless work and then the fastForwardable check runs -- and that check looks for refs between the \"old\" and \"new\" refs. Since the \"new\" is behind the \"old\", there are no such commits, and the unnecessary empty commit results.

The reason only the assistant is affected is because `git-annex sync` already checked Git.Branch.changed before trying to do any merging, which avoids the problem.

Fix committed.
"""]]


code:
[[!comment format=mdwn
 username="EskildHustvedt"
 ip="80.202.103.55"
 subject="comment 3"
 date="2014-07-08T08:13:40Z"
 content="""
I'm still seeing this problem in 5.20140707-g923b436

    [0 zerodogg@firefly annexed]$ git annex version
    git-annex version: 5.20140707-g923b436
    build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash
    key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL
    remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external
    local repository version: 5
    supported repository version: 5
    upgrade supported from repository versions: 0 1 2 4
    [0 zerodogg@firefly annexed]$ git graph | head -n20
    *   d4bf68f - (HEAD, annex/direct/master) merge refs/remotes/serenity/synced/master (3 minutes ago) <Eskild Hustvedt>
    |\
    * | d03f280 - merge refs/remotes/browncoats/synced/master (3 minutes ago) <Eskild Hustvedt>
    |/
    *   e6863b8 - (serenity/synced/master, browncoats/synced/master) merge refs/remotes/serenity/synced/master (3 minutes ago) <Eskild Hustvedt>
    |\
    * \   616d985 - merge refs/remotes/browncoats/synced/master (3 minutes ago) <Eskild Hustvedt>
    |\ \
    | |/
    * |   3b39706 - merge refs/remotes/serenity/synced/master (3 minutes ago) <Eskild Hustvedt>
    |\ \
    | |/
    * |   6d354cc - merge refs/remotes/browncoats/synced/master (4 minutes ago) <Eskild Hustvedt>
    |\ \
    | |/
    * |   710c3c1 - merge refs/remotes/serenity/synced/master (4 minutes ago) <Eskild Hustvedt>
    |\ \
    | |/
    * | 763930f - merge refs/remotes/browncoats/synced/master (4 minutes ago) <Eskild Hustvedt>
    |/
    [0 zerodogg@firefly annexed]$ git annex assistant --stop
    [0 zerodogg@firefly annexed]$ git annex assistant
    [0 zerodogg@firefly annexed]$ git graph | head -n20
    *   947f1a2 - (HEAD, annex/direct/master) merge refs/remotes/serenity/synced/master (15 seconds ago) <Eskild Hustvedt>
    |\
    * | 19c6043 - merge refs/remotes/browncoats/synced/master (18 seconds ago) <Eskild Hustvedt>
    |/
    *   b453741 - (serenity/synced/master, browncoats/synced/master) merge refs/remotes/serenity/synced/master (18 seconds ago) <Eskild Hustvedt>
    |\
    * \   6baaebd - merge refs/remotes/browncoats/synced/master (18 seconds ago) <Eskild Hustvedt>
    |\ \
    | |/
    * |   03e4fa2 - merge refs/remotes/serenity/synced/master (24 seconds ago) <Eskild Hustvedt>
    |\ \
    | |/
    * |   33302d8 - merge refs/remotes/browncoats/synced/master (24 seconds ago) <Eskild Hustvedt>
    |\ \
    | |/
    * |   d4bf68f - merge refs/remotes/serenity/synced/master (4 minutes ago) <Eskild Hustvedt>
    |\ \
    | |/
    * | d03f280 - merge refs/remotes/browncoats/synced/master (4 minutes ago) <Eskild Hustvedt>
    |/
    [0 zerodogg@firefly annexed]$
"""]]


code:
[[!comment format=mdwn
 username="EskildHustvedt"
 ip="80.202.103.55"
 subject="comment 4"
 date="2014-07-09T00:24:36Z"
 content="""
As far as I can see in my repo, the empty merges started on 2014-05-27, but then appear to resolve themselves after 40-50 commits on that day. They reappear again on 2014-06-03, and appears to have kept going daily ever since.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.55"
 subject="comment 5"
 date="2014-07-09T19:00:35Z"
 content="""
I have confirmed this is still happening, though I had certianly thought I had reproduced and fixed it.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmN5jDf53oRJZsTo8Ahj2uXzCzq6HcvEro"
 nickname="Gregory"
 subject="confirmed?"
 date="2014-07-15T01:29:00Z"
 content="""
I seem to be getting this behavior, in tandem with the [bad merge commit deleting all files](http://git-annex.branchable.com/bugs/bad_merge_commit_deleting_all_files/) on

    git-annex version: 5.20140709-gf15d2aa
    build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash
    key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL
    remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external
    local repository version: unknown
    supported repository version: 5
    upgrade supported from repository versions: 0 1 2 4

Here is my log over the past couple weeks when I basically made no changes to the filesystem.

git log --oneline --decorate --color --graph

<pre>
* b304ad7 (HEAD, origin/synced/master, origin/master, origin/HEAD, master)
* 568cf6c merge refs/remotes/diskb/synced/master
* 5e426d0 merge refs/remotes/diskb/synced/master
* b2fa076 merge refs/remotes/diskb/synced/master
*   b66a37d merge refs/remotes/diskb/synced/master
|\
* | 910cba5 merge refs/remotes/diskb/synced/master
|/
* 60736c3 merge refs/remotes/diskb/synced/master
*   a957439 merge refs/remotes/diskb/synced/master
|\
* \   5c135c0 merge refs/remotes/diskb/synced/master
|\ \
| |/
* |   52d8b66 merge refs/heads/synced/master
|\ \
* | | d77f3a2 merge refs/remotes/diskb/synced/master
| |/
|/|
* |   03bb56a merge refs/remotes/diskb/synced/master
|\ \
* \ \   bb000db merge refs/heads/synced/master
|\ \ \
| |/ /
|/| /
| |/
* | 3bc8520 merge refs/heads/synced/master
|/
* 1c3ee7e
*   d3b096a merge refs/remotes/diskb/synced/master
|\
* \   0fa0f6d merge refs/heads/synced/master
|\ \
| |/
* |   173592c merge refs/remotes/diskb/synced/master
|\ \
| |/
* |   3dd8086 merge refs/remotes/diskb/synced/master
|\ \
| |/
* |   68be2a1 merge refs/heads/synced/master
|\ \
| |/
* |   bb304f4 merge refs/remotes/diskb/synced/master
|\ \
| |/
|/|
* | 1c9a2cd
* | 298b362 merge refs/heads/synced/master
|/
*   4c23257 merge refs/remotes/diskb/synced/master
|\
* | b709997 merge refs/remotes/diskb/synced/master
|/
*   215f061 merge refs/remotes/diskb/synced/master
|\
* \   e0f75b4 merge refs/heads/synced/master
</pre>
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.2"
 subject="comment 7"
 date="2014-07-15T19:15:13Z"
 content="""
This bug and the other one are fixed in 5.20140709. I assume that your `git log` dates from an earlier version.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawk9nck8WX8-ADF3Fdh5vFo4Qrw1I_bJcR8"
 nickname="Jon Ander"
 subject="comment 8"
 date="2014-07-16T13:42:16Z"
 content="""
I'm still having this issue in 5.20140709
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.2"
 subject="comment 9"
 date="2014-07-16T18:08:26Z"
 content="""
Are you sure that you have upgraded git-annex on every machine that uses that repository? You could have one old un-upgraded one still causing commits that would of course be visible on the rest.

Also, what version exactly does `git-annex version` show?
"""]]


code:
### Please describe the problem.

The assistant regulary ends up trying to perform repair (I don't know why, it happens fairly often, once a week or so). When it does so, it ends up creating a huge (2.4G) .git/objects directory, and a git prune-packed process uses so much I/O the machine really slows down.

### What steps will reproduce the problem?

I don't have any reliable way to reproduce it. The repository ends up being attempted to be repaired around once a week. This week the repair (and the slowdown) also happened on a second computer.

### What version of git-annex are you using? On what operating system?

git-annex version: 5.20140221-gbdfc8e1 (using the standalone 64bit builds)

This is on an up-to-date Arch Linux. It also happened on Fedora 20.

### Please provide any additional information below.

The daemon.log is fairly long, but not particulary interesting: [[https://ssl.zerodogg.org/~zerodogg/private/tmp/daemon.log-2014-02-25.1]]

The «resource vanished (Broken pipe)» at the end is the result of me killing the prune-packed in order to be able to use the machine again.

[[!tag moreinfo]]


code:
[[!comment format=mdwn
 username="EskildHustvedt"
 ip="80.202.103.55"
 subject="comment 10"
 date="2014-06-07T05:47:25Z"
 content="""
Given that it's ususally the same repo, I'm going to try to create a completely fresh repository instead and see if the frequent auto-repairs are stopped by that.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 11"
 date="2014-06-10T19:31:38Z"
 content="""
Disable consistency checks for the repo in the webapp UI, wait until long enough that you're sure the assistant would be wanting to repair it again if you hadn't disabled that, and run `git annex repair` at the console so I can see what's going on.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.146"
 subject="comment 1"
 date="2014-02-26T17:38:05Z"
 content="""
Auto repair is not intended to be a common occurrance. It means something went badly, horribly wrong on your machine, and it lost data that git wrote to disk. It's more important in such a scenraio to get back to a working system eventually than to do something fast or inexpensively.

If you're seeing the need for auto repair on a weekly basis, your computer is failing in a horrible way horribly frequently, and the thing to do is to find out why, and fix that. Perhaps you need to start cleanly shutting down the system. Perhaps something is causing your computer to crash, and you need to fix that.
"""]]


code:
[[!comment format=mdwn
 username="EskildHustvedt"
 ip="80.202.213.223"
 subject="comment 2"
 date="2014-02-27T14:16:11Z"
 content="""
That's the thing. The drive is fine, I've fscked it, and the machine is always shut down cleanly (and it is very stable, can't remember the last time it crashed). So there's no reason why this should be happening, and since git-annex doesn't say anything about why it started the auto-repair, I'm unable to track it down further.

It's also always this repository. I have several assistant managed repos on the same machine, and this is the only one that git-annex regulary starts repairing (and the only one that it has auto-repaired on another box as well). No files in the repository itself has ever been noticed as corrupt, nor has there been any indications anywhere else about problems, hardware or filesystem (nothing wrong in the 40 or so git repos on the machine, no problems with software installed on the drive, never seen anything in dmesg).

It's happening often enough for me to have to consider dropping use of the assistant. It could still be a problem with the machine (though it seems unlikely, given that it's consistently the same repo, and that it has done it with the same repo on other machines), but git-annex doesn't provide any information about it.

Could you add some more information about what it thinks is wrong to the logging?

Funnily enough, git-annex started repairing it again as I was writing this.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnX1msQxnLoSeu7q-i-c9BWghonsN7Qmns"
 nickname="Jan Ulrich"
 subject="comment 3"
 date="2014-03-05T11:47:06Z"
 content="""
I observe something similar. Today git-annex started to repair a repository. CPU is at 100%, I can still work because I have a multikernel system, so I'll wait and see if it comes to an end.

"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnX1msQxnLoSeu7q-i-c9BWghonsN7Qmns"
 nickname="Jan Ulrich"
 subject="comment 4"
 date="2014-03-06T06:21:59Z"
 content="""
Just for the records. I just shutdown the daemon because it ran all night long with 100%.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.146"
 subject="comment 5"
 date="2014-03-06T18:14:37Z"
 content="""
auto-repair is only done if git fsck detects a problem. You can run git fsck yourself to see.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnX1msQxnLoSeu7q-i-c9BWghonsN7Qmns"
 nickname="Jan Ulrich"
 subject="comment 6"
 date="2014-03-10T14:14:06Z"
 content="""
I manually ran git fsck without problems but git-annex still wants to repair something.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.3"
 subject="comment 7"
 date="2014-05-21T18:31:54Z"
 content="""
It seems to me that if you don't want to repair your repository, you can just go into the webapp and disable all scheduled consistency check jobs.

If someone with this problem would like to run \"git annex repair\" at the console, and paste the output, perhaps I could then see why it thinks it needs to repair the repository. So far, I have nothing to go on, and no proof that this is a bug at all, and not just people with actually corrupted repositories that really do need to be repaired.
"""]]


code:
[[!comment format=mdwn
 username="EskildHustvedt"
 ip="80.202.103.55"
 subject="comment 8"
 date="2014-05-21T19:19:30Z"
 content="""
The trouble with providing more information (outside of the logfile above) is that by the time I realize that there is a problem it is because git-annex has started to repair. Perhaps an option that makes git-annex write a ~/.git/annex/repair-reason.log file with the reason (ie. git fsck output etc.) for starting the repair could help?
"""]]


code:
[[!comment format=mdwn
 username="EskildHustvedt"
 ip="80.202.103.55"
 subject="comment 9"
 date="2014-06-06T16:13:55Z"
 content="""
Any chance of any progress on this? Either a way to disable it, or some additional logging to track down the problem? git-annex is currently repairing one particular repository several times a month accross different machines, rendering git-annex practically unusable.
"""]]


code:
I’m running git-annex 5.20140517-gee56d21 on Android 4.3.

A number of icons seem to be missing since the bootstrap3 update:

<img src="http://heh.fi/tmp/git-annex-missing-icons.png" alt="git-annex missing icons" width="540">

[[!tag confirmed done]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmqz6wCn-Q1vzrsHGvEJHOt_T5ZESilxhc"
 nickname="Sören"
 subject="comment 10"
 date="2014-05-28T15:03:26Z"
 content="""
Seems to work! The icons show up on android now.

But JavaScript seems to be broken instead, dropdown menus don't work. Maybe more unwanted evil splicing in other files?
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmqz6wCn-Q1vzrsHGvEJHOt_T5ZESilxhc"
 nickname="Sören"
 subject="comment 11"
 date="2014-05-28T17:30:43Z"
 content="""
Ok it seems like the linebreak at the end of each javascript file (0x0a) is replaced by a null byte on android. This probably causes the browser not to accept it as javascript so it's not executed.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.176"
 subject="comment 12"
 date="2014-05-28T22:31:21Z"
 content="""
The evilspliced data for eg, bootstrap.js omits that last byte. So presumably we overflow one byte and find a null (if we're lucky..).

I checked the -ddump-splices output, and it omits that last newline!

<pre>
              \});\
              \\
              \})( jQuery );\"#),
</pre>

Indeed, ghc omits any number of trailing newlines in this display.

This is probably only recently a problem because of the wacky use of a unsafe bytestring + length that file-embed has started to do. Before, the newline was not included, but that's still valid JS.

So, one fix would be to have the EvilSplicer rewrite the unsafePackAddressLen back to a regular bytestring construction. But this would need some tricky parsing (need to find the end of the string to remove the # from it). Alternatively, could remove trailing newlines from all the static js and css files. (Luckily none of the other static files end in a newline, and ghc is careful to preserve ending NULs etc).

For now, I've removed the trailing newlines from the files.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmqz6wCn-Q1vzrsHGvEJHOt_T5ZESilxhc"
 nickname="Sören"
 subject="comment 13"
 date="2014-05-29T16:48:18Z"
 content="""
Works fine now (tested on android 4.4).
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.3"
 subject="comment 1"
 date="2014-05-21T17:10:24Z"
 content="""
reproduced this with android 4.0
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.3"
 subject="comment 2"
 date="2014-05-21T18:06:09Z"
 content="""
I've verified that the assistant is serving up the files, such as http://127.0.0.1:$port/static/fonts/glyphicons-halflings-regular.svg

I've verified that the files it's serving have the right content.

This seems to only leave the likely explanation that the android web browser doesn't support the technology bootstrap 3 is using for its icons. This is svg, plus ttf, plus Embedded OpenType and Web Open Font Format. (I suppose it uses different ones on different browsers.)

I'm surprised that bootstrap would be using web fonts technology if it's not supported on Android, or wouldn't have a fallback to the plain old image method old versions of bootstrap used.

I have found some bootstrap bugs about icons not showing up on Android, like this one <https://github.com/twbs/bootstrap/issues/10106> ... but those are about specific icons not showing up due to unicode issues. Not about all icons failing to show up.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmqz6wCn-Q1vzrsHGvEJHOt_T5ZESilxhc"
 nickname="Sören"
 subject="comment 3"
 date="2014-05-21T18:47:42Z"
 content="""
I don't think it's an issue with the Android browser. It happens with Chrome and Firefox on Android as well. Moreover, the icons still don't show up if open the Webapp running on Android over network from a desktop browser. Firebug doesn't even show the request that should load the font file (compare to the desktop version where it loads the woff file in Firefox). So I suspect the Web server behaves different somehow. Some weird blocking issue maybe?

Not sure if this is related but I noticed a strange behavior: If I try to download the font file in a new tab, it blocks until I refresh the tab running the webapp. Only seen on desktop Firefox. Doesn't happen in Chromium.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmqz6wCn-Q1vzrsHGvEJHOt_T5ZESilxhc"
 nickname="Sören"
 subject="comment 4"
 date="2014-05-21T19:19:45Z"
 content="""
I forgot to mention that the --listen argument doesn't seem to work on Android so I used ssh -R in order to access the webapp from my desktop.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmqz6wCn-Q1vzrsHGvEJHOt_T5ZESilxhc"
 nickname="Sören"
 subject="comment 5"
 date="2014-05-27T19:58:37Z"
 content="""
On Android, the webserver returns a broken bootstrap.css. It seems like some binary garbage is appended to the end of the css file that looks suspiciously like the content or some fragment of the font file \"glyphicons-halflings-regular.eot\". Reason unknown.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.176"
 subject="comment 6"
 date="2014-05-27T20:23:03Z"
 content="""
I checked the evilspliced tmp/androidtree/Assistant/WebApp/Types.hs, and the bootstrap.css there ends correctly, nothing weird appended.

The TH generated for this:

       (\"css/bootstrap.css\",
        GHC.IO.unsafePerformIO
          (Data.ByteString.Unsafe.unsafePackAddressLen
             121220
             file_content_omitted)

That looks right, in particular the size is the same as the number of bytes in the file.

Hmm.. To double-check, I edited the file so that the string containing the content of this file was defined in foo.

*Main> length foo
113023

This might be innocuous; there are some unicode characters in the string that encode to multiple bytes. OTOH, if you see exactly 8197 bytes of extra garbage appended, I think we have our culprit.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.176"
 subject="comment 7"
 date="2014-05-28T00:02:42Z"
 content="""
The string is indeed truncated; it seems that something, probably the EvilSplicer is doing effectively a s/\w+:// on the string.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.176"
 subject="comment 8"
 date="2014-05-28T00:04:58Z"
 content="""
Almost certinaly the EvilSplicer; it contains a hack to remove package-version qualifications from symbols. (s/package-version:symbol/symbol/)
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.176"
 subject="comment 9"
 date="2014-05-28T00:37:30Z"
 content="""
[[!commit 37da3d7b5dcfd328aee6a7a91508b02edf720bca]] should fix this problem. I've verified the truncation is not present in the spliced source; lack bandwidh to test the binary right now.
"""]]


code:
Box.com is still not working properly in version 5.20140227 (I'm using it in Debian testing and sid).

I created a new clean repository and configured Box.com (everything from the webapp). At first it seamed to work, files where being uploaded and the logs where fine. Then I created another clean repository in another computer and started syncing. Downloading files worked properly, but when trying to upload a file from the second computer I got this:

    copy my_file (gpg) (checking box.com...) (to box.com...)
    100%          0.0 B/s 0sResponseTimeout
    failed
    git-annex: copy: 1 failed

When I got back to the first computer I saw the same behavior, uploading files wasn't working any more.

> [[duplicate|done]] --[[Joey]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawk9nck8WX8-ADF3Fdh5vFo4Qrw1I_bJcR8"
 nickname="Jon Ander"
 subject="comment 1"
 date="2014-03-01T11:23:05Z"
 content="""
I have another error log:

    29%      653.2KB/s 1m49sgpg: [stdout]: write error: Broken pipe
    gpg: DBG: deflate: iobuf_write failed
    gpg: build_packet failed: file write error
    gpg: [stdout]: write error: Broken pipe
    gpg: iobuf_flush failed on close: file write error
    gpg: symmetric encryption of `[stdin]' failed: file write error
    ResponseTimeout
    git-annex: fd:96: hPutBuf: resource vanished (Broken pipe)
    ResponseTimeout

Some files (very few) are being uploaded properly, so the error is not always reproducible.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.146"
 subject="comment 2"
 date="2014-03-05T03:15:43Z"
 content="""
I suspect this is just box.com's webdav support being flakey.

It's possible there's a timeout that's too aggressive in the http library. I have had some trouble with that when trying to use DAV over a slow connection.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawk9nck8WX8-ADF3Fdh5vFo4Qrw1I_bJcR8"
 nickname="Jon Ander"
 subject="comment 3"
 date="2014-03-05T08:10:25Z"
 content="""
My connection is pretty fast, I've just copied a 77MB folder through Box's webdav with my file manager in ~90sec and I have never seen a timeout when using my file manager, all uploads finish properly.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.146"
 subject="comment 4"
 date="2014-03-05T17:11:40Z"
 content="""
Previous bug report about this with much more information, please do any followup there:
[[bugs/box.com_never_stops_syncing.]]
"""]]


code:
### Please describe the problem.
Bug Report doesn't work

### What steps will reproduce the problem?

### What version of git-annex are you using? On what operating system?

### Please provide any additional information below.

[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log

# End of transcript or log.
"""]]

[[fixed|done]] --[[Joey]]


code:
Applying this

laplace:git-annex jtang$ git diff
diff --git a/Assistant/WebApp/Configurators.hs b/Assistant/WebApp/Configurators.hs
index b9630b1..bf36e59 100644
--- a/Assistant/WebApp/Configurators.hs
+++ b/Assistant/WebApp/Configurators.hs
@@ -101,7 +101,7 @@ checkRepositoryPath p = do
  -
  - If run in another directory, the user probably wants to put it there. -}
 defaultRepositoryPath :: Bool -> IO FilePath
-defaultRepositoryPath firstrun = do
+defaultRepositoryPath firstRun = do
        cwd <- liftIO $ getCurrentDirectory
        home <- myHomeDir
        if home == cwd && firstRun

Causes this to occur,

Assistant/WebApp/Configurators.hs:114:17:
    Couldn't match expected type `Control.Monad.Trans.RWS.Lazy.RWST
                                    (Maybe (Env, FileEnv), WebApp, [Yesod.Form.Types.Lang])
                                    Enctype
                                    Ints
                                    (GHandler WebApp WebApp)
                                    t0'
                with actual type `Text'
    Expected type: String
                   -> Control.Monad.Trans.RWS.Lazy.RWST
                        (Maybe (Env, FileEnv), WebApp, [Yesod.Form.Types.Lang])
                        Enctype
                        Ints
                        (GHandler WebApp WebApp)
                        t0
      Actual type: String -> Text
    In the first argument of `(.)', namely `T.pack'
    In the first argument of `(<$>)', namely
      `T.pack . addTrailingPathSeparator'
make: *** [git-annex] Error 1

> [[fixed|done]] --[[Joey]]


code:
What steps will reproduce the problem?

Building of the current github HEAD fails with a strange error message regarding OSX. I'm not using OSX but Ubuntu 12.10, why is cabal trying to build these files?

dominik@Atlantis:/var/tmp$ git clone git://github.com/joeyh/git-annex.git
Cloning into 'git-annex'...
remote: Counting objects: 40243, done.
remote: Compressing objects: 100% (10568/10568), done.
remote: Total 40243 (delta 29647), reused 40044 (delta 29449)
Receiving objects: 100% (40243/40243), 9.12 MiB | 184 KiB/s, done.
Resolving deltas: 100% (29647/29647), done.
dominik@Atlantis:/var/tmp$ cd git-annex/
dominik@Atlantis:/var/tmp/git-annex$ cabal update
Downloading the latest package list from hackage.haskell.org
dominik@Atlantis:/var/tmp/git-annex$ cabal install --only-dependencies
Resolving dependencies...
All the requested packages are already installed:
Use --reinstall if you want to reinstall anyway.
dominik@Atlantis:/var/tmp/git-annex$ cabal configure
Resolving dependencies...
[ 1 of 21] Compiling Utility.FileSystemEncoding ( Utility/FileSystemEncoding.hs, dist/setup/Utility/FileSystemEncoding.o )
[ 2 of 21] Compiling Utility.Applicative ( Utility/Applicative.hs, dist/setup/Utility/Applicative.o )
[ 3 of 21] Compiling Utility.PartialPrelude ( Utility/PartialPrelude.hs, dist/setup/Utility/PartialPrelude.o )
[ 4 of 21] Compiling Utility.UserInfo ( Utility/UserInfo.hs, dist/setup/Utility/UserInfo.o )
[ 5 of 21] Compiling Utility.Monad    ( Utility/Monad.hs, dist/setup/Utility/Monad.o )
[ 6 of 21] Compiling Utility.Path     ( Utility/Path.hs, dist/setup/Utility/Path.o )
[ 7 of 21] Compiling Utility.OSX      ( Utility/OSX.hs, dist/setup/Utility/OSX.o )

Utility/OSX.hs:22:17: Not in scope: `myHomeDir'

What is the expected output? What do you see instead?

I expect cabal to build git-annex.

What version of git-annex are you using? On what operating system?

github HEAD on Ubuntu 12.10

Please provide any additional information below.

$ cabal --version
cabal-install version 0.14.0
using version 1.14.0 of the Cabal library

$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.4.2

$ uname -a
Linux Atlantis 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

> [[fixed|done]] --[[Joey]]


code:
I have some git repositories I don't edit often that I'd like to back up.  I'd like to add these to my git annex, so I don't have to resort to a time-consuming hack (such as setting up a proper submodule, or bundling the repositories).

But when I try to add a .git directory to git annex, I get a bunch of errors of the form

    git-annex: user error (xargs ["-0","git","--git-dir=/tmp/tmp.LhGN3nT9uM/annex/.git","--work-tree=/tmp/tmp.LhGN3nT9uM/annex","add","--"] exited 123)
    failed
    git-annex: add: 1 failed
    add repo/.git/hooks/pre-push.sample ok
    (Recording state in git...)
    error: Invalid path 'repo/.git/hooks/pre-push.sample'
    error: unable to add repo/.git/hooks/pre-push.sample to index
    fatal: adding files failed

STR:

    $ mkdir annex
    $ cd annex
    annex$ git init
    annex$ git annex init
    annex$ cd ..

    $ mkdir repo
    $ cd repo
    repo$ git init
    repo$ cd ..

    $ mv repo annex
    $ cd annex
    annex$ find repo | xargs -n1 git annex add
    # Lots of errors of the form above.

You can't simply do `git annex add repo` because that will ignore the .git directory.  Similarly,` git annex add .git` (which I'd think really should try to add the contents of the .git directory) ignores everything.

I don't know what this error means.  Is there a right way to work around this?

> [[!meta title="cannot add .git/ to a git repository. even when using git-annex."]]
> [[!taglink confirmed]] (but may be out of scope for git-annex) --[[Joey]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 nickname="joey"
 subject="comment 1"
 date="2013-05-13T17:36:31Z"
 content="""
It's a fairly fundamental limitation of git that you cannot check `.git` directories into a git repository.

For backups and sneakernet transfers, `git bundle` is easy to use..
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c"
 nickname="Justin"
 subject="comment 2"
 date="2013-05-13T17:53:06Z"
 content="""
Be that as it may, the whole reason git-annex exists is to work around fundamental limitations of git!

The issue is that I don't want to treat a folder which I happen to have applied version control to differently than a folder which happens not to be version controlled (aside from committing to the version-controlled folder, of course!).  Both folders are in my git annex; I shouldn't have to worry about it.  (My whole \"documents\" folder is in git annex, and it contains many small git repositories.)

I guess I could write a script to unbundle and re-bundle on command.  In fact, one could imagine integrating these scripts into git annex somehow.

Is that something you'd consider taking upstream?
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 nickname="joey"
 subject="comment 3"
 date="2013-05-13T18:08:36Z"
 content="""
Well, git-annex is all about working around *1* limitation of git. There are several other limitations that it would be nice to have tools to deal with better, including storing metadata, and this one. I can't take everything on.

I mostly worry about these limitations in the context of naive users using the git-annex assistant for file sync. I have heard that some people put their git repositories in dropbox.

You don't sound at all naive, so I'll suggest another tool I wrote, mr <http://joeyh.name/code/mr>. With mr you can run a single command and operate on all repositories at or under a directory.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkkyBDsfOB7JZvPZ4a8F3rwv0wk6Nb9n48"
 nickname="Abdó"
 subject="comment 4"
 date="2013-05-28T19:21:57Z"
 content="""
This \"git is afraid of .git\" issue is the main blocker for finally getting rid of unison. My use case is as follows. Among other things, I have a `~/work` directory infested with little projects versioned by git. I want to sync it between my 3 machines and a cloud server. My current setup involves star-shaped unison syncs to the server. That's not bad, but it has its problems:

  * unison keeps a file index for every pair of machines (laptop-server, office-server, etc). This means that I end up with 3 identical indexes on the server, indexing the same data. Every time I sync a pair, the server rechecks what has changed to update the corresponding index.
  * also, every time I add a machine, or my disk explodes and I have to setup a new unison sync from scratch, the server has to reindex everything, which is slow.
  * unison does not know about the entire history, only the current state of the replicas. This may lead to data loss if I delete something I shouldn't delete and propagate. Only in special cases, for instance when I delete everything in one replica, unison asks before throwing it all out the window.
  * I sometimes want to sync laptop and desktop through the local network, instead of going through the server. Then I have to be very careful in which order I do the syncs + it adds a couple of new redundant indices.

Now, git annex is not a sync tool. But as a side effect of its `git annex sync` feature, it happens to solve those issues in an elegant way, making it an extremely flexible sync tool, far superior to unison in many aspects!

Still, my `~/work` directory is infested with little git repos, so I can't use git annex on `~/work`. Also, I treat my little git projects as things carrying their own history arround. Sometimes I move them, etc. I don't want to use mr in them, nor keep remotes for all my machines on all my little projects. That removes a lot of the flexibility I'd gain by moving to git annex.

The thing is, I don't understand why this git limitation is fairly fundamental. I've been playing around nesting git repos. When I change the inner `.git` directory to `.bar`, the outer git swallows it all right, and after some playing around with commits and checkouts on the inner and outer repos, the internal repo survived the process. Also, I don't think versioning content inside `.git` may disorient git in any way. Every git call knows on which `.git` directory it operates, just go up through the path looking for the first `.git` dir which is NOT a part of the actual path. Is there anything else I am missing? Would it be feasible to patch git adding a config option that makes it treat `.git` dirs as regular dirs? I'd be willing to mess with git's source when I get the time to do it.
"""]]


code:
[[!comment format=mdwn
 username="https://id.koumbit.net/anarcat"
 ip="2001:1928:1:9::1"
 subject="sources"
 date="2013-11-21T18:41:12Z"
 content="""
I tried to find a canonical source for why (or if?) git ignores any \".git\" directory, and it turns out it also ignores .git *files*, according to [this stackoverflow thread](http://stackoverflow.com/questions/6839781/what-happens-when-you-run-git-add-git-in-a-git-repository). It's hardcoded in the source code and \"will likely not change\".

I guess this should therefore be taken upstream, but I am not sure how this could justified there.

I do think git-annex should support that. It's turning more and more as a \"generic backup solution\" or \"i want my files in the cloud\" kind of solution, which is awesome, but small things like this are making it harder to use... --[[anarcat]]
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkkyBDsfOB7JZvPZ4a8F3rwv0wk6Nb9n48"
 nickname="Abdó"
 subject="comment 6"
 date="2013-11-21T20:04:22Z"
 content="""
After I wrote my last post in this thread I did write a patch for git doing two things:

* make git ignore .git only at the root of the working tree, but not '.git' files or directories nested deeper into the working tree.
* add config option to prevent git from converting directories containing .git into gitlinks. It turns out that git already has an internal setting for this, it only needed to be exposed in the config files!

It kind of worked, but I've never used nor completed this, though (if I recall correctly, something had to be done regarding the default gitingores, which contains .git). I don't think upstream would accept these changes, though. It is a potentially risky change that does not gives them any benefit. Plus commiting a git repo inside an other is kind of crazy. I'm not convinced this is a good solution anymore.

Being able to put a git repo inside an assistant-controled directory would be nice, though. Additionally, letting the outermost git repo recognize the internal git repo as a git repo, instead of moving files blindly, would also be nice, and probably more reasonable. And that leads to submodules...

My particular problem is: I want to syncing a directory with lots of little git repos across several machines, without having to configure remotes for every single one of them (so no mr) and having someone take care of the files which are ignored by the little git repos, possibly as annexed files. Currently I just sync that folder containing the little git repos with unison.

Now, instead of commiting git repos inside git repos, I'm more inclined to a potential solution using git-annex + submodules. Ideally I'd like something like this:

1. A git-annex repo at ~/work
2. All my little git repos inside ~/work are automatically recognized as submodules by git-annex
3. The outermost git-annex takes care of the .gitignored files for the inner git repos
4. git pull/push --recursive on the outermost annex repo pulls/pushes submodules (I think [something like this](https://github.com/jlehmann/git-submod-enhancements/wiki/Recursive-submodule-checkout) is written by  Jens Lehmann)
5. The urls in .gitmodules are relative paths from the outermost annex working tree. Then a git fetch --recursive from the outermost annex can use an outermost remote + the submodule relative path. No need to manually configure remotes for every machine on every submodule!

The problem with this approach, is that 2,4,5 are science-fiction for now, and probably 3 too. Realizing this would imply a lot of work, and commiting a lot of submodule stuff to upstream git. But probably stuff that makes sense and they would accept. Anyway, I'd like to know what Joey thinks about all this...
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.64"
 subject="comment 7"
 date="2013-11-22T16:50:31Z"
 content="""
I appreciate the investigation.

Now that there's a direct mode guard, it would be possible to have git-annex translate .git directories to some other name when adding files to git. This seems more likely than getting git changed.

However, I am not convinced *at all* that it makes any sense to try to sync git repositories in this way. I realize that some people drop git checkouts into dropbox and use that, but it's a fundamentally unsound thing to do, and those people are just lucky if they manage to avoid running into problems doing that.

If you have two clones of a repo, and a git repository is checked into both, and they become partitioned for a while and larger re-merge, then there can be conflicts in the files that make up the git repository. Which git-annex would auto-resolve, with the effect that the checked-in git repository would appear to be broken.

Also, this feature would only be used by a small number of users, on the border between people who can use git the Correct Way, and people who don't use git other than with the assistant.

It would make sense to make git-annex refuse to add files inside nested git repositories though.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkkyBDsfOB7JZvPZ4a8F3rwv0wk6Nb9n48"
 nickname="Abdó"
 subject="comment 8"
 date="2013-11-22T18:44:35Z"
 content="""
> I am not convinced at all that it makes any sense to try to sync git repositories in this way

I agree this is not a good solution.

> I realize that some people drop git checkouts into dropbox and use that, but it's a fundamentally unsound thing to do, and those people are just lucky if they manage to avoid running into problems doing that.

Well, I don't use dropbox (nor annex assistant) but I sync a lot of git repos with unison. It is not luck, it is being careful not to create conflicts. I agree this is not ideal, and I'm looking for a better way to deal with this.

> Also, this feature would only be used by a small number of users

I'm not convinced of that. If done right, nested git repos inside annex could have value.

Let's say you work with 40 git repos some private of yours, others tracking upstream, and you want to sync them across 4 machines (home, work, cloud server, backup). I imagine your preferred solution would be to configure the 4 machines as remotes on every git repo and use mr, am I right?

This has its problems:

1. The set of files you want in the project git repo may not be the same as the set of files you want synced across machines. For instance, I use a large software project that I compile from sources. I want to sync binaries across machines (it takes forever to compile!), but of course I don't want them commited into the project, not even as annexed files.
2. Configuring remotes for every project is tedious. What if some remote changes url? what if I want to change the path of some of the git projects? Every time I add a new repo I need to configure all the 4 remotes. This can be scripted of course, but is not my ideal solution.

What do you think about the submodules route I proposed? I don't like submodules very much, but in this case, I think it could become a good solution. In particular it would solve 1, 2 above and be able to merge conflicting changes on the nested repos.

"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawk11IeWrsbRKPqxl0_Fp5B119mrzpMIkz8"
 nickname="Roland"
 subject="comment 9"
 date="2013-12-08T21:50:31Z"
 content="""
Same use case here.  Hey, I even also use ~/work.

I've burned my fingers on git repositories synched via Dropbox, so I share the reservations against it.  But in my case the trouble came from lack of caution when sharing the given Dropbox folders.  I'm not sure what the risks are when I'm in control of all the copies.  Synching between my own computers should not pose a problem, I know how to create branches for experimental stuff etc.

I'd love to use git-annex is to maintain dispersed repositories while synching and archiving effectively.  The issue with .git directories is a real blocker and I'd really appreciate a workable solution.  It doesn't have to be perfect, but manually invoking submodule or the need to configure lots of remotes is not exactly practical.

I don't know enough to fully understand everything above.  So what follows may be hopelessly naive.  But it occurred to me there may be a simpler solution: what if git-annex changed the name of its repo to .annex (or so) instead of .git?  And maybe similarly .gitignore to .annexignore etc.  Wouldn't the nested git repositories then \"just work\"?  Because of the hardcoded ignore rules, this approach would require a tweaked git for annex... but overall, wouldn't it be cleaner and more minimal?

I'm probably overlooking something, but maybe this idea can lead somewhere?

"""]]


code:
### Please describe the problem.
Some filenames in doc have a colon `(:)` in them and it seems it's not allowed on Windows.

There's no hurry with this since I was able to clone the repo by doing a fork on Github and removing `doc/`.

### What steps will reproduce the problem?

[[!format sh """
D:\tmp> git clone git://git-annex.branchable.com/
Cloning into 'git-annex.branchable.com'...
remote: Counting objects: 72064, done.
remote: Compressing objects: 100% (18759/18759), done.
remote: Total 72064 (delta 52959), reused 72032 (delta 52944)
Receiving objects: 100% (72064/72064), 18.05 MiB | 2.39 MiB/s, done.
Resolving deltas: 100% (52959/52959), done.
fatal: cannot create directory at 'doc/bugs/3.20121112:_build_error_in_assistant': Invalid argument
D:\tmp>
"""]]

> [[wontfix|done]] --[[Joey]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 nickname="joey"
 subject="comment 1"
 date="2013-06-10T16:22:00Z"
 content="""
IMHO this is a bug in msysgit. It should support git repositories containing any legal filenames.

Luckily, there is another git for Windows that does. It comes with Cygwin.  You need Cygwin to build git-annex on Windows, anyway.

So, I do not plan to do anything in git-annex to address this.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnXm4VZC7ekVOXHGKjBObojiHB2E1kmMgA"
 nickname="Leonardo"
 subject="comment 2"
 date="2013-08-11T21:21:56Z"
 content="""
Files with colon are not allowed in windows, they are interpreted as absolute path. The fact that you can checkout them \"fine\" (actually, their name get truncated to whatever was before the colon) using cygwin's GIT implementation is to be interpreted as a bug in cygwin's GIT in my opinion. I suggest renaming them before cygwin get fixed.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.0.63"
 subject="comment 3"
 date="2013-08-24T19:27:57Z"
 content="""
Leonardo, you made me boot up my windows machine just to check if cygwin git truncated files at the colon. It does not.

AFAIK, Cygwin transliterates colons to another unicode character or something like that. I would be highly surprised if the Cygwin people consider this feature to be a bug.

Since you need Cygwin to build git-annex on Windows anyway (though not to run it!), this remains WONTFIX.
"""]]


code:
### Please describe the problem.
The android app won't start on Cyanogenmod 10.2. Not sure if this is cyanogenmod specific or if it is because the underlying android is now version 4.3

### What steps will reproduce the problem?
Install the apk and start the program

### What version of git-annex are you using? On what operating system?
A 7 day old nightly as of this post(can't get specific number since it won't run)

### Please provide any additional information below.

Tested this on both a samsung galaxy S and a samsung galaxy note 2. With different nightlies of cyanogenmod 10.2

[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log

Falling back to hardcoded app location; cannot find expected files in /data/app-lib
git annex webapp
u0_a115@android:/sdcard/git-annex.home $ git annex webapp
CANNOT LINK EXECUTABLE: git-annex invalid R_ARM_COPY relocation against DT_SYMBOLIC shared library libc.so (built with -Bsymbolic?)
1|u0_a115@android:/sdcard/git-annex.home $

---

cat git-annex-install.log

Installation starting to /data/data/ga.androidterm
34c88243533e9b0a725ebe33533d990e628dc44b
installing busybox
installing git-annex
installing git-shell
installing git-upload-pack
installing git
installing gpg
installing rsync
installing ssh
installing ssh-keygen
linking ./libexec/git-core/git-config to git
linking ./libexec/git-core/git-fetch to git
linking ./libexec/git-core/git-fsck to git
linking ./libexec/git-core/git-unpack-file to git
linking ./libexec/git-core/git-get-tar-commit-id to git
linking ./libexec/git-core/git-fmt-merge-msg to git
linking ./libexec/git-core/git-push to git
linking ./libexec/git-core/git-for-each-ref to git
linking ./libexec/git-core/git-pack-redundant to git
linking ./libexec/git-core/git-mv to git
linking ./libexec/git-core/git-ls-remote to git
linking ./libexec/git-core/git-prune-packed to git
linking ./libexec/git-core/git-apply to git
linking ./libexec/git-core/git-check-ignore to git
linking ./libexec/git-core/git-log to git
linking ./libexec/git-core/git-cherry-pick to git
linking ./libexec/git-core/git-diff-files to git
linking ./libexec/git-core/git-commit-tree to git
linking ./libexec/git-core/git-index-pack to git
linking ./libexec/git-core/git-reflog to git
linking ./libexec/git-core/git-merge-index to git
linking ./libexec/git-core/git-column to git
linking ./libexec/git-core/git-checkout-index to git
linking ./libexec/git-core/git-diff-index to git
linking ./libexec/git-core/git-count-objects to git
linking ./libexec/git-core/git-fast-export to git
linking ./libexec/git-core/git-fetch-pack to git
linking ./libexec/git-core/git-merge-file to git
linking ./libexec/git-core/git-init to git
linking ./libexec/git-core/git-remote to git
linking ./libexec/git-core/git-init-db to git
linking ./libexec/git-core/git-ls-tree to git
linking ./libexec/git-core/git-merge-subtree to git
linking ./libexec/git-core/git-rev-parse to git
linking ./libexec/git-core/git-bundle to git
linking ./libexec/git-core/git-prune to git
linking ./libexec/git-core/git-peek-remote to git
linking ./libexec/git-core/git-tar-tree to git
linking ./libexec/git-core/git-describe to git
linking ./libexec/git-core/git-update-index to git
linking ./libexec/git-core/git to git
linking ./libexec/git-core/git-revert to git
linking ./libexec/git-core/git-show-ref to git
linking ./libexec/git-core/git-upload-archive to git
linking ./libexec/git-core/git-add to git
linking ./libexec/git-core/git-verify-tag to git
linking ./libexec/git-core/git-format-patch to git
linking ./libexec/git-core/git-show-branch to git
linking ./libexec/git-core/git-remote-fd to git
linking ./libexec/git-core/git-pack-refs to git
linking ./libexec/git-core/git-replace to git
linking ./libexec/git-core/git-pack-objects to git
linking ./libexec/git-core/git-notes to git
linking ./libexec/git-core/git-tag to git
linking ./libexec/git-core/git-var to git
linking ./libexec/git-core/git-help to git
linking ./libexec/git-core/git-gc to git
linking ./libexec/git-core/git-check-ref-format to git
linking ./libexec/git-core/git-shortlog to git
linking ./libexec/git-core/git-stage to git
linking ./libexec/git-core/git-mktree to git
linking ./libexec/git-core/git-merge-recursive to git
linking ./libexec/git-core/git-grep to git
linking ./libexec/git-core/git-clean to git
linking ./libexec/git-core/git-merge-base to git
linking ./libexec/git-core/git-repo-config to git
linking ./libexec/git-core/git-hash-object to git
linking ./libexec/git-core/git-read-tree to git
linking ./libexec/git-core/git-rm to git
linking ./libexec/git-core/git-fsck-objects to git
linking ./libexec/git-core/git-ls-files to git
linking ./libexec/git-core/git-mktag to git
linking ./libexec/git-core/git-stripspace to git
linking ./libexec/git-core/git-mailsplit to git
linking ./libexec/git-core/git-diff-tree to git
linking ./libexec/git-core/git-merge-ours to git
linking ./libexec/git-core/git-cherry to git
linking ./libexec/git-core/git-checkout to git
linking ./libexec/git-core/git-rev-list to git
linking ./libexec/git-core/git-write-tree to git
linking ./libexec/git-core/git-update-ref to git
linking ./libexec/git-core/git-blame to git
linking ./libexec/git-core/git-archive to git
linking ./libexec/git-core/git-update-server-info to git
linking ./libexec/git-core/git-merge-tree to git
linking ./libexec/git-core/git-show to git
linking ./libexec/git-core/git-remote-ext to git
linking ./libexec/git-core/git-merge to git
linking ./libexec/git-core/git-name-rev to git
linking ./libexec/git-core/git-bisect--helper to git
linking ./libexec/git-core/git-clone to git
linking ./libexec/git-core/git-symbolic-ref to git
linking ./libexec/git-core/git-send-pack to git
linking ./libexec/git-core/git-commit to git
linking ./libexec/git-core/git-mailinfo to git
linking ./libexec/git-core/git-credential to git
linking ./libexec/git-core/git-diff to git
linking ./libexec/git-core/git-patch-id to git
linking ./libexec/git-core/git-rerere to git
linking ./libexec/git-core/git-branch to git
linking ./libexec/git-core/git-reset to git
linking ./libexec/git-core/git-receive-pack to git
linking ./libexec/git-core/git-verify-pack to git
linking ./libexec/git-core/git-unpack-objects to git
linking ./libexec/git-core/git-check-attr to git
linking ./libexec/git-core/git-whatchanged to git
linking ./libexec/git-core/git-status to git
linking ./libexec/git-core/git-cat-file to git
linking ./libexec/git-core/git-annotate to git
linking ./bin/git-upload-archive to git
linking ./bin/git-receive-pack to git
linking ./libexec/git-core/git-shell to git-shell
linking ./libexec/git-core/git-upload-pack to git-upload-pack
Installation complete

# End of transcript or log.
"""]]

> [[dup|done]] of [[git-annex_broken_on_Android_4.3]].--[[Joey]]


code:
I have a repository at rsync.net, even though following files are shown as unused I can not drop them.

Running unused,

    git annex unused --from cloud
    unused cloud (checking for unused data...) (checking annex/direct/master...)
      Some annexed data on cloud is not used by any files:
        NUMBER  KEY
        1       SHA256E-s4189547--43aef42540e7f50fc454ab3a2ce4aa28a13b57cccff725359cea0470eb88704b. Bir.mp3
        2       SHA256E-s853765--c0964d3af493d78b7b8393a2aefdd8c290390a03c8cb5cccdcac4647c0fc52a0. 1.jpg
        3       SHA256E-s8706267--e34988b70048a512ad0f431a2a91fa7dd553f96c2bd6caca0bcef928bdfafb93. 3.mp3
      (To see where data was previously used, try: git log --stat -S'KEY')

      To remove unwanted data: git-annex dropunused --from cloud NUMBER

show these then running,

    git annex dropunused 1-3 --force

reports ok for each drop operation but rerunning git annex unused --from cloud still shows these three files as unused. I am using git-annex on mac os x (current dmg) on a direct repo. I have similar problems dropping files on the current repo even though I drop unused they still show up as unused.

> [[fixed|done]] --[[Joey]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.163"
 subject="doubt this has anything to do with spaces"
 date="2014-02-08T17:44:45Z"
 content="""
If you want to drop the files from the remote, you need to also pass the --from option to dropunused. Otherwise, it defaults to dropping any of the unused files that are present in the local repository.
"""]]


code:
[[!comment format=mdwn
 username="https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d8"
 nickname="Hamza"
 subject="comment 2"
 date="2014-02-08T18:30:47Z"
 content="""
I tried with/without --from still does not drop the files.

    git annex dropunused --from cloud 1-3 --force
    dropunused 1 (from cloud...) (gpg) ok
    dropunused 2 (from cloud...) ok
    dropunused 3 (from cloud...) ok
    (Recording state in git...)

still running unused shows the files as unused.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.163"
 subject="comment 3"
 date="2014-02-08T19:17:46Z"
 content="""
Ok, you're right and this *does* involve spaces. Some bug in the unused log parser.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.163"
 subject="comment 4"
 date="2014-02-08T19:28:18Z"
 content="""
Fixed in git.
"""]]


code:
[[!comment format=mdwn
 username="https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d8"
 nickname="Hamza"
 subject="comment 5"
 date="2014-02-08T19:46:49Z"
 content="""
Are the files dropped on the rsync repo? Or are they gonna be dropped when fix propagates to dmg build?
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.163"
 subject="comment 6"
 date="2014-02-08T19:49:11Z"
 content="""
You will need to upgrade git-annex to the next autobuild or an upcoming release to get the fix.
"""]]


code:
I have an annex that I use to store my digital photos.  I had a few false
starts creating this annex, but now it's looking good on my server:

    root@titan.local:/tank/Media/Pictures# git annex status
    supported backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL
    supported remote types: git S3 bup directory rsync web hook
    trusted repositories: 0
    semitrusted repositories: 2
            00000000-0000-0000-0000-000000000001 -- web
            be88bc5a-17e2-11e2-a99b-d388d4437350 -- here (titan)
    untrusted repositories: 0
    dead repositories: 5
            0A9F3136-A12A-43C7-9BE2-33F59954FD52 -- vulcan
            57349F02-E497-4420-9230-6B15D8AB14EE -- vulcan
            6195C912-2707-4B75-AC8C-11C51FAA8FE0 -- vulcan
            D51DEDC4-9255-4A99-8520-2B1CED337674 -- hermes
            EE327B34-3E20-4B5B-8F0E-D500CBC9738D -- hermes
    transfers in progress: none
    available local disk space: unknown
    local annex keys: 20064
    local annex size: 217 gigabytes
    known annex keys: 21496
    known annex size: 217 gigabytes
    bloom filter size: 16 mebibytes (4% full)
    backend usage:
            SHA256E: 41560
    root@titan.local:/tank/Media/Pictures# git annex unused
    unused . (checking for unused data...) ok

It passes `git annex fsck` without any problems.  However, when I "git clone"
this annex to my desktop machine and then do a `git annex sync`, I see this:

    Vulcan /Volumes/tank/Media/Pictures (master) $ git annex status
    supported backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL
    supported remote types: git S3 bup directory rsync web hook
    trusted repositories: 0
    semitrusted repositories: 5
            00000000-0000-0000-0000-000000000001 -- web
            0A9F3136-A12A-43C7-9BE2-33F59954FD52 -- vulcan
            274D3474-7A25-44CD-8368-CF11C451014F -- here (vulcan)
            EE327B34-3E20-4B5B-8F0E-D500CBC9738D -- hermes
            be88bc5a-17e2-11e2-a99b-d388d4437350 -- titan
    untrusted repositories: 0
    dead repositories: 3
            57349F02-E497-4420-9230-6B15D8AB14EE -- vulcan
            6195C912-2707-4B75-AC8C-11C51FAA8FE0 -- vulcan
            D51DEDC4-9255-4A99-8520-2B1CED337674 -- hermes
    transfers in progress: none
    available local disk space: 1 terabyte (+1 megabyte reserved)
    local annex keys: 0
    local annex size: 0 bytes
    known annex keys: 21025
    known annex size: 217 gigabytes
    bloom filter size: 16 mebibytes (0% full)
    backend usage:
            SHA256: 18707
            SHA256E: 2318

Where did all these `SHA256` keys come from?

Why doesn't the known annex keys size match?

Further, I cannot `git annex get` on most of the files, because it says that
the `SHA256` key is not present.

It looks like I'll have to rollback my ZFS snapshots and start over, but I'm
wondering: how was I even able to create this situation?

> [[Done]]; user error. --[[Joey]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.0.23"
 subject="comment 1"
 date="2012-10-22T13:53:06Z"
 content="""
The SHA256 keys are symlinks in your git repository with \"SHA256-\" as the prefix on the file linked to. You should be able to determine the rest by looking at the history of those files in git.
"""]]