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

Re: GSOC remote-svn

From
Florian Achleitner <florian.achleitner2.6.31@gmail.com>
Date
Jul 23, 2012, 09:42 UTC
Message-ID
<2948040.5ceLh0WG3L@flomedio>
In-Reply-To
<20120722214333.GB680@burratino>
On Sunday 22 July 2012 16:43:33 Jonathan Nieder wrote:
Show 53 quoted lines
> Hi,
> 
> Florian Achleitner wrote:
> > After several mailing iterations, showing me that I was wrong, I found
> > what
> > the right point is, namely that the remote helper writes references to a
> > really private dir in refs/<remote name>/, it doesn't touch anything else,
> > and by advertising the 'refspec' capability, git-fetch knows where the
> > private refs are and updates non-private references according to the
> > fetch refspec in some post-processing in store_updated_refs.
> 
> Right, that's fine.  And you did a fine job of navigating the existing
> documentation (which could be improved, hint hint).
> 
> What I am more concerned about is that you had code you sent a while
> ago for review, that this would have been obvious to David, Ram,
> Dmitry, or me if we had seen it, and yet none of us gave you that
> help.  We are failing at _our_ job of giving you prompt advice and
> instead you have had to work on your own.
> 
> Isn't it likely that there are multiple other bugs like that which
> still haven't been fixed?
> 
> That's why I think we need to get into a habit of giving and getting
> feedback quickly and incrementally improving work.  Soon, before the
> summer ends.
> 
> [...]
> 
> >> [23:01:10] <jrnieder> and it should not be named remote-svn, since we
> > 
> > haven't pinned down details about the svn:: conversion yet.  That's why
> > Dmitry's was called git-remote-svn-alpha)
> > 
> > Ok. Why is that important? I think if it's not called remote-svn git
> > doesn't fid it as a helper for the 'svn' protocol.
> 
> It finds it as a helper for the 'svn-alpha' protocol instead.
> 
> The point is that when I perform the following steps:
> 
> 	git clone svn://path/to/remote/repo
> 
> 	... wait a day, update git
> 
> 	cd repo
> 	git pull
> 
> nobody would expect the result to be a non-fast-forward update caused
> by the details of svn-to-git conversion changing.  Using a name like
> testsvn or svn-alpha would help in managing expectations --- the
> remote helper is meant for experimentation for now and not meant to be
> something people can rely on for collaboration.
Ok, that makes sense. Renaming is easily done!
Show 9 quoted lines
> 
> > I wrote a small simulation script in python that mimics svnrdumps
> > behaviour by replaying an existing svn dump file from a start rev up to
> > an end rev to test incremental imports. I use it together with a little
> > testrepo shell script. Will need to bring that into t/ later, after
> > figuring out how the test framework works. As it's not finished it's not
> > published.
> 
> Sounds neat --- how can one try it out?
I'll send a patch ...
Show 13 quoted lines
> 
> > Incremental import:
> > By reading the latest svn revision number from a note attached to the
> > private master ref, it starts future imports from the next svn revision.
> > That basically works well.
> > It doesn't reuse mark files. What's the point of reusing them? Dmitry's
> > svn- alpha did that.
> > All I need to know is the revision to start from and the branch i want to
> > add commits to, right? It now simply reads that from the note.
> 
> The marks are used to handle copyfrom operations referring to older
> revisions.  Are you sure you want to abandon them?  Can you explain a
> little more about your plan?

Ok, that makes sense. I didn't need the marks for incremental import. But to evaluate the copyfrom props we need some revision->sha1 mapping. I just added the options to save and import marks to fast-import's command line. If the file is missing, it will need to be generated from the notes, or the whole history will be reimported.

But when I fetch from a git repo that imported from svn, the notes are not fetched automatically. In this case I currently loose marks and notes. What can I do?

Florian
Previous: Jonathan NiederNext: Jonathan Nieder
Message 3 of 21 in “GSOC remote-svn”
  1. Florian AchleitnerJul 22, 2012
  2. Jonathan NiederJul 22, 2012
  3. Florian AchleitnerJul 23, 2012
  4. Jonathan NiederJul 23, 2012
  5. Add a svnrdump-simulator replaying a dump file for testing.Florian Achleitner, Jul 23, 2012
  6. Jonathan NiederJul 23, 2012
  7. Florian AchleitnerJul 23, 2012
  8. Florian AchleitnerJul 23, 2012
  9. Matthieu MoyJul 23, 2012
  10. Florian AchleitnerJul 23, 2012
  11. Matthieu MoyJul 23, 2012
  12. Jeff KingJul 23, 2012
  13. Junio C HamanoJul 23, 2012
  14. Add a svnrdump-simulator replaying a dump file for testing.Florian Achleitner, Jul 23, 2012
  15. Junio C HamanoJul 23, 2012
  16. Jonathan NiederJul 24, 2012
  17. Florian AchleitnerJul 25, 2012
  18. Erik Faye-LundJul 24, 2012
  19. Matthieu MoyJul 23, 2012
  20. Jonathan NiederJul 23, 2012
  21. Florian AchleitnerJul 23, 2012

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.