Re: [PATCH 1/8] SVN 1.7 will truncate "not-a%40{0}" to just "not-a".
- From
Michael G Schwern <schwern@pobox.com>
- Date
- Jul 28, 2012, 19:32 UTC
- Message-ID
- <50143E34.8090802@pobox.com>
- In-Reply-To
- <20120728141652.GA1603@burratino>
On 2012.7.28 7:16 AM, Jonathan Nieder wrote:
Show 11 quoted lines
> Michael G. Schwern wrote:
>
>> Rather than guess what SVN is going to do for each version, make the test use
>> the branch name that was actually created.
> [...]
>> - git rev-parse "refs/remotes/not-a%40{0}reflog"
>> + git rev-parse "refs/remotes/$non_reflog"
>
> Doesn't this defeat the point of the testcase (checking that git-svn
> is able to avoid creating git refs containing @{, following the rules
> from git-check-ref-format(1))?Unless I messed up, entirely possible as I'm not a shell programmer, the test is still useful for testing SVN 1.6. Under SVN 1.6 $non_reflog should be 'not-a%40{0}reflog' as before.
> Do you know when SVN truncates the directory name?
IIRC its silently does it during the "svn cp".
Show 5 quoted lines
> Would historical > SVN repositories or historical SVN servers be able to have a directory > named with a %40 in it, or has this been disallowed completely, > leaving problematic historical repositories to be dumped with old SVN, > tweaked, and reloaded with new SVN?
Dunno, lemme check...
$ source ~/bin/svn16 $ svnadmin --version svnadmin, version 1.6.18 (r1303927) ... $ svnadmin create svnrepo $ mkdir project project/trunk project/branches project/tags $ echo foo > project/trunk/foo $ svn import -m 'test import' project file:///Users/schwern/tmp/test/svnrepo/project Adding project/tags Adding project/trunk Adding project/trunk/foo Adding project/branches
Committed revision 1. $ rm -rf project/ $ svn cp -m 'reflog' file:///Users/schwern/tmp/test/svnrepo/project/trunk 'file:///Users/schwern/tmp/test/svnrepo/project/branches/not-a%40{0}reflog'
Committed revision 2. $ svn ls file:///Users/schwern/tmp/test/svnrepo/project/branches not-a@{0}reflog/ $ source ~/bin/svn17 $ svn --version svn, version 1.7.5 (r1336830) ... $ svn ls file:///Users/schwern/tmp/test/svnrepo/project/branches not-a@{0}reflog/
If you make it with SVN 1.6 its still there with SVN 1.7. That's good, it means you can ship a prebuilt repository and check it against SVN 1.7.
The bad news is the new code segfaults on it. I don't know if that's the SVN 1.7 API choking on its own stuff or because of my changes or both. If you set up the test I can try and fix it. Otherwise I'll just flounder in shell.
--
"I went to college, which is a lot like being in the Army, except when
stupid people yell at me for stupid things, I can hit them."
-- Jonathan Schwarz