git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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/

Previous: Alexander GroßNext: Alexander Groß
Message 2 of 3 in “git svn show-externals output format”
  1. Alexander GroßAug 19, 2017
  2. Andreas HeidukAug 19, 2017
  3. Alexander GroßAug 19, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.