convert: document the subversion conversion model
authorPatrick Mezard <pmezard@gmail.com>
Fri, 18 Jan 2008 00:16:20 +0100
changeset 5876 fb93c774dfff
parent 5875 f1504d3355bb
child 5877 5692bed8230b
convert: document the subversion conversion model
hgext/convert/subversion.py
--- 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)