Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

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

From: Eric Wong <hidden>
Date: 2016-06-15 22:42:43

Pazu [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help