/[Apache-SVN]
ViewVC logotype

Revision 1617909


Jump to revision: Previous Next
Author: stsp
Date: Thu Aug 14 10:55:42 2014 UTC (9 years, 8 months ago)
Changed paths: 5
Log Message:
[
  Note from the future:
  Reverted in r1617930; see r1617932 for a better fix
]

Record the update/switch target revision for missing tree conflicts
victims in the tree conflict description so the revision can always
be retrieved during conflict resolution.

For instance, 'svn info' might show:

Tree conflict: local file edit, incoming file delete or move upon update
  Source  left: (file) ^/trunk/alpha@2
  Source right: (none)

With this change, 'svn info' shows the target revision ("source right')
of the update/switch which recorded the conflict, even if the node
was missing:

Tree conflict: local file edit, incoming file delete or move upon update
  Source  left: (file) ^/trunk/alpha@2
  Source right: (none) @4

There is a slight API change involved which shouldn't affect compatibility.
The semantics of svn_wc_conflict_version_create2() change such that the
conflict victim's repos relpath is allowed to be NULL if the node kind
is 'none'. Previously the API required a canonical path in all cases
and would ASSERT otherwise, a contract which made it impossible to create
conflict versions for nodes which don't exist. The provided revision
number must still be valid in all cases, of course.

* subversion/include/svn_wc.h
  (svn_wc_conflict_version_create2): Update docstring.
   A NULL 'repos_relpath' is now valid if 'kind' is svn_node_none.

* subversion/libsvn_wc/conflicts.c
  (conflict__prepend_location, conflict__read_location): Handle NULL
   repos-relpath fields in conflict description.

* subversion/libsvn_wc/update_editor.c
  (complete_conflict): Create conflict versions for paths which don't exist
   so revision number information will be recorded.

* subversion/libsvn_wc/util.c
  (svn_wc_conflict_version_create2): Accept a NULL repos_relpath if the
   node kind is svn_node_none.

* subversion/svn/util.c
  (svn_cl__node_description): Print an empty path if the victim's kind
   is svn_node_none, instead of printing the ^/... placeholder path.


Changed paths

Path Details
Directorysubversion/trunk/subversion/include/svn_wc.h modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/conflicts.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/update_editor.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/util.c modified , text changed
Directorysubversion/trunk/subversion/svn/util.c modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26