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

[linux.conf.au] VCS Interoperability

From
David Michael Barr <davidbarr@google.com>
Date
Jan 9, 2012, 12:30 UTC
Message-ID
<CAFfmPPMH2643JMMZdVbOQJL7DB-DiRYQS8x0TqEaSbGmhMdBNw@mail.gmail.com>
Hi there good folk of the git community,

Next week, I'll be presenting a summary of the past 2 years work on improving svn interoperability for git. I'm requesting feedback from anyone who cares with regard to what they'd like to hear about.

 http://linux.conf.au/schedule/158/view_talk?day=friday

Jonathan put together an overview for Dmitry in preparation for Google Summer of Code 2011:

 svn-fe is very young, so a sufficiently bored person (meaning: I am
 not advocating that you do this; this is just an excuse to provide
 references to avoid getting stuck when you have questions) could
 probably read its history in full without getting lost.  Here are some
 references on the initial design (i.e., how responsibility is divided
 between the svndump driver and repo_tree and fast_export modules).
 The division of responsibilities between modules mostly survives,
 while the details of mechanism are quite different now.
  announcement and following thread:
  http://thread.gmane.org/gmane.comp.version-control.git/143180/focus=143388
  http://thread.gmane.org/gmane.comp.version-control.git/143187
  first public review (not much big picture stuff yet):
  http://thread.gmane.org/gmane.comp.version-control.git/147587
  second review (focuses on infrastructure, most of which is
  obsolete now :))
  http://thread.gmane.org/gmane.comp.version-control.git/148409
  third review (some serious thoughts about design begin here)
  http://thread.gmane.org/gmane.comp.version-control.git/148866/focus=149097
  fourth review (with a program to test with based on David's original
  program; review mentions some unresolved wishes: appropriate
  incremental import bookkeeping, properties, empty directories)
  http://thread.gmane.org/gmane.comp.version-control.git/149571/focus=149934
  fifth review, which is the one that stuck.
  http://thread.gmane.org/gmane.comp.version-control.git/151086/focus=151144

Also of note is the contributions made by Ram in 2010 that eventually became a headlining feature for Subversion 1.7:

 http://subversion.apache.org/docs/release-notes/1.7.html#svnrdump

Dmitry ended up submitting a number of short and pointy series. My favourite by far was:

 fast-import: improve deltas for blobs
 http://thread.gmane.org/gmane.comp.version-control.git/179774

This optimisation was glaring in hindsight. Respect to Dmitry for spotting it.

I believe a number of people have been contributing to the remote helper infrastructure lately. They also deserve credit.

Maybe a better historian than myself can provide additional links.

The overhanging issue after all this work is that there are about 95 outstanding patches waiting to be detangled and resubmitted. I regret not having time to complete this exercise myself.

I hope the process has been insightful and maybe to renew some interest. Thanks for reading.

-- David Barr

Next: Ramkumar Ramachandra
Message 1 of 16 in “[linux.conf.au] VCS Interoperability”
  1. David Michael BarrJan 9, 2012
  2. Ramkumar RamachandraJan 10, 2012
  3. David Michael BarrJan 22, 2012
  4. Ramkumar RamachandraJan 22, 2012
  5. david@lang.hmJan 22, 2012
  6. Brian GernhardtJan 22, 2012
  7. Scott ChaconJan 23, 2012
  8. David BarrJan 26, 2012
  9. Jonathan NiederJan 27, 2012
  10. [PULL] svn-fe updates for master or nextJonathan Nieder, Jan 27, 2012
  11. Jonathan NiederJan 27, 2012
  12. David BarrJan 27, 2012
  13. Jonathan NiederJan 27, 2012
  14. Junio C HamanoJan 27, 2012
  15. Junio C HamanoJan 28, 2012
  16. Junio C HamanoJan 27, 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.