diff hgext/convert/subversion.py @ 5876:fb93c774dfff

convert: document the subversion conversion model
author Patrick Mezard <pmezard@gmail.com>
date Fri, 18 Jan 2008 00:16:20 +0100
parents f1504d3355bb
children ff7fb4f0db53
line wrap: on
line diff
--- a/hgext/convert/subversion.py	Thu Jan 17 23:46:56 2008 +0100
+++ b/hgext/convert/subversion.py	Fri Jan 18 00:16:20 2008 +0100
@@ -139,6 +139,19 @@
     return logstream(stdout)
 
 # SVN conversion code stolen from bzr-svn and tailor
+#
+# Subversion looks like a versioned filesystem, branches structures
+# are defined by conventions and not enforced by the tool. First,
+# we define the potential branches (modules) as "trunk" and "branches"
+# children directories. Revisions are then identified by their
+# module and revision number (and a repository identifier).
+#
+# The revision graph is really a tree (or a forest). By default, a
+# revision parent is the previous revision in the same module. If the
+# module directory is copied/moved from another module then the
+# revision is the module root and its parent the source revision in
+# the parent module. A revision has at most one parent.
+#
 class svn_source(converter_source):
     def __init__(self, ui, url, rev=None):
         super(svn_source, self).__init__(ui, url, rev=rev)