You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2010/02/03 16:37:41 UTC

svn commit: r906091 - /subversion/trunk/subversion/include/svn_client.h

Author: julianfoad
Date: Wed Feb  3 15:37:40 2010
New Revision: 906091

URL: http://svn.apache.org/viewvc?rev=906091&view=rev
Log:
Document the behaviour of libsvn_client functions with respect to
ignoring filename patterns, and particularly their 'no_ignore' options.

* subversion/include/svn_client.h
  (svn_client_add4, svn_client_import3, svn_client_status5): Expand doc
    strings.

Modified:
    subversion/trunk/subversion/include/svn_client.h

Modified: subversion/trunk/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_client.h?rev=906091&r1=906090&r2=906091&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_client.h (original)
+++ subversion/trunk/subversion/include/svn_client.h Wed Feb  3 15:37:40 2010
@@ -1365,8 +1365,14 @@
  * @a ctx->notify_func2 with @a ctx->notify_baton2 and the path of the
  * added item.
  *
- * If @a no_ignore is FALSE, don't add files or directories that match
- * ignore patterns.
+ * If @a no_ignore is FALSE, don't add any file or directory (or recurse
+ * into any directory) that is unversioned and found by recursion (as
+ * opposed to being the explicit target @a path) and whose name matches the
+ * svn:ignore property on its parent directory or the global-ignores list in
+ * @a ctx->config. If @a no_ignore is TRUE, do include such files and
+ * directories. (Note that an svn:ignore property can influence this
+ * behaviour only when recursing into an already versioned directory with @a
+ * force.)
  *
  * If @a add_parents is TRUE, recurse up @a path's directory and look for
  * a versioned directory.  If found, add all intermediate paths between it
@@ -1608,6 +1614,11 @@
  * commit, allocated in @a pool.  If some components of @a url do not exist
  * then create parent directories as necessary.
  *
+ * This function reads an unversioned tree from disk and skips any ".svn"
+ * directories. Even if a file or directory being imported is part of an
+ * existing WC, this function sees it as unversioned and does not notice any
+ * existing Subversion properties in it.
+ *
  * If @a path is a directory, the contents of that directory are
  * imported directly into the directory identified by @a url.  Note that the
  * directory @a path itself is not imported -- that is, the basename of
@@ -1640,8 +1651,14 @@
  * underneath those subdirectories).  If #svn_depth_infinity, import
  * @a path and everything under it fully recursively.
  *
- * If @a no_ignore is @c FALSE, don't add files or directories that match
- * ignore patterns.
+ * If @a no_ignore is @c FALSE, don't import any file or directory (or
+ * recurse into any directory) that is found by recursion (as opposed to
+ * being the explicit target @a path) and whose name matches the
+ * global-ignores list in @a ctx->config. If @a no_ignore is @c TRUE, do
+ * include such files and directories. (Note that svn:ignore properties are
+ * not involved, as auto-props cannot set properties on directories and even
+ * if the target is part of a WC the import ignores any existing
+ * properties.)
  *
  * If @a ignore_unknown_node_types is @c FALSE, ignore files of which the
  * node type is unknown, such as device files and pipes.
@@ -1841,6 +1858,13 @@
  *      working copy was compared (@a *result_rev is not meaningful unless
  *      @a update is set).
  *
+ * If @a no_ignore is @c FALSE, don't report any file or directory (or
+ * recurse into any directory) that is found by recursion (as opposed to
+ * being the explicit target @a path) and whose name matches the
+ * svn:ignore property on its parent directory or the global-ignores
+ * list in @a ctx->config. If @a no_ignore is @c TRUE, report each such
+ * file or directory with the status code #svn_wc_status_ignored.
+ *
  * If @a ignore_externals is not set, then recurse into externals
  * definitions (if any exist) after handling the main target.  This
  * calls the client notification function (in @a ctx) with the