You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2010/03/30 17:42:58 UTC
svn commit: r929178 - /subversion/trunk/notes/wc-ng/conflict-storage
Author: stsp
Date: Tue Mar 30 15:42:57 2010
New Revision: 929178
URL: http://svn.apache.org/viewvc?rev=929178&view=rev
Log:
* notes/wc-ng/conflict-storage: Add some comments. Add "patch" operation.
Modified:
subversion/trunk/notes/wc-ng/conflict-storage
Modified: subversion/trunk/notes/wc-ng/conflict-storage
URL: http://svn.apache.org/viewvc/subversion/trunk/notes/wc-ng/conflict-storage?rev=929178&r1=929177&r2=929178&view=diff
==============================================================================
--- subversion/trunk/notes/wc-ng/conflict-storage (original)
+++ subversion/trunk/notes/wc-ng/conflict-storage Tue Mar 30 15:42:57 2010
@@ -18,9 +18,21 @@ where KIND is one of "text", "prop", "tr
below. The COMMON skel contains data that is common to all KINDs, and
is detailed below.
-### need conflict data format version info inside skel, too?
-### or do we bump the entire wc.db format number if we need to tweak
-### this?
+### stsp: I think the COMMON block should appear at the start of each
+### type-specific block instead. For instance, if I apply a patch and
+### rejects are recorded by the "patch" operation on the node,
+### it does not hurt to allow update or merge operations on the node
+### while it still has a patch conflict recorded.
+### A similar situation is a text vs. prop conflicts. E.g. if a node
+### node has only property conflicts, why not allow an update or merge
+### which does not touch conflicted properties? Even if we do not want
+### to allow this, I think embedding this decision into the storage
+### layer design is a bad idea. We can make higher layers deal with it.
+### See also http://svn.haxx.se/dev/archive-2010-03/0646.shtml
+
+### stsp: need conflict data format version info inside skel, too?
+### or do we bump the entire wc.db format number if we need to tweak
+### this?
###
### gstein sez: the KIND can become "text-2" or somesuch if we need to
### radically alter the kind-specific data. but we can easily append
@@ -73,11 +85,14 @@ unless the conflicts are resolved). The
### conflicts. And most of these values are not available for conflicts
### that are introduced via 1.6 (and some of our deprecated svn_wc apis)
+### stsp: We can simply use empty strings for fields which don't make
+### sense for the current conflict type.
+
### BH: Should we have the (incoming_change local_change) block here?
### BH: Should we have the (left_node_kind right_node_kind) block here?
### BH: Do we need more data on 'older/mine' or is that handled via left/right?
-OPERATION is "update", "switch", or "merge", indicating during what
+OPERATION is "update", "switch", "merge", or "patch", indicating during what
type of operation the conflict occurred.
{LEFT,RIGHT}_REV is the revision of the {left,right} side of
@@ -115,6 +130,9 @@ Text conflicts only exist on files. The
### to allow pristine store cleanups.
### BH: What about symlinks?
+### stsp: I guess we can say that all SHA1 sums refer to proper files,
+### and symlinks are resolved before the SHA1 is calculated and
+### stored in the db?
{LEFT,RIGHT,MINE}_SHA1 are sha1 checksums of the full texts of
the {left,right,mine} version of the file. File version's content
@@ -169,6 +187,7 @@ content can be obtained from the pristin
### BH: Can we share some of the sha1 logic with the text conflicts to
### allow resolving this in the same way?
### (We should keep the history of the node valid via replace vs update)
+### stsp: I don't really understand your question. Can you be more specific?
(Unversioned) Obstructions
@@ -210,7 +229,13 @@ hunk as written to the .svnpatch.rej fil
### BH: Using a sha1 here, makes it impossible to cleanup the pristine store
### The pristine store needs all references to be stored in a DB column.
### To support this we would need an extra table.
+### stsp: I'm fine with not storing the reject diff text if we don't
+### have a good location for it. However, keeping it around in case
+### the user deletes the tempfile would be nice. And I don't see an issue
+### with also storing the SHA1 sum in the ACTUAL table. We do this for
+### text conflicts as well. Why would it need an extra table?
### gstein: why keep the PATCH_FILE_ABSPATH? couldn't that be rm'd at
### some point after the attempted 'svn patch'? and doesn't this
### obviate the future possibility of patch from stdin?
+### stsp: See http://svn.haxx.se/dev/archive-2010-03/0645.shtml