Re: git svn show-externals output format
- From
Andreas Heiduk <asheiduk@gmail.com>
- Date
- Aug 19, 2017, 10:14 UTC
- Message-ID
- <165f5000-df53-0b62-6b06-d628a09d3076@gmail.com>
- In-Reply-To
- <CACcHa=NYgir8HDeR1ES9mKsqTQYk=90Z38csTgK-vfD=fQmHLg@mail.gmail.com>
Am 19.08.2017 um 10:24 schrieb Alexander Groß:
Show 5 quoted lines
> $ git svn show-externals > > # /trunk/ > /trunk/https://svn.code.sf.net/p/gc-webdav/svn webdav > /trunk/https://svn.code.sf.net/p/gc-webdav/svn@1 webdav-at-revision
This is the (bugged) output of `git svn show-externals` for "new style" svn:externals.
Show 10 quoted lines
> > # /trunk/sub directory/ > /trunk/sub directory/https://svn.code.sf.net/p/gc-webdav/svn 'webdav in subdir' > > An earlier version contains just one external: > > $ git svn show-externals --revision 8 > > # /trunk/ > /trunk/webdav https://svn.code.sf.net/p/gc-webdav/svn/
And that the proper output for "old style" svn:externals.
> It seems like the output is inconsistent. [...]
SVN changed/extended the svn:externals format in version 1.5. (See [1] for details). One thing is - they switched the order of the arguments. `git svn` dit not pick up these changes and hence interprets the new format incorrectly. See [2] for a similar discussion - it is from 2012!
> This makes consuming the output of git svn show-externals in HEAD > difficult because the parts are not clearly separated by space and > sometimes the path is the first element, sometimes it's a combination > of first and last elements.
My practical solution was to skip the man in the middle and ask the SVN server directly for the property values with something like that:
svn propget svn:externals -r 42 http://my-repo-url/path/to/ext/dir
I used the output to hardcode the values during the conversion.
[1] http://svnbook.red-bean.com/en/1.8/svn.advanced.externals.html [2] https://public-inbox.org/git/E59CCE45-6F92-4748-9B6E-2A562647904B@nikolaus-demmel.de/