Rev 1728: Update TODO, specs. in file:///data/jelmer/bzr-svn/trunk/

Jelmer Vernooij jelmer at samba.org
Sun Aug 31 05:01:02 BST 2008


At file:///data/jelmer/bzr-svn/trunk/

------------------------------------------------------------
revno: 1728
revision-id: jelmer at samba.org-20080831040100-fqmf7uccy56yuzc9
parent: jelmer at samba.org-20080831012742-wf0vaht5hdmesosh
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Sun 2008-08-31 06:01:00 +0200
message:
  Update TODO, specs.
modified:
  TODO                           todo-20060729211917-2kpobww0zyvvo0j2-1
  specs/mappingv4.txt            mappingv4.txt-20080204213825-53ib3edvh7vrodz5-1
=== modified file 'TODO'
--- a/TODO	2008-08-30 20:17:37 +0000
+++ b/TODO	2008-08-31 04:01:00 +0000
@@ -1,13 +1,15 @@
 mappingv4:
- - skip looking for fileprops if revprops have been found in earlier revisions \
+ - skip looking for fileprops for v4 if revprops have been found in earlier revisions \
    AND server supports revprops AND mapping.supports_custom_revprops()
  - implement layout functions, including command
  - integrate svn-set-revprops into svn-upgrade ?
  - add options in commit for create_root, create_prefix
   - if create_root=False: skip _check_dirs_exist
+ - allow skipping a revision completely - to allow creating branches using "svn cp"
 
 - generate deltas rather than fulltexts when creating file id maps
 - transform file ids in workingtree in svn-upgrade
+- only look for fileprops until the first custom revprop that appears in revhistory
 
 tests:
 - more blackbox tests

=== modified file 'specs/mappingv4.txt'
--- a/specs/mappingv4.txt	2008-08-31 01:27:42 +0000
+++ b/specs/mappingv4.txt	2008-08-31 04:01:00 +0000
@@ -19,6 +19,27 @@
 Changes compared to version 3
 -----------------------------
 
+Removal of branching schemes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Branching schemes will no longer be part of the revision id, since they 
+are irrelevant. All paths will be allowed as valid branch paths.
+
+Optional file properties
+~~~~~~~~~~~~~~~~~~~~~~~~
+While newer versions (>= 0.4.11) implementing v3 mappings would already set some 
+custom revision properties when possible, but not use them, v4 will rely solely 
+on revision properties if supported by the server.
+
+Version 4 will always prefer revision properties and use them if available. File 
+properties will only be used if the server is running a version of Subversion older 
+than 1.5 or if no revision properties have been used yet.
+
+Once revision properties have been used for version 4 in a repository, bzr-svn 
+clients will refuse to set file properties. 
+
+Revision properties can, as of svn 1.5, be retrieved very efficiently since 
+they can be returned by svn_ra_get_log(). 
+
 Revision properties
 -------------------
 
@@ -71,10 +92,36 @@
  * bzr:tags
    Dictionary of tags set in this revision.
 
-Removal of branching schemes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Branching schemes will no longer be part of the revision id, since they 
-are irrelevant. All paths will be allowed as valid branch paths.
+Corner cases in mixed environments
+==================================
+Several scenarios can occur while both v3 and v4 mappings are in use.
+
+ * v3 client commits revision based on v4 mapped revision
+   the two clients would each consider this revision to have a different 
+   lhs parent.
+
+ * v4 client commits fileprop-based revision based on v3 mapped revision
+
+ * v4 client commits revprop-based revision based on v3 mapped revision, 
+   which follows revprop based v4 revisions early in the repo.
+
+ * svn client commits revision based on v3 mapped revision
+
+-> only try to interpret parent metadata with own mapping or older
+-> only look for fileprops until the first revprop that appears in revhistory
+
+Upgrade
+=======
+A new command, svn-set-revprops is provided to set revision properties for 
+existing revisions that are already present using file properties.
+
+FIXME: bzr-svn should warn the user to run svn-set-revprops 
+if this would help performance.
+
+Mapping 3 revisions will still be retrievable.
+
+Unless otherwise specified, new revisions will be pushed with v4 mappings.
+
 
 
 .. vim: ft=rest




More information about the bazaar-commits mailing list