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

Re: git-svn clone problem

From
JBJoel Becker <joel.becker@oracle.com>
Date
May 28, 2009, 17:22 UTC
Message-ID
<20090528172207.GB315@mail.oracle.com>
In-Reply-To
<op.uumqk2gt1e62zd@merlin.emma.line.org>
On Thu, May 28, 2009 at 09:47:16AM +0200, Matthias Andree wrote:
Show 39 quoted lines
> Am 28.05.2009, 04:41 Uhr, schrieb Joel Becker <Joel.Becker@oracle.com>:
>
>> On Wed, May 27, 2009 at 07:11:01PM -0700, Deskin Miller wrote:
>>> The problem here isn't with git-svn; rather, it is with the svn
>>> repository at oss.oracle.com claiming a nonsensical UUID.  svn uses
>>> UUIDs behind the scenes to identify each repository, and git-svn does
>>> the same thing.  When doing git svn init (or clone, which is just init
>>> && fetch) the svn server sends back a UUID which identifies it.  When
>>> I use wireshark and expand the first HTTP packet back from a good svn
>>> server, I see something like the following embedded in the xml tree:
>>>
>>> <lp3:repository-uuid>
>>> 612f8ebc-c883-4be0-9ee0-a4e9ef946e3a
>>> </lp3:repository-uuid>
>>>
>>> However when I do the same with oss.oracle.com I see
>>>
>>> <lp2:repository-uuid>
>>> ????????-????-????-????-????????????
>>> </lp2:repository-uuid>
>>>
>>> git-svn tries to play along for a while, but the bottom line is that a
>>> string of question marks isn't a UUID.
>>>
>>> There's more about svn's use of UUIDs in the svn book.  Perhaps the
>>> admin of oss.oracle.com can correct this UUID problem so one can use
>>> git-svn with this repository.
>>
>> 	Is this some new feature of svn that git-svn has decided to
>> require?  We're running subversion 1.4.4 there, and git-svn used to work
>> against those repos.
>> 	Hmm, it's only a couple of very old repos with this problem -
>> they were probably created with subversion 1.1 or 1.0.  I found how to
>> fix it.  Thanks.
>
> Hi Joel,
>
> could you share a pointer to or outline of the solution with the list, 
> for the completeness of the (searchable) archives?
	Sure.  I went to the svn book, this part:
http://chestofbooks.com/computers/revision-control/subversion-svn/Managing-Repository-UUIDs-Reposadmin-Maint-Uuids.html
	My server's running 1.4.4, so the 1.5 command 'svnadmin setuuid
/var/svn/repos' will not work.  Instead I used the second method.  I
created a shell function to generate the uuid:
  uu() {
      echo SVN-fs-dump-format-version: 2;
      echo;
      echo -n "UUID: ";
      uuidgen;
  }
I then used that with the second method to update my repositories:
  # uu | svnadmin load --force-uuid /var/svn/repos
Obviously I replaced '/var/svn/repos' with my own repository paths.
	It's nice that Subversion uses standard UUIDs.  It works
directly with  uuidgen.
Joel
-- 
"The lawgiver, of all beings, most owes the law allegiance.  He of all
 men should behave as though the law compelled him.  But it is the
 universal weakness of mankind that what we are given to administer we
 presently imagine we own."
        - H.G. Wells

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127
Previous: Matthias Andree
Message 5 of 5 in “git-svn clone problem”
  1. Joel BeckerMay 27, 2009
  2. Deskin MillerMay 28, 2009
  3. Joel BeckerMay 28, 2009
  4. Matthias AndreeMay 28, 2009
  5. Joel BeckerMay 28, 2009

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.