subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache subversion Wiki <comm...@subversion.apache.org>
Subject [Subversion Wiki] Update of "Ev2" by brane
Date Fri, 28 Jun 2013 19:50:09 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Subversion Wiki" for change notification.

The "Ev2" page has been changed by brane:
https://wiki.apache.org/subversion/Ev2?action=diff&rev1=9&rev2=10

  The WC's update editor has a much more difficult time. There are a couple
  ways that the WC could solve this problem:
  
-  1. The incoming changes are placed into a client-side TXN. At the end
-     of the update, when `complete()` is called, the TXN becomes BASE
-     along with the regular post-update revision bump.
-  1. Each time a node is replaced (`SVN_IS_VALID_REVNUM(replaces_rev)`),
-     then the WC will set aside information about the replaced node
-     in case it needs to be accessed later.
+  1. The incoming changes are placed into a client-side TXN. At the end of the update, when
`complete()` is called, the TXN becomes BASE along with the regular post-update revision bump.
+  1. Each time a node is replaced (`SVN_IS_VALID_REVNUM(replaces_rev)`), then the WC will
set aside information about the replaced node in case it needs to be accessed later.
+  1. The WC grows a "checkpoint" feature wherein it can store an arbitrarily deep stack of
working copy states, and every update/merge/switch implicitly creates a checkpoint. This is
the most generic solution, but also the most complicated one. It does have a number of additional
benefits:
+   * Allows rollback to the working copy state (possibly including local modifications) immediately
prior to the operation, thus not losing local mods upon a broken update.
+   * Provides an "svn checkpoint" client feature.
+   * Provides infrastructure for a future "svn shelve" feature.
  
- Both the above scenarios will allow the WC to retain the original state
+ All the above scenarios will allow the WC to retain the original state
  should it be needed for a later move.
  
  == Add a "replaced node's information" struct ==

Mime
View raw message