This commit caused some new code to be added to svn_wc_add(), and very
similar code to be added to svn_wc_delete(). The same code will
probably also be useful elsewhere. I'm planning to factor it into a
function which takes an existing access baton E and a path under it
somewhere, and
- retrieves a new baton for path from E if available, or else
- creates a new baton for path, and adds it to E
...since this is what we want to do in various places.
I'm noting this here, just in case anyone (Philip) has comments on the
recent commit or on the plan :-).
-Karl
kfogel@tigris.org writes:
> With Mike Pilato, fix issue #1245: Some operations were obtaining a
> full tree lock when they only needed a local lock, and some were
> chmod'ing administrative files more often than necessary. Together,
> these meant that we were doing many more syscalls than necessary.
>
> * subversion/libsvn_client/add.c
> (svn_client_add): Don't request a tree_lock when svn_wc_adm_open'ing
> the parent directory -- we're only adding an entry at the top
> level, so there's no need to lock recursively.
>
> * subversion/libsvn_wc/adm_ops.c
> (svn_wc_add, svn_wc_delete): Be more resourceful in obtaining access
> batons, but only acquire a tree lock if it's actually needed.
>
> * subversion/libsvn_client/delete.c
> (svn_client__can_delete): Be more resourceful in obtaining an access
> baton.
> (svn_client__delete): Don't tree lock the parent of the target.
>
> * subversion/libsvn_client/diff.c
> (do_diff): Don't take out a tree lock unless necessary.
>
> * subversion/libsvn_subr/io.c
> (svn_io_remove_file): Don't chmod the path; instead, depend on
> callers to know what they're about.
>
> * subversion/include/svn_wc.h
> (svn_wc_statuses): Doc fix.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Apr 18 00:33:35 2003