Checkout
rhuijben
committed
on 15 Feb 14
Make it possible to clear changelists while reverting nodes by updating the
svn_client_revert2 api.

While this might look like a separate o… Show more
Make it possible to clear changelists while reverting nodes by updating the

svn_client_revert2 api.

While this might look like a separate operation, revert does quite some work

to preserve existing changelists during reverts. Making this optional makes

the common revert code more efficient, while at the same time helping GUI

clients that use changelists only for marking changes.

* subversion/include/svn_client.h

 (svn_client_revert3): New function.

 (svn_client_revert2): Deprecate function.

 (svn_client_revert): Use @deprecate as we do it now.

* subversion/include/svn_wc.h

 (svn_wc_revert5): New function.

 (svn_wc_revert4): Deprecate function.

* subversion/libsvn_client/deprecated.c

 (svn_client_revert2): New function.

* subversion/libsvn_client/revert.c

 (revert_with_write_lock_baton): Add variable.

 (revert): Update caller.

 (svn_client_revert2): Rename to ...

 (svn_client_revert3): ... this. Add argument. Update caller.

* subversion/libsvn_wc/deprecated.c

 (svn_wc_revert4): New function.

* subversion/libsvn_wc/revert.c

 (svn_wc__revert_internal): Rename to...

 (revert): ... this. Make static and add argument. Update caller.

 (revert_changelist,

  revert_partial): Add argument. Update caller.

 (svn_wc_revert4): Rename to ...

 (svn_wc_revert5): ... this. Update caller.

* subversion/libsvn_wc/wc.h

 (svn_wc__revert_internal): Remove function that is only used in revert.c.

* subversion/libsvn_wc/wc_db.c

 (revert_baton_t): New struct.

 (op_revert_txn): Use new baton. Handle complete ACTUAL delete.

 (op_revert_recursive_txn): Use baton. Handle complete ACTUAL deletes.

 (svn_wc__db_op_revert): Add argument. Update caller.

* subversion/libsvn_wc/wc_db.h

 (svn_wc__db_op_revert): Add argument.

Show less