Rev 612: Fix formatting and update revspecs spec. in file:///data/jelmer/bzr-svn/revprops/

Jelmer Vernooij jelmer at samba.org
Tue Jan 29 00:31:32 GMT 2008


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

------------------------------------------------------------
revno: 612
revision-id:jelmer at samba.org-20080129003131-0aa92q0vns5ot6xz
parent: jelmer at samba.org-20080129001922-d65ngelqzwyo13o2
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: revprops
timestamp: Tue 2008-01-29 01:31:31 +0100
message:
  Fix formatting and update revspecs spec.
modified:
  format.py                      format.py-20070917005147-94kb7zysotf82kqw-1
  specs/revprops.txt             revprops.txt-20080119124702-mrqj3lll8cpkpywc-1
=== modified file 'format.py'
--- a/format.py	2007-11-23 13:20:17 +0000
+++ b/format.py	2008-01-29 00:31:31 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2007 Jelmer Vernooij <jelmer at samba.org>
+# Copyright (C) 2006-2008 Jelmer Vernooij <jelmer at samba.org>
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by

=== modified file 'specs/revprops.txt'
--- a/specs/revprops.txt	2008-01-19 19:52:57 +0000
+++ b/specs/revprops.txt	2008-01-29 00:31:31 +0000
@@ -6,10 +6,11 @@
 
 Motivation
 ----------
-At the moment, Bazaar revision properties and metadata are stored in file properties on the 
-branch root. Getting the revision properties for a series of revisions currently requires 
-iterating over all of these revisions and calling svn_ls() on the branch root of the revision 
-itself and the revision before that to obtain the properties set. 
+At the moment, Bazaar revision properties and metadata are stored in file 
+properties on the branch root. Getting the revision properties for a series of
+revisions currently requires iterating over all of these revisions and calling 
+svn_ls() on the branch root of the revision itself and the revision before 
+that to obtain the properties set. 
 
 This has several disadvantages:
 
@@ -20,35 +21,56 @@
 
 Subversion custom revision property support
 -------------------------------------------
-Subversion supports storing custom revision properties. In older versions (pre 1.5), setting
-these revision properties is only possible after committing. This also requires 
-the change of the revision property to be accepted by the pre-change-revprop hook, which 
-is disabled by default.
-
-Subversion 1.5 allows setting custom revision properties as part of commit, without the 
-need to change any hooks on the server side. It also supports iterating over custom 
-revision properties using svn_ra_log().
-
-This should allow for a massive performance improvement and user experience. However, 
-the problem is that this will not work with a lot of older Subversion repositories.
+Subversion supports storing custom revision properties. In older versions (pre 
+1.5), setting these revision properties is only possible after committing. This 
+also requires the change of the revision property to be accepted by the 
+pre-change-revprop hook, which is disabled by default.
+
+Subversion 1.5 allows setting custom revision properties as part of commit, 
+without the need to change any hooks on the server side. It also supports 
+iterating over custom revision properties using svn_ra_log().
+
+This should allow for a massive performance improvement and user experience. 
+However, the problem is that this will not work with a lot of older Subversion 
+repositories.
+
+New mapping version
+~~~~~~~~~~~~~~~~~~~
+Since this requires changes to the way the bzr<->svn mappings work, this 
+requires a new version of the mappings. This will be version 4.
 
 Legacy repositories
 ~~~~~~~~~~~~~~~~~~~
-- Set both file properties and revision properties unless support_legacy is set to False or the previous revision with revprops set didn't have file props set
-- Refuse to set revision properties unless all revisions since the last revision with bzr revision properties contain no bzr file props or contain both bzr file props and bzr revprops. When revprops are 
-  seen, scan only for file properties since that point
+There are already repositories out there that have the old file properties 
+set (version 3 and lower of the bzr<->svn mappings). In order to interoperate 
+with existing versions of bzr-svn that have these mappings only, it should be 
+possible to set both version 3 and version 4 mappings on a revision.
+
+In order to make sure that it is possible to rely on revision properties 
+as much as possible, the following policy will be followed where it concerns 
+pushing new revisions:
+
+- Set both file properties and revision properties unless support_legacy is 
+  set to False or the previous revision with revprops set didn't have file 
+  props set
+- Refuse to set revision properties unless all revisions since the last 
+  revision with bzr revision properties contain no bzr file props or contain 
+  both bzr file props and bzr revprops. When revprops are seen, scan only for 
+  file properties since that point 
 
 Upgrade command
 ~~~~~~~~~~~~~~~
 `bzr svn-upgrade` needs to support being run on a Subversion repository or a 
-new command should be added to allow setting matching revision properties for the existing 
-file properties. This will iterate over the repository since the last revision with revprops set and 
-set matching revision properties for each revision with file props.
+new command should be added to allow setting matching revision properties for 
+the existing file properties. This will iterate over the repository since the 
+last revision with revprops set and set matching revision properties for each 
+revision with file props.
 
 New settings
 ~~~~~~~~~~~~
-A new per-Subversion-repository setting `support_legacy` will be added. This setting controls whether 
-file properties should be set when pushing to the specified repository. It defaults to True.
+A new per-Subversion-repository setting `support_legacy` will be added. This 
+setting controls whether file properties should be set when pushing to the 
+specified repository. It defaults to True.
 
 ..
     vim: ft=rest




More information about the bazaar-commits mailing list