Subject: Re: git-svn fetch fails when a file is renamed changing only case

From: Eric Wong <[email-masked]>
Date: Wed, 11 Oct 2006 10:42:20 -0700

Pazu <[email-masked]> wrote:
> For example, if you had a file named TestFile and it's renamed to 
> TESTFILE, git-svn fails to fetch revisions after the rename.
> 
> My perl skills are close to non-existant, so I'm afraid I don't know how 
> to fix this. Attached to this message, however, is a sample svn 
> repository that can reproduce this bug. Just unpack it somewhere (let's 
> say, in /tmp) and try the following:
> 
> tar -C /tmp -xzf git-svn-rename-test.tar.gz
> mkdir test-wc
> cd test-wc
> git-svn init file:///tmp/git-svn-rename-test
> git-svn fetch
> 
> The last command will fail after fetching revision #3, where a file 
> named TestFile was renamed to TESTFILE. Here's the stack trace:
> 
> svn: 'TestFile' is not under version control
> 256 at /Users/pazu/bin/git-svn line 2015
>         main::safe_qx('svn', 'propget', 'svn:keywords', 
> 'TestFile@BASE') called at /Users/pazu/bin/git-svn line 2154
>         main::svn_propget_base('svn:keywords', 'TestFile') called at 
> /Users/pazu/bin/git-svn line 1773
>         main::do_update_index('ARRAY(0x180bd68)', 'remove', 'undef') 
> called at /Users/pazu/bin/git-svn line 1805
>         main::index_changes() called at /Users/pazu/bin/git-svn line 1875
>         main::git_commit('HASH(0x180bd98)', 
> 'c77db38dc752305ba19ebe19b22306551d0f8d52') called at 
> /Users/pazu/bin/git-svn line 346
>         main::fetch_cmd() called at /Users/pazu/bin/git-svn line 290
>         main::fetch() called at /Users/pazu/bin/git-svn line 149
 
> I'm on Mac OS X (Intel) 10.4.8

Ah, the problem is that git-svn relies on git-diff-files and
git-ls-files to track changes when using the command-line svn client.
git itself is a case-sensitive file-system, but git-svn relies on the
working tree if you didn't have the SVN libraries, and successfully
stats the 'TestFile' even though it no longer exists (and is replaced
by 'TESTFILE').

Good to know that the SVN:: libraries are working for you, though.

-- 
Eric Wong