Merge documentation improvements.
authorJelmer Vernooij <jelmer@samba.org>
Thu, 17 May 2007 16:52:31 +0000 (17:52 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Thu, 17 May 2007 16:52:31 +0000 (17:52 +0100)
30 files changed:
1  2 
README
TODO
branch.py
checkout.py
commit.py
convert.py
errors.py
fetch.py
fileids.py
format.py
logwalker.py
mapping.txt
repository.py
scheme.py
tests/__init__.py
tests/test_branch.py
tests/test_checkout.py
tests/test_commit.py
tests/test_convert.py
tests/test_fileids.py
tests/test_logwalker.py
tests/test_radir.py
tests/test_repos.py
tests/test_scheme.py
tests/test_tree.py
tests/test_upgrade.py
tests/test_workingtree.py
transport.py
tree.py
upgrade.py

diff --cc README
index efa84fa701740ef830cb2f288b721decac826061,0ef5f9217bb3fd56b083a8c6f18d19ddd5b13ae9..da00b861dac4bbd9a1282042a212bd6ae34c067c
--- 1/README
--- 2/README
+++ b/README
@@@ -4,9 -6,11 +6,11 @@@ This directory contains a simple plugi
  Subversion (http://subversion.tigris.org/) branch support to 
  Bazaar (http://www.bazaar-vcs.org/)
  
- == Dependencies == 
+ ============
+ Dependencies
+ ============
  
 -You will need at least version 0.14 of Bazaar or higher.
 +You will need at least version 0.15 of Bazaar or higher.
  
  You also need a fairly recent version of the Python bindings to the 
  Subversion libraries. At the moment, the svn plugin only works with 
diff --cc TODO
Simple merge
diff --cc branch.py
Simple merge
diff --cc checkout.py
Simple merge
diff --cc commit.py
Simple merge
diff --cc convert.py
index a1c1851b809f5c5d71853e7a034295914a7f68f7,8c0354eb45e4283e54d353a519ee65c6f605dc59..78f85f2b22517184374006d16785b3e6907ec227
@@@ -48,9 -46,10 +48,10 @@@ def transport_makedirs(transport, locat
  
  
  class NotDumpFile(BzrError):
+     """A file specified was not a dump file."""
      _fmt = """%(dumpfile)s is not a dump file."""
      def __init__(self, dumpfile):
 -        super(NotDumpFile, self).__init__()
 +        BzrError.__init__(self)
          self.dumpfile = dumpfile
  
  
diff --cc errors.py
index 4d8e0747d3c8918cc24c4a3b5014916c57d812fd,76973ffc67814413d366ddf42cd4b7549e16a16d..38ee6a556b0aaa5819124a59f8340dd5c1868e89
+++ b/errors.py
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ """Subversion-specific errors and conversion of Subversion-specific errors."""
  
 -from bzrlib.errors import BzrError
 +from bzrlib.errors import BzrError, ConnectionReset, LockError
 +
 +import svn.core
  
  class NotSvnBranchPath(BzrError):
+     """Error raised when a path was specified that did not exist."""
      _fmt = """{%(branch_path)s}:%(revnum)s is not a valid Svn branch path"""
  
      def __init__(self, branch_path, revnum=None):
diff --cc fetch.py
index 0c429e3e903085c6594255c5e373e257e09700bd,668512af84a22cce8f6d80e32bddc02d33b59dfa..55ae8b8a519d0063844308a4a9e9c9a50783ddee
+++ b/fetch.py
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ """Fetching revisions from Subversion repositories in batches."""
  
  import bzrlib
 -from bzrlib.inventory import Inventory, ROOT_ID
 +from bzrlib.inventory import Inventory
  import bzrlib.osutils as osutils
  from bzrlib.revision import Revision
  from bzrlib.repository import InterRepository
diff --cc fileids.py
index bb35333da6e2d62edcad66f0054ad43f02a7bdc2,efd6481b3d0d64337a8300a312eb357c7b035504..176de77946a31956e9c363bd86acd24680920faf
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ """Generation of file-ids."""
  
  from bzrlib.errors import NotBranchError
 -from bzrlib.inventory import ROOT_ID
 +from bzrlib.revision import NULL_REVISION
  from bzrlib.trace import mutter
  import bzrlib.ui as ui
  
diff --cc format.py
Simple merge
diff --cc logwalker.py
Simple merge
diff --cc mapping.txt
index 25b7c6781eb532ab7bc188aae5ae5ddb69c033db,f9de9ba60c6ddcb3994aa6b2bec6ba8dde2938d7..8c1fc345086562036443af8b53526397bfb24a6c
@@@ -1,12 -1,12 +1,14 @@@
  This document specifies mapping between Subversion and Bazaar semantics.
  
 -Revision: 2
 +Revision: 3
  Jelmer Vernooij <jelmer@samba.org>, June 2006.
  Updated October 2006.
 +Updated December 2006.
 +Updated January 2007.
  
- == Branch paths ==
+ ============
+ Branch paths
+ ============
  
  It is hard to know, given a SVN URL, to figure out what branch a particular 
  file is in. Other then the convention that branches are named 'trunk' and 
@@@ -29,14 -29,16 +31,16 @@@ The branching scheme can be explicitly 
  The guessing algorithm currently works as follows and is based on paths 
  relative to the repository root:
  
 * Look for 'trunk', 'branches' or 'tags' inside the path - if found, 
-    create a TrunkBranchingScheme with the found level of nesting.
- Look for 'trunk', 'branches' or 'tags' inside the path - if found, 
+   create a TrunkBranchingScheme with the found level of nesting.
  
 * Assume NoBranchingScheme
- Assume NoBranchingScheme
  
 -NEXT VERSION: Allow specifying the branching scheme in ~/.bazaar/locations.conf.
 +Branching scheme names can not contain colons.
  
- == Revision ids ==
+ ============
+ Revision ids
+ ============
  
  An easy way to generate globally unique and reproducible revision ids is to 
  simply combine the repositories UUID and commit revision number. 
@@@ -46,9 -48,7 +50,7 @@@ then one branch (something that is poss
  including the branch path (trunk, branches/SAMBA_4_0, etc) in the 
  revision-id. Example revision id:
  
- {{{
- svn-v3-trunk:0c0555d6-39d7-0310-84fc-f1cc0bd64818:trunk:14323
- }}}
 -``svn-v2:14323@0c0555d6-39d7-0310-84fc-f1cc0bd64818-trunk``
++``svn-v3-trunk:0c0555d6-39d7-0310-84fc-f1cc0bd64818:trunk:14323``
  
  The version number is used to distinguish between versions of the mapping 
  between Bazaar and Subversion. The mapping will change when previously 
@@@ -59,19 -59,15 +61,19 @@@ Once branching schemes can be manually 
  branching scheme as it might influence the parents of the current revision (if 
  a parent path is a branch according but not according to another).
  
 -Since '/' and whitespaces are forbidden in revision ids, the '/', '-', '%' 
 -and whitespace characters are all urlencoded. Example revision id for 
 -branches/foobranch:
 +Since '/' and whitespace are forbidden in revision ids, the branch paths
 +are all urlencoded. Example revision id for branches/foobranch:
  
- {{{
- svn-v3-trunk-1:0c0555d6-39d7-0310-84fc-f1cc0bd64818:branches%2Ffoobranch:14323
- }}}
 -``svn-v2:14323@0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2ffoobranch``
++``svn-v3-trunk-1:0c0555d6-39d7-0310-84fc-f1cc0bd64818:branches%2Ffoobranch:14323``
 +
 +A (path,revnum) tuple is valid if:
 +* path is valid according to the branching scheme
 +* either path,revnum or one of its children was touched in the particular 
 +  revision
  
- == File ids ==
+ ========
+ File ids
+ ========
  
  Subversion does not use file ids. It is not possible to know whether a file in 
  revision X and a file in revision Y are the same without traversing over all 
@@@ -79,15 -75,13 +81,15 @@@ the revisions between X and Y
  
  File ids use the following syntax:
  
- <REVNO>@<UUID>:<BRANCHPATH>:<PATH>
 -``svn-v<MAPPING_VERSION>:<REVNO>@<UUID>-<BRANCHPATH>-<PATH>``
++``<REVNO>@<UUID>:<BRANCHPATH>:<PATH>``
 +
 +Since / is forbidden in file ids, all characters are urlencoded.
  
 -Since / is forbidden in file ids, the '/', '-', '%' and all whitespace
 -characters are urlencoded.
 +The same rules apply to the roots of branches. This means there is no 
 +predefined file id for tree roots.
  
  Alternatively, these file ids can be mapped to more specific file ids. Such 
- a map should be stored in the `bzr:file-ids' property that is set on the 
+ a map should be stored in the 'bzr:file-ids' property that is set on the 
  branch path.
  
  The bzr:file-ids property should contain a list of mappings. Entries are 
@@@ -180,9 -184,7 +192,14 @@@ Revision 1 was the original version of 
  Revision 2 enforces UTF-8-valid characters for everything except file 
  contents.
  
 +Revision 3 changed the file id format, changed the urlencoding to be 
 +uppercased, changed the separator between uuids and branch paths in the 
 +revision id from "-" to ":" and added the branching scheme to the revision id.
 +
 +Revision 3 uses real file ids for the tree root rather than the hardcoded 
 +"TREE_ROOT" and adds the file id map.
++
+ =======
+ Authors
+ =======
+ Jelmer Vernooij <jelmer@samba.org>
diff --cc repository.py
Simple merge
diff --cc scheme.py
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 06c0eb22fd606221c9d3b9118a4be40ce119c03d,e160330404992377f23a0f69b93b5278c1502ff7..ffe4b8e6d3f3e618cf1ddf33730656dc8ca917db
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
+ """Full repository conversion tests."""
  from bzrlib.branch import Branch
  from bzrlib.bzrdir import BzrDir
 -from bzrlib.errors import NotBranchError
 +from bzrlib.errors import NotBranchError, NoSuchFile
  from bzrlib.repository import Repository
  from bzrlib.tests import TestCaseInTempDir
  from bzrlib.trace import mutter
index cd378151a966ba9ed05086673a7fc3977b95b80d,5158fdba221fa459e74bf43b4caf4d41a2f289e5..78120f1bcde569e64a006514c38488057c8e1d0b
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
+ """File id tests."""
  from bzrlib.bzrdir import BzrDir
 -from bzrlib.inventory import ROOT_ID
  from bzrlib.repository import Repository
  from bzrlib.trace import mutter
  from bzrlib.tests import TestCase
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index aa43e90c299363859e9e5e49416e070908e82adb,9d23c0fe4c8e8295f6ed4309109a40ef6259a54b..06292c86c967070aff091b8db8fff76cbb1d4c19
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
+ """Working tree tests."""
  from bzrlib.bzrdir import BzrDir
  from bzrlib.errors import NoSuchFile
 -from bzrlib.inventory import Inventory, ROOT_ID
 -from bzrlib.revision import NULL_REVISION
 +from bzrlib.inventory import Inventory
  from bzrlib.trace import mutter
  from bzrlib.workingtree import WorkingTree
  
diff --cc transport.py
Simple merge
diff --cc tree.py
index 7d37b073f108f92885e4e3d5c8ebf5c686c19bf1,1e088c706383c288896b2fb0a6b4fba43bcb72fb..310bf879d33fbf76c15f3acdb422c829054285ad
+++ b/tree.py
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 -
+ """Access to stored Subversion basis trees."""
  
 -from bzrlib.inventory import (Inventory, ROOT_ID)
 +from bzrlib.inventory import Inventory
++
  import bzrlib.osutils as osutils
  from bzrlib.trace import mutter
  from bzrlib.revisiontree import RevisionTree
diff --cc upgrade.py
Simple merge