[issue1982] svn subrepo has errnoneous status parsing
Gomez
bugs at mercurial.selenic.com
Mon Jan 11 14:21:01 UTC 2010
New submission from Gomez <ed.gomez at free.fr>:
As it is implemented now, svn subrepo will mostly fail for lot of reasons:
Test case:
$ hg init
$ echo a > a
$ echo "ffmpeg = [svn]svn://svn.mplayerhq.hu/ffmpeg/trunk" > .hgsub
$ hg add a .hgsub
$ svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
$ hg commit -m 'cset1'
fails in status parsing with a string exception
The svn status implied by subrepo is (using en_US.UTF-8 locale):
$ svn status ffmpeg
X ffmpeg/libswscale
Performing status on external item at 'ffmpeg/libswscale'
My test case fails because of svn:external sub-subrepos. At first glance i
would add a --ignore-externals to the svn status call.
However the problem is more complex, because svn status output is complex as
it gets splitted over the 6 first chars, not only the first as we check in
current code
A good fix would be to maybe:
- ignore sub subrepos
- check on first and second characters (the ones dealing with the files and
their svn metadata) and check for more than just 'not ?'. X,I should be
ignored, C should abort commit just as conflicts do on mercurial repos
etc...
----------
messages: 11429
nosy: edgomez
priority: bug
status: unread
title: svn subrepo has errnoneous status parsing
____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue1982>
____________________________________________________
More information about the Mercurial-devel
mailing list