Eric Wong <normalperson@xxxxxxxx> writes: > I can't reproduce it on Linux with ext3. I translated your recipe into > a test script in the patch below. Anybody familiar with OSX and/or HFS > know if there's a workaround or fix for this? Thanks for sending the test case. It doesn't properly fail for me on OSX, but if I run it with -v then I do see the error (so it is failing on OSX and, as you found, not on Linux). I added a silly print statement to see the symlink args: diff --git a/entry.c b/entry.c index d72f811..70f6402 100644 --- a/entry.c +++ b/entry.c @@ -129,6 +129,7 @@ static int write_entry(struct cache_entry *ce, char *path, struct checkout *stat return error("git-checkout-index: unable to write file %s", path); } else { + fprintf(stderr, "symlink: '%s' => '%s'\n", path, new); wrote = symlink(new, path); free(new); if (wrote) And so then on Linux with -v I get (after snipping most of the output): * expecting success: cd git && git svn rebase cd .. A bar.txt r2 = 31e734669e3fe4dbbd375e5a9f5af828a5b7ba92 (git-svn) D foo.txt r3 = bd3b318730e8efc77235976abb18d04bc927bf9e (git-svn) A foo.txt r4 = 2376eedcfec1de7cbe69b2bbad1c5de231a0ed0d (git-svn) First, rewinding head to replay your work on top of it... symlink: 'foo.txt' => 'bar.txt' HEAD is now at 2376eed... add foo as symlink Fast-forwarded master to refs/remotes/git-svn. * ok 4: rebase in git-svn * passed all 4 test(s) On my OSX laptop I get: * expecting success: cd git && git svn rebase cd .. A bar.txt r2 = 4964f302b94ede0301b33faf5f4242c4bab3108b (git-svn) D foo.txt r3 = 178a9ff3c7013d4ad8ec7defa93b91a1080c1e53 (git-svn) A foo.txt r4 = 9f0bc38df8113fe1e11e47b708589d82bfa035a0 (git-svn) First, rewinding head to replay your work on top of it... symlink: 'foo.txt' => '' error: git-checkout-index: unable to create symlink foo.txt (Invalid argument) HEAD is now at 9f0bc38... add foo as symlink Fast-forwarded master to refs/remotes/git-svn. * ok 4: rebase in git-svn * passed all 4 test(s) If you're still with me, the curious part is what the symlink call is trying to do. Linux: symlink: 'foo.txt' => 'bar.txt' OSX: symlink: 'foo.txt' => '' So it looks like the problem is some sort of off-by-one that happens well before the symlink call. Perhaps this is enough for someone more knowledgable than me to have a clue where to look next? + seth - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html