On Tue, Apr 24, 2012 at 1:01 PM, <rhuij...@apache.org> wrote: > Author: rhuijben > Date: Tue Apr 24 18:01:23 2012 > New Revision: 1329897 > > URL: http://svn.apache.org/viewvc?rev=1329897&view=rev > Log: > Following up on r1329876, report updated files that had only their lock > removed > with a specific notify action. > > * subversion/include/svn_wc.h > (svn_wc_notify_action_t): Add value. > > * > subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java > (ClientNotifyInformation): Add value. > > * subversion/tests/cmdline/svntest/wc.py > (_re_parse_checkout): Handle B action. > > * subversion/tests/cmdline/lock_tests.py > (update_locked_deleted): Update expected output. > > * svn/notify.c > (notify): Add special action for just unlocking. > > * libsvn_wc/update_editor.c > (close_file): Use special action. > > Modified: > > subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java > subversion/trunk/subversion/include/svn_wc.h > subversion/trunk/subversion/libsvn_wc/update_editor.c > subversion/trunk/subversion/svn/notify.c > subversion/trunk/subversion/tests/cmdline/lock_tests.py > subversion/trunk/subversion/tests/cmdline/svntest/wc.py > > Modified: > subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java?rev=1329897&r1=1329896&r2=1329897&view=diff > ============================================================================== > --- > subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java > (original) > +++ > subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java > Tue Apr 24 18:01:23 2012 > @@ -546,6 +546,10 @@ public class ClientNotifyInformation ext > /** Operation skipped the path because it was conflicted */ > skip_conflicted ("skipped conflicted path");
This line should end in a comma. > > + /** The lock on a file was removed during update */ > + update_broken_lock ("broken lock removed"); > + > + > /** > * The description of the action. > */ > > Modified: subversion/trunk/subversion/include/svn_wc.h > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_wc.h?rev=1329897&r1=1329896&r2=1329897&view=diff > ============================================================================== > --- subversion/trunk/subversion/include/svn_wc.h (original) > +++ subversion/trunk/subversion/include/svn_wc.h Tue Apr 24 18:01:23 2012 > @@ -1219,7 +1219,11 @@ typedef enum svn_wc_notify_action_t > > /** The operation skipped the path because it was conflicted. > * @since New in 1.7. */ > - svn_wc_notify_skip_conflicted > + svn_wc_notify_skip_conflicted, > + > + /** Just the lock on a file was removed during update. > + * @since New in 1.8. */ > + svn_wc_notify_update_broken_lock > > } svn_wc_notify_action_t; > > > Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/update_editor.c?rev=1329897&r1=1329896&r2=1329897&view=diff > ============================================================================== > --- subversion/trunk/subversion/libsvn_wc/update_editor.c (original) > +++ subversion/trunk/subversion/libsvn_wc/update_editor.c Tue Apr 24 18:01:23 > 2012 > @@ -4582,6 +4582,11 @@ close_file(void *file_baton, > action = svn_wc_notify_update_add; > } > } > + else > + { > + SVN_ERR_ASSERT(lock_state == svn_wc_notify_lock_state_unlocked); > + action = svn_wc_notify_update_broken_lock; > + } > > /* If the file was moved-away, notify for the moved-away node. > * The original location only had its BASE info changed and > > Modified: subversion/trunk/subversion/svn/notify.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/notify.c?rev=1329897&r1=1329896&r2=1329897&view=diff > ============================================================================== > --- subversion/trunk/subversion/svn/notify.c (original) > +++ subversion/trunk/subversion/svn/notify.c Tue Apr 24 18:01:23 2012 > @@ -181,6 +181,10 @@ notify(void *baton, const svn_wc_notify_ > if ((err = svn_cmdline_printf(pool, "D %s\n", path_local))) > goto print_error; > break; > + case svn_wc_notify_update_broken_lock: > + if ((err = svn_cmdline_printf(pool, "B %s\n", path_local))) > + goto print_error; > + break; > > case svn_wc_notify_update_external_removed: > nb->received_some_change = TRUE; > > Modified: subversion/trunk/subversion/tests/cmdline/lock_tests.py > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/lock_tests.py?rev=1329897&r1=1329896&r2=1329897&view=diff > ============================================================================== > --- subversion/trunk/subversion/tests/cmdline/lock_tests.py (original) > +++ subversion/trunk/subversion/tests/cmdline/lock_tests.py Tue Apr 24 > 18:01:23 2012 > @@ -1694,9 +1694,9 @@ def update_locked_deleted(sbox): > status='D ', writelocked='O') > > expected_output = svntest.wc.State(wc_dir, { > - 'A/mu' : Item(status=' '), > - 'A/B/E/alpha' : Item(status=' '), > - 'iota' : Item(status=' '), > + 'A/mu' : Item(status='B '), > + 'A/B/E/alpha' : Item(status='B '), > + 'iota' : Item(status='B '), > }) > > svntest.actions.run_and_verify_update(wc_dir, expected_output, > > Modified: subversion/trunk/subversion/tests/cmdline/svntest/wc.py > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/wc.py?rev=1329897&r1=1329896&r2=1329897&view=diff > ============================================================================== > --- subversion/trunk/subversion/tests/cmdline/svntest/wc.py (original) > +++ subversion/trunk/subversion/tests/cmdline/svntest/wc.py Tue Apr 24 > 18:01:23 2012 > @@ -98,7 +98,7 @@ _re_parse_skipped = re.compile("^Skipped > > _re_parse_summarize = re.compile("^([MAD ][M ]) (.+)\n") > > -_re_parse_checkout = re.compile('^([RMAGCUDE_ ][MAGCUDE_ ])' > +_re_parse_checkout = re.compile('^([RMAGCUDE_ B][MAGCUDE_ ])' > '([B ])' > '([CAUD ])\s+' > '(.+)') > > -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com/