You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2015/04/17 10:56:53 UTC
svn commit: r1674239 - /subversion/branches/move-tracking-2/BRANCH-README
Author: julianfoad
Date: Fri Apr 17 08:56:53 2015
New Revision: 1674239
URL: http://svn.apache.org/r1674239
Log:
On the 'move-tracking-2' branch: Try to make BRANCH-README explain
better what's going on here.
* BRANCH-README
Update.
Modified:
subversion/branches/move-tracking-2/BRANCH-README
Modified: subversion/branches/move-tracking-2/BRANCH-README
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/BRANCH-README?rev=1674239&r1=1674238&r2=1674239&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/BRANCH-README (original)
+++ subversion/branches/move-tracking-2/BRANCH-README Fri Apr 17 08:56:53 2015
@@ -1,4 +1,4 @@
-A branch on which to try out move-tracking designs.
+A branch on which to prototype a model of move-tracking and branching.
Merge policy:
@@ -7,34 +7,62 @@ Merge policy:
The work on this branch may or may not eventually be wanted on trunk. It
is not intended to be kept in a state where it could be merged to trunk.
- Please don't review for implementation issues, not even big-O
- complexity concerns etc. at this time.
- Please do try it out.
+Reviewing:
- If you can help me get my head around how the logic should work, I'd be
- extremely glad of any discussion of that.
+ Please do try out the 'svnmover' utility, explore how branching and
+ subbranching and moving interact, and review and discuss the behavioural
+ aspects of the model being prototyped here.
+
+ Please don't review for 'quality of implementation' issues, not even
+ big-O complexity concerns etc. The goal of this work is for us to learn
+ about the behavioural model that we want. Designing a proper
+ implementation will come later.
+
+
+The model:
+
+ Imagine a user who:
+
+ - is familiar with version control concepts
+ - is not familiar with Subversion specifics
+ - expects directories to be versioned (not just files)
+ - expects move tracking (as opposed to move 'detection')
+
+ The design aims to satisfy such a user.
Work on this branch:
- * A proof-of-concept utility for playing with moves and branching
- to see how well the logic works out in practice.
+ * 'svnmover'
- It's called 'svnmover'. Like 'svnmucc', it operates directly on a repo,
- completely avoiding any working copy considerations.
+ A proof-of-concept utility for playing with moves and branching.
+ 'svnmover' is a user interface that lets us try out scenarios in
+ which branching and moving are significant, to see what we expect
+ and see if we can write code that delivers it.
+
+ 'svnmover' operates directly on a repo, like 'svnmucc'. Working copy
+ considerations -- mixed-rev states, sparse checkouts, conflicts, and
+ so on -- are completely avoided. A working copy is, in essence, a tool
+ for viewing and making changes to the versioned data, and so needs to
+ be designed to support the versioned data model. That comes *after*
+ designing the data model. Working copy considerations may be introduced
+ to 'svnmover' in due course in order to explore how they would work.
+
+ 'svnmover' processes a series of commands given on the command line, and
+ then commits the result. In interactive mode (when run with no command
+ arguments) it makes one commit per line of input.
- The implementation is just a hack. It stores metadata in revprops
- or flat files , with little concern for efficiency etc. at this
- stage.
+ The implementation stores metadata either in revprops or in flat files
+ in the repository directory; the metadata is the same in either case.
STATUS
This is my current focus.
Implemented:
- basic edits including move, copy, delete
- branching: branch, list-branches
+ basic edits: add file/dir, move, copy, delete
+ branching: branch, create new branch, list branches
diff
merge
@@ -119,13 +147,6 @@ Work on this branch:
Not started.
- * 'update'
-
- STATUS
-
- Needs design.
-
-
Terminology:
'Ev3'/'svn_editor3_t' is a temporary name. It should end up