Please describe the problem.

Tests fail on Nix when git is upgraded to 2.13.

What steps will reproduce the problem?

On NixOS or a system with Nix installed, check out nixpkgs ce8662e693b5756e8457d94bb1765d853310afdb, try to build git-annex (nix-build -I . -A pkgs.gitAndTools.gitAnnex).

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

git-annex 6.20170321 on Nix ce8662e6.

Please provide any additional information below.

I ran a git bisect that concluded:

8 out of 285 tests failed (281.73s)
  (This could be due to a bug in git-annex, or an incompatibility
   with utilities, such as git, installed on this system.)
builder for/nix/store/908y9923fnjmi87apji6q14smgc2rf3d-git-annex-6.20170321.drv’ failed with exit code 1
error: build of ‘/nix/store/908y9923fnjmi87apji6q14smgc2rf3d-git-annex-6.20170321.drv’ failed
ce8662e693b5756e8457d94bb1765d853310afdb is the first bad commit
commit ce8662e693b5756e8457d94bb1765d853310afdb
Author: Tim Steinbach <tim@nequissimus.com>
Date:   Tue May 9 21:57:24 2017 -0400

    git: 2.12.2 -> 2.13.0

:040000 040000 4155c091e7156a4e15cf073640e0be3c76b1b7f3 48ca917e5578b405cf8517e1f113433b2d076e15 M      pkgs
bisect run success
    adjusted branch merge regression:                     Switched to branch 'adjusted/master(unlocked)'
[adjusted/master(unlocked) ca9719e] git-annex in .t/tmprepo39
 1 file changed, 1 insertion(+)
 create mode 100644 conflictor
From ../../.t/tmprepo40
 * [new branch]      git-annex  -> r2/git-annex
 * [new branch]      master     -> r2/master
To ../../.t/tmprepo40
 * [new branch]      git-annex -> synced/git-annex
 * [new branch]      master -> synced/master
Switched to branch 'adjusted/master(unlocked)'
[adjusted/master(unlocked) b29e8de] git-annex in .t/tmprepo40
 1 file changed, 1 insertion(+)
 create mode 100644 conflictor
merge: refs/heads/synced/master - not something we can merge
From ../../.t/tmprepo39
 * [new branch]      adjusted/master(unlocked) -> r1/adjusted/master(unlocked)
 * [new branch]      git-annex                 -> r1/git-annex
 * [new branch]      master                    -> r1/master
 * [new branch]      synced/master             -> r1/synced/master
merge: refs/remotes/r1/master - not something we can merge
merge: refs/remotes/r1/synced/master - not something we can merge
To ../../.t/tmprepo39
 * [new branch]      git-annex -> synced/git-annex
 ! [rejected]        master -> synced/master (non-fast-forward)
error: failed to push some refs to '../../.t/tmprepo39'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
To ../../.t/tmprepo39
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '../../.t/tmprepo39'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  Pushing to r1 failed.
FAIL (2.32s)
    conflict resolution (adjusted branch):                [master b0dd758] git-annex in .t/tmprepo44
 1 file changed, 1 insertion(+)
 create mode 100644 conflictor
[master 8295bae] git-annex in .t/tmprepo45
 1 file changed, 1 insertion(+)
 create mode 100644 conflictor
Switched to branch 'adjusted/master(unlocked)'
On branch master
nothing to commit, working tree clean
From ../../.t/tmprepo45
 * [new branch]      adjusted/master(unlocked) -> r2/adjusted/master(unlocked)
 * [new branch]      git-annex                 -> r2/git-annex
 * [new branch]      master                    -> r2/master
 * [new branch]      synced/master             -> r2/synced/master
Auto-merging conflictor
CONFLICT (add/add): Merge conflict in conflictor
Automatic merge failed; fix conflicts and then commit the result.
conflictor: needs merge
[master 14ffa24] git-annex automatic merge conflict fix
Already up-to-date.
To ../../.t/tmprepo45
   8295bae..14ffa24  master -> synced/master
 * [new branch]      git-annex -> synced/git-annex
On branch adjusted/master(unlocked)
nothing to commit, working tree clean
merge: refs/heads/synced/master - not something we can merge
From ../../.t/tmprepo44
 * [new branch]      git-annex     -> r1/git-annex
 * [new branch]      master        -> r1/master
 * [new branch]      synced/master -> r1/synced/master
merge: refs/remotes/r1/master - not something we can merge
merge: refs/remotes/r1/synced/master - not something we can merge
FAIL (2.34s)
    adjusted branch merge regression:                     Switched to branch 'adjusted/master(unlocked)'
[adjusted/master(unlocked) 7ccad36] git-annex in .t/tmprepo39
 1 file changed, 1 insertion(+)
 create mode 100644 conflictor
From ../../.t/tmprepo40
 * [new branch]      git-annex  -> r2/git-annex
 * [new branch]      master     -> r2/master
To ../../.t/tmprepo40
 * [new branch]      git-annex -> synced/git-annex
 * [new branch]      master -> synced/master
Switched to branch 'adjusted/master(unlocked)'
[adjusted/master(unlocked) cfb04fd] git-annex in .t/tmprepo40
 1 file changed, 1 insertion(+)
 create mode 100644 conflictor
merge: refs/heads/synced/master - not something we can merge
From ../../.t/tmprepo39
 * [new branch]      adjusted/master(unlocked) -> r1/adjusted/master(unlocked)
 * [new branch]      git-annex                 -> r1/git-annex
 * [new branch]      master                    -> r1/master
 * [new branch]      synced/master             -> r1/synced/master
merge: refs/remotes/r1/master - not something we can merge
merge: refs/remotes/r1/synced/master - not something we can merge
To ../../.t/tmprepo39
 * [new branch]      git-annex -> synced/git-annex
 ! [rejected]        master -> synced/master (non-fast-forward)
error: failed to push some refs to '../../.t/tmprepo39'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
To ../../.t/tmprepo39
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '../../.t/tmprepo39'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  Pushing to r1 failed.
FAIL (1.79s)
    conflict resolution (adjusted branch):                [master ea63ee5] git-annex in .t/tmprepo44
 1 file changed, 1 insertion(+)
 create mode 120000 conflictor
[master 07d129c] git-annex in .t/tmprepo45
 1 file changed, 1 insertion(+)
 create mode 120000 conflictor
Switched to branch 'adjusted/master(unlocked)'
On branch master
nothing to commit, working tree clean
From ../../.t/tmprepo45
 * [new branch]      adjusted/master(unlocked) -> r2/adjusted/master(unlocked)
 * [new branch]      git-annex                 -> r2/git-annex
 * [new branch]      master                    -> r2/master
 * [new branch]      synced/master             -> r2/synced/master
Auto-merging conflictor
CONFLICT (add/add): Merge conflict in conflictor
Automatic merge failed; fix conflicts and then commit the result.
conflictor: needs merge
[master 5d5a674] git-annex automatic merge conflict fix
Already up-to-date.
To ../../.t/tmprepo45
   07d129c..5d5a674  master -> synced/master
 * [new branch]      git-annex -> synced/git-annex
On branch adjusted/master(unlocked)
nothing to commit, working tree clean
merge: refs/heads/synced/master - not something we can merge
From ../../.t/tmprepo44
 * [new branch]      git-annex     -> r1/git-annex
 * [new branch]      master        -> r1/master
 * [new branch]      synced/master -> r1/synced/master
merge: refs/remotes/r1/master - not something we can merge
merge: refs/remotes/r1/synced/master - not something we can merge
FAIL (1.35s)
    adjusted branch merge regression:                     Switched to branch 'adjusted/master(unlocked)'
[adjusted/master(unlocked) 6601699] git-annex in .t/tmprepo39
 1 file changed, 1 insertion(+)
 create mode 100644 conflictor
From ../../.t/tmprepo40
 * [new branch]      git-annex  -> r2/git-annex
 * [new branch]      master     -> r2/master
To ../../.t/tmprepo40
 * [new branch]      git-annex -> synced/git-annex
 * [new branch]      master -> synced/master
Switched to branch 'adjusted/master(unlocked)'
[adjusted/master(unlocked) b37ecc1] git-annex in .t/tmprepo40
 1 file changed, 1 insertion(+)
 create mode 100644 conflictor
merge: refs/heads/synced/master - not something we can merge
From ../../.t/tmprepo39
 * [new branch]      adjusted/master(unlocked) -> r1/adjusted/master(unlocked)
 * [new branch]      git-annex                 -> r1/git-annex
 * [new branch]      master                    -> r1/master
 * [new branch]      synced/master             -> r1/synced/master
merge: refs/remotes/r1/master - not something we can merge
merge: refs/remotes/r1/synced/master - not something we can merge
To ../../.t/tmprepo39
 * [new branch]      git-annex -> synced/git-annex
 ! [rejected]        master -> synced/master (non-fast-forward)
error: failed to push some refs to '../../.t/tmprepo39'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
To ../../.t/tmprepo39
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '../../.t/tmprepo39'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  Pushing to r1 failed.
FAIL (1.54s)
    conflict resolution (adjusted branch):                [master dcd2368] git-annex in .t/tmprepo44
 1 file changed, 1 insertion(+)
 create mode 120000 conflictor
[master c933362] git-annex in .t/tmprepo45
 1 file changed, 1 insertion(+)
 create mode 120000 conflictor
Switched to branch 'adjusted/master(unlocked)'
On branch master
nothing to commit, working tree clean
From ../../.t/tmprepo45
 * [new branch]      adjusted/master(unlocked) -> r2/adjusted/master(unlocked)
 * [new branch]      git-annex                 -> r2/git-annex
 * [new branch]      master                    -> r2/master
 * [new branch]      synced/master             -> r2/synced/master
Auto-merging conflictor
CONFLICT (add/add): Merge conflict in conflictor
Automatic merge failed; fix conflicts and then commit the result.
conflictor: needs merge
[master 9f19aa7] git-annex automatic merge conflict fix
Already up-to-date.
To ../../.t/tmprepo45
   c933362..9f19aa7  master -> synced/master
 * [new branch]      git-annex -> synced/git-annex
On branch adjusted/master(unlocked)
nothing to commit, working tree clean
merge: refs/heads/synced/master - not something we can merge
From ../../.t/tmprepo44
 * [new branch]      git-annex     -> r1/git-annex
 * [new branch]      master        -> r1/master
 * [new branch]      synced/master -> r1/synced/master
merge: refs/remotes/r1/master - not something we can merge
merge: refs/remotes/r1/synced/master - not something we can merge
FAIL (1.44s)
    adjusted branch merge regression:                     On branch master
nothing to commit, working tree clean
On branch master
nothing to commit, working tree clean
Already on 'adjusted/master(unlocked)'
[adjusted/master(unlocked) 70b8469] git-annex in .t/tmprepo39
 1 file changed, 1 insertion(+)
 create mode 100644 conflictor
From ../../.t/tmprepo40
 * [new branch]      annex/direct/master -> r2/annex/direct/master
 * [new branch]      git-annex           -> r2/git-annex
 * [new branch]      master              -> r2/master
To ../../.t/tmprepo40
 * [new branch]      git-annex -> synced/git-annex
 * [new branch]      master -> synced/master
Already on 'adjusted/master(unlocked)'
[adjusted/master(unlocked) 353957d] git-annex in .t/tmprepo40
 1 file changed, 1 insertion(+)
 create mode 100644 conflictor
merge: refs/heads/synced/master - not something we can merge
From ../../.t/tmprepo39
 * [new branch]      adjusted/master(unlocked) -> r1/adjusted/master(unlocked)
 * [new branch]      git-annex                 -> r1/git-annex
 * [new branch]      master                    -> r1/master
 * [new branch]      synced/master             -> r1/synced/master
merge: refs/remotes/r1/master - not something we can merge
merge: refs/remotes/r1/synced/master - not something we can merge
To ../../.t/tmprepo39
 * [new branch]      git-annex -> synced/git-annex
 ! [rejected]        master -> synced/master (non-fast-forward)
error: failed to push some refs to '../../.t/tmprepo39'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
To ../../.t/tmprepo39
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '../../.t/tmprepo39'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  Pushing to r1 failed.
FAIL (1.87s)
    conflict resolution (adjusted branch):                On branch master
nothing to commit, working tree clean
On branch master
nothing to commit, working tree clean
Already on 'adjusted/master(unlocked)'
From ../../.t/tmprepo45
 * [new branch]      adjusted/master(unlocked) -> r2/adjusted/master(unlocked)
 * [new branch]      git-annex                 -> r2/git-annex
 * [new branch]      master                    -> r2/master
 * [new branch]      synced/master             -> r2/synced/master
Auto-merging conflictor
CONFLICT (add/add): Merge conflict in conflictor
Automatic merge failed; fix conflicts and then commit the result.
conflictor: needs merge
To ../../.t/tmprepo45
   372f97c..cebbf06  annex/direct/master -> synced/master
 * [new branch]      git-annex -> synced/git-annex
On branch adjusted/master(unlocked)
nothing to commit, working tree clean
merge: refs/heads/synced/master - not something we can merge
From ../../.t/tmprepo44
 * [new branch]      annex/direct/master -> r1/annex/direct/master
 * [new branch]      git-annex           -> r1/git-annex
 * [new branch]      master              -> r1/master
 * [new branch]      synced/master       -> r1/synced/master
merge: refs/remotes/r1/master - not something we can merge
merge: refs/remotes/r1/synced/master - not something we can merge
FAIL (1.50s)

Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)

git-annex is an essential building block in my digital life style! It keeps backups of all my precious family photos. I'm a big git-annex shill when I get the chance, especially to nix, guix and decentralized hacker types.

Workaround is in 9bcaef1ec496b4ffd3033ae5080949bd8cc3edd5. done --Joey