[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[RFC] WC APIs for adding and copying

From: Julian Foad <julian.foad_at_wandisco.com>
Date: Thu, 07 Oct 2010 20:34:32 +0100

I'm planning to remove/deprecate svn_wc_add4(), the many-headed beast,
and provide replacement functions that have more focused tasks.

I reached this point from trying to understand the different kinds of
add and copy in order to sort out the "operation depth" field for the
NODES table.

I drew out the call graph of all WC add and copy calls; it's attached as
a PDF and visible at
<https://docs.google.com/drawings/edit?id=1Up_5tvnKjShQL2F8GGtoIefiBDp5k4ODf1_ZxrgBJ1U&hl=en>.

Plan:

  * Remove svn_wc_add4(). Keep the deprecated svn_wc_add3() for
backward compatibility. Probably re-implement it in terms of the new
simpler functions.

  * For an add without 'copyfrom', a new function:

    svn_wc_add[4|_tree|something](depth) # any node kind

  * For a repo->WC copy:

    svn_wc_add_repos_file4() # existing function
    svn_wc_add_repos_dir(depth) # new function

  * For a WC-to-WC copy:

    svn_wc_copy3() # existing function

  * Reorganize svn_wc_copy3() internally:

    If the target should be a simple add (if the source is itself a
simple add or from a different repos), call the simple-add function.
    Copying a repository node from the WC

Any thoughts?

- Julian
Received on 2010-10-07 21:35:21 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.