christian0101 / svnx

Automatically exported from code.google.com/p/svnx
0 stars 0 forks source link

Cannot handle filename with @ sign #99

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Attempt to add a file with an @ symbol in the filename, e.g. "svn add 
icon@2x.png"

Subversion cannot find the file. "svn: warning: 'icon' not found"

In order to specify the file to subversion, you need to append an additional @ 
sign. e.g. "svn add icon@2x.png@"

It would be nice if svnX could handle this so that I do not have to resort to 
using the command line for files with an @ sign in the filename.

Original issue reported on code.google.com by laurieda...@gmail.com on 11 Jun 2010 at 4:30

GoogleCodeExporter commented 9 years ago
Also encountering this issue - very important for users working in iOS4 
development.

Original comment by charl...@gmail.com on 15 Jul 2010 at 5:23

GoogleCodeExporter commented 9 years ago
I'm currently working on a fix for this.

Complicating issues are:
- Only Subversion 1.6.x supports the trailing '@' (to ignore embedded '@'s).
  [And possibly only some of the more recent releases support it correctly.]
- Some paths/URLs to some commands already incorporate a pegged revision.
  [A 'pegged revision' uses the '@' character - hence the initial problem.]
- Some Subversion commands behave inconsistently with a trailing '@'.
  [Specifically `svn diff` fails with some `-r` option values.  See:
   <http://thread.gmane.org/gmane.comp.version-control.subversion.devel/121869>]
- Some Subversion commands behave inconsistently with an embedded '@'.
  [Specifically `svn import` always fails if the file name starts with '@'.]
- There is no consistency between different Subversion commands.
  [E.g. `svn copy` wants the target URL pegged, but `svn move` fails if it is.]
- None of this information is documented & there are thousands of variations.
  [I'd like to avoid breaking commands that currently work.]

Original comment by chris...@gmail.com on 17 Aug 2010 at 8:55

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Support for '@' characters in filenames has been added for the next release of 
svnX.  This functionality will require Subversion 1.6+.  (It is disabled for 
earlier versions.)  It has been tested with '@' characters in file/folder 
names, intermediate folder names & in a name in the working copy path.  It has 
not been tested with any names that begin or end with an '@'.  It has been 
tested with Subversion 1.6.12 mostly.

The following _svnX_ commands have been tested & should work correctly:
* Working Copy: add, blame, cleanup, commit, copy, diff, info, lock, log, move, 
propdel, propget, proplist, propset, remove, resolved, revert, status, switch, 
unlock, update, Resolve, Ignore, check-SSL.
* Repository: blame, cat, checkout, copy, delete, diff, export, import, info, 
list, log, mkdir, move, Report, check-SSL.

Note: In testing, Subversion 1.6.12 always fails to `svn import` files/folders 
with names starting with '@'.
Also `svn merge` always fails with target item names that contain '@'!
[I know of no reasonable workarounds to these issues.]

Original comment by chris...@gmail.com on 15 Sep 2010 at 4:21

GoogleCodeExporter commented 9 years ago
Added  in 1.3b1.

Original comment by chris...@gmail.com on 16 Sep 2010 at 12:19

GoogleCodeExporter commented 9 years ago
I'm using v1.3b1 of svnX with Subversion 1.6.5.  When creating a copy of the 
trunk of a project by selecting the trunk folder and pressing the Copy toolbar 
button (to make a product version tag) the name of the copy in the tags folder 
had an '@' symbol automatically added to the name.  The new name of the tag I 
entered was 'dev_0_6' and the name of the tag in the repository is now 
'dev_0_6@'.

I think the copy command automatically added the @ even though it was not 
needed in this case.

Original comment by kyle.sno...@gmail.com on 10 Oct 2010 at 4:51

GoogleCodeExporter commented 9 years ago
SvnX will only add a trailing '@' if the destination URL already contains an 
'@'.
Did it in your case?
You can see the actual command svnX used by opening the 'Info' drawer of the 
Activity window.
The Subversion 1.6.12 change log states "fix handling of peg revision'd copy 
targets (issue #3651)".  That may be relevant.
My tests with svnX 1.3b1 & Subversion 1.6.12 indicate correct behaviour.
If possible I suggest upgrading to Subversion 1.6.12.

Original comment by chris...@gmail.com on 11 Oct 2010 at 12:52

GoogleCodeExporter commented 9 years ago
Shouldn't it filter out the @ following the user name, as in:

/usr/bin/svn copy --username jeffs --password yyy --non-interactive -r 217 -m 
Android code review branch 
svn+ssh://jeffs@cvs.server.com/alserve/svn/Client/Project/trunk@217 
svn+ssh://jeffs@cvs.server.com/alserve/svn/Client/Project/branches/CodeReviewAnd
roid20101014@

That '@' at the end should not be there!

Original comment by jas...@gmail.com on 15 Oct 2010 at 3:44