Kevinm wrote: > Apologies Julian - it was the end of a long day :) > > Please find the patch attached... hopefully.
Yup, it's there. Anyone know how we generate 'svn_load_dirs.pl' from 'svn_load_dirs.pl.in'? I can't seem to find anything in "configure" or "make". I re-built and still it's not there. - Julian > On 20 December 2010 16:57, Julian Foad <julian.f...@wandisco.com> > wrote: > Hi Kevin. > > Thanks for contributing this bug fix. > > '@' is called an 'at' sign; '&' is called an ampersand. > > Unfortunately your patch didn't reach the mailing list, > probably because > the mailing list strips attachments that it doesn't recognize > as a plain > text MIME type. You could try renaming it as ".txt" to > encourage your > mail program to set the MIME type properly. > > - Julian > > > > On Mon, 2010-12-20 at 16:28 +0000, Kevinm wrote: > > I stumbled across a bug in svn_load_dirs.pl when importing > paths with > > an ampersand character. Anything after the final ampersand > in a path > > gets interpreted as a peg revision during the add phase, so > the > > affected files don't get imported and the sanity check at > the end > > fails. > > > > > > I have attached a patch to get around the issue; it always > adds > > an ampersand to the end of each path while building the > TARGETS file. > > This is documented in the svn book > > here: > http://svnbook.red-bean.com/en/1.5/svn.advanced.pegrevs.html > > > > > > The perceptive reader is probably wondering at this > point > > whether the peg revision syntax causes problems for > working > > copy paths or URLs that actually have at signs in > them. After > > all, how does svn know whether n...@11 is the name > of a > > directory in my tree or just a syntax for “revision > 11 of > > news”? Thankfully, while svn will always assume the > latter, > > there is a trivial workaround. You need only append > an at sign > > to the end of the path, such as n...@11@. svn cares > only about > > the last at sign in the argument, and it is not > considered > > illegal to omit a literal peg revision specifier > after that at > > sign. This workaround even applies to paths that end > in an at > > sign—you would use filename@@ to talk about a file > named > > filen...@. > > > > > > Below is a simple test to reproduce the issue: > > > > > > dev-kevinm04:~$ mkdir test > > dev-kevinm04:~$ touch test/a.txt > > dev-kevinm04:~$ svnadmin create repos > > dev-kevinm04:~$ svn_load_dirs -v -t 1.0 file://`pwd`/repos > current > > test > > Directory test will be tagged as 1.0 > > > > > > <snip> > > > > > > Cleaning up /tmp/svn_load_dirs_a_cRabZpNS > > dev-kevinm04:~$ touch test/b...@c.txt > > dev-kevinm04:~$ svn_load_dirs -v -t 2.0 file://`pwd`/repos > current > > test > > Directory test will be tagged as 2.0 > > > > > > <snip> > > > > > > Checking out file:///home/london/kevinm/repos/current > > into /tmp/svn_load_dirs_SfwwQDtsAX/my_import_wc > > Running /usr/local/bin/svn checkout --non-interactive > > file:///home/london/kevinm/repos/current my_import_wc > > > > > > Loading test and will save in tag 2.0. > > A b...@c.txt > > Running /usr/local/bin/svn add -N > > --targets /tmp/svn_load_dirs_SfwwQDtsAX/targets.00001 > > Running /usr/local/bin/svn commit --non-interactive -m Load > test into > > current. > > > > > > Running /usr/local/bin/svn update --non-interactive > > Running /usr/local/bin/svn cp --non-interactive -m Tag > current as 2.0. > > file:///home/london/kevinm/repos/current > > file:///home/london/kevinm/repos/2.0 > > Checking out file:///home/london/kevinm/repos/2.0 > > into /tmp/svn_load_dirs_SfwwQDtsAX/my_tag_wc_named_2.0 > > Running /usr/local/bin/svn checkout --non-interactive > > file:///home/london/kevinm/repos/2.0 my_tag_wc_named_2.0 > > Running diff -u -x .svn -r > > test /tmp/svn_load_dirs_SfwwQDtsAX/my_tag_wc_named_2.0 > > /usr/local/bin/svn_load_dirs: diff -u -x .svn -r > > test /tmp/svn_load_dirs_SfwwQDtsAX/my_tag_wc_named_2.0 > failed with > > this output: > > Only in test: b...@c.txt > > Press return to quit and clean up svn working directory: > > Cleaning up /tmp/svn_load_dirs_SfwwQDtsAX > > dev-kevinm04:~$ > > > > > > Thanks, > > > > > > Kevin. > > > > >