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