Author: hwright
Date: Sat May 19 15:20:48 2012
New Revision: 1340499
URL: http://svn.apache.org/viewvc?rev=1340499&view=rev
Log:
On the ev2-export branch:
Bring up-to-date with trunk.
Modified:
subversion/branches/ev2-export/ (props changed)
subversion/branches/ev2-export/COMMITTERS
subversion/branches/ev2-export/subversion/include/svn_fs.h
subversion/branches/ev2-export/subversion/include/svn_wc.h
subversion/branches/ev2-export/subversion/libsvn_client/client.h
subversion/branches/ev2-export/subversion/libsvn_client/delete.c
subversion/branches/ev2-export/subversion/libsvn_client/merge.c
subversion/branches/ev2-export/subversion/libsvn_client/status.c
subversion/branches/ev2-export/subversion/libsvn_fs/editor.c
subversion/branches/ev2-export/subversion/libsvn_repos/replay.c
subversion/branches/ev2-export/subversion/svn/status-cmd.c
subversion/branches/ev2-export/subversion/tests/cmdline/stat_tests.py
subversion/branches/ev2-export/tools/client-side/bash_completion
Propchange: subversion/branches/ev2-export/
------------------------------------------------------------------------------
Merged /subversion/trunk:r1339905-1340498
Modified: subversion/branches/ev2-export/COMMITTERS
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/COMMITTERS?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/COMMITTERS [UTF-8] (original)
+++ subversion/branches/ev2-export/COMMITTERS [UTF-8] Sat May 19 15:20:48 2012
@@ -201,6 +201,7 @@ giorgio_valoti Giorgio Valoti <giorgio
br.)
holden Holden Karau <[email protected]> (scheme-bindings
br.)
moklo Morten Kloster <[email protected]>
(diff-improvements br.)
+ vmpn Vladimir Berezniker <[email protected]> (javahl-ra br.)
Subprojects that are complete, abandoned or have moved elsewhere:
Modified: subversion/branches/ev2-export/subversion/include/svn_fs.h
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/svn_fs.h?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/svn_fs.h (original)
+++ subversion/branches/ev2-export/subversion/include/svn_fs.h Sat May 19
15:20:48 2012
@@ -1639,7 +1639,6 @@ svn_fs_copied_from(svn_revnum_t *rev_p,
/** Set @a *root_p and @a *path_p to the revision root and path of the
* destination of the most recent copy event that caused @a path to
* exist where it does in @a root, or to NULL if no such copy exists.
- * When non-NULL, allocate @a *root_p and @a *path_p in @a pool.
*
* @a *path_p might be a parent of @a path, rather than @a path
* itself. However, it will always be the deepest relevant path.
@@ -1647,6 +1646,9 @@ svn_fs_copied_from(svn_revnum_t *rev_p,
* this function makes sure to set @a *path_p to the longest copy
* destination path that is still a parent of or equal to @a path.
*
+ * Values returned in @a *root_p and @a *path_p will be allocated
+ * from @a pool.
+ *
* @since New in 1.3.
*/
svn_error_t *
Modified: subversion/branches/ev2-export/subversion/include/svn_wc.h
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/svn_wc.h?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/svn_wc.h (original)
+++ subversion/branches/ev2-export/subversion/include/svn_wc.h Sat May 19
15:20:48 2012
@@ -6674,7 +6674,8 @@ svn_wc_merge5(enum svn_wc_merge_outcome_
* @since New in 1.7.
* @deprecated Provided for backwards compatibility with the 1.7 API.
*/
-SVN_DEPRECATED svn_error_t *
+SVN_DEPRECATED
+svn_error_t *
svn_wc_merge4(enum svn_wc_merge_outcome_t *merge_outcome,
svn_wc_context_t *wc_ctx,
const char *left_abspath,
Modified: subversion/branches/ev2-export/subversion/libsvn_client/client.h
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/libsvn_client/client.h?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/libsvn_client/client.h (original)
+++ subversion/branches/ev2-export/subversion/libsvn_client/client.h Sat May 19
15:20:48 2012
@@ -384,21 +384,6 @@ svn_client__ra_make_cb_baton(svn_wc_cont
apr_hash_t *relpath_map,
apr_pool_t *result_pool);
-
-/* ---------------------------------------------------------------- */
-
-/*** Status ***/
-
-/* Verify that the path can be deleted without losing stuff,
- i.e. ensure that there are no modified or unversioned resources
- under PATH. This is similar to checking the output of the status
- command. CTX is used for the client's config options. POOL is
- used for all temporary allocations. */
-svn_error_t * svn_client__can_delete(const char *path,
- svn_client_ctx_t *ctx,
- apr_pool_t *pool);
-
-
/* ---------------------------------------------------------------- */
/*** Add/delete ***/
Modified: subversion/branches/ev2-export/subversion/libsvn_client/delete.c
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/libsvn_client/delete.c?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/libsvn_client/delete.c (original)
+++ subversion/branches/ev2-export/subversion/libsvn_client/delete.c Sat May 19
15:20:48 2012
@@ -47,12 +47,12 @@
/*** Code. ***/
-/* An svn_client_status_func_t callback function for finding
+/* An svn_wc_status_func4_t callback function for finding
status structures which are not safely deletable. */
static svn_error_t *
find_undeletables(void *baton,
const char *path,
- const svn_client_status_t *status,
+ const svn_wc_status3_t *status,
apr_pool_t *pool)
{
/* Check for error-ful states. */
@@ -80,20 +80,19 @@ find_undeletables(void *baton,
return SVN_NO_ERROR;
}
-
-svn_error_t *
-svn_client__can_delete(const char *path,
- svn_client_ctx_t *ctx,
- apr_pool_t *scratch_pool)
+/* Verify that the path can be deleted without losing stuff,
+ i.e. ensure that there are no modified or unversioned resources
+ under PATH. This is similar to checking the output of the status
+ command. CTX is used for the client's config options. POOL is
+ used for all temporary allocations. */
+static svn_error_t *
+can_delete_node(const char *local_abspath,
+ svn_client_ctx_t *ctx,
+ apr_pool_t *scratch_pool)
{
- svn_opt_revision_t revision;
svn_node_kind_t external_kind;
const char *defining_abspath;
- const char* local_abspath;
-
- revision.kind = svn_opt_revision_unspecified;
-
- SVN_ERR(svn_dirent_get_absolute(&local_abspath, path, scratch_pool));
+ apr_array_header_t *ignores;
/* A file external should not be deleted since the file external is
implemented as a switched file and it would delete the file the
@@ -121,11 +120,19 @@ svn_client__can_delete(const char *path,
status callback function find_undeletables() makes the
determination, returning an error if it finds anything that shouldn't
be deleted. */
- return svn_error_trace(svn_client_status5(NULL, ctx, path, &revision,
- svn_depth_infinity, FALSE,
- FALSE, FALSE, FALSE, FALSE,
- NULL,
+
+ SVN_ERR(svn_wc_get_default_ignores(&ignores, ctx->config, scratch_pool));
+
+ return svn_error_trace(svn_wc_walk_status(ctx->wc_ctx,
+ local_abspath,
+ svn_depth_infinity,
+ FALSE /* get_all */,
+ FALSE /* no_ignore */,
+ FALSE /* ignore_text_mod */,
+ ignores,
find_undeletables, NULL,
+ ctx->cancel_func,
+ ctx->cancel_baton,
scratch_pool));
}
@@ -318,7 +325,7 @@ svn_client__wc_delete(const char *path,
if (!force && !keep_local)
/* Verify that there are no "awkward" files */
- SVN_ERR(svn_client__can_delete(local_abspath, ctx, pool));
+ SVN_ERR(can_delete_node(local_abspath, ctx, pool));
if (!dry_run)
/* Mark the entry for commit deletion and perform wc deletion */
@@ -354,7 +361,7 @@ svn_client__wc_delete_many(const apr_arr
if (!force && !keep_local)
/* Verify that there are no "awkward" files */
- SVN_ERR(svn_client__can_delete(local_abspath, ctx, pool));
+ SVN_ERR(can_delete_node(local_abspath, ctx, pool));
}
if (!dry_run)
Modified: subversion/branches/ev2-export/subversion/libsvn_client/merge.c
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/libsvn_client/merge.c?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/libsvn_client/merge.c (original)
+++ subversion/branches/ev2-export/subversion/libsvn_client/merge.c Sat May 19
15:20:48 2012
@@ -83,24 +83,78 @@
*
* We use svn_ra_get_location_segments() to split a given range of
* revisions across an object's history into several which obey these
- * rules. For example, a merge between r19500 and r27567 of
- * Subversion's own /tags/1.4.5 directory gets split into sequential
- * merges of the following location pairs:
+ * rules. For example, an extract from the log of Subversion's own
+ * /subversion/tags/1.4.5 directory shows the following copies between
+ * r859500 and r866500 (omitting the '/subversion' prefix for clarity):
+ *
+ * r859598:
+ * A /branches/1.4.x (from /trunk:859597)
+ *
+ * r865417:
+ * A /tags/1.4.4 (from /branches/1.4.x:865262)
+ * # Notice that this copy leaves a gap between 865262 and 865417.
+ *
+ * r866420:
+ * A /branches/1.4.5 (from /tags/1.4.4:866419)
+ *
+ * r866425:
+ * D /branches/1.4.5
+ * A /tags/1.4.5 (from /branches/1.4.5:866424)
+ *
+ * In graphical form:
+ *
+ * 859500 859597 865262 866419 866424 866500
+ * . . . . . .
+ * trunk ------------------------------------------------
+ * \ . . .
+ * branches/1.4.x A-------------------------------------
+ * . \______ . .
+ * . \ . .
+ * tags/1.4.4 . A-----------------------
+ * . . \ .
+ * branches/1.4.5 . . A------D
+ * . . . \.
+ * tags/1.4.5 . . . A---------
+ * . . . .
+ * 859598 865417 866420 866425
+ *
+ * A merge of the difference between r859500 and r866500 of this directory
+ * gets split into sequential merges of the following location pairs.
+ *
+ * 859500 859597 865262 865416 866419 866424 866500
+ * . . . . . . .
+ * trunk (======] . . . . .
+ * . . . . .
+ * trunk ( . . . . .
+ * branches/1.4.x ======] . . . .
+ * . . . .
+ * branches/1.4.x ( . . . .
+ * tags/1.4.4 =============] . .
+ * implicit_src_gap (======] . . .
+ * . . .
+ * tags/1.4.4 ( . .
+ * branches/1.4.5 ======] .
+ * . .
+ * branches/1.4.5 ( .
+ * tags/1.4.5 ======]
+ *
+ * which are represented in merge_source_t as:
+ *
+ * [/trunk:859500, /trunk:859597]
+ * (recorded in svn:mergeinfo as /trunk:859501-859597)
+ *
+ * [/trunk:859597, /branches/1.4.x:865262]
+ * (recorded in svn:mergeinfo as /branches/1.4.x:859598-865262)
+ *
+ * [/branches/1.4.x:865262, /tags/1.4.4@866419]
+ * (recorded in svn:mergeinfo as /tags/1.4.4:865263-866419)
+ * (and there is a gap, the revision range [865262, 865416])
*
- * [/trunk:19549, /trunk:19523]
- * (recorded in svn:mergeinfo as /trunk:19500-19523)
+ * [/tags/1.4.4@866419, /branches/1.4.5@866424]
+ * (recorded in svn:mergeinfo as /branches/1.4.5:866420-866424)
*
- * [/trunk:19523, /branches/1.4.x:25188]
- * (recorded in svn:mergeinfo as /branches/1.4.x:19524-25188)
- *
- * [/branches/1.4.x:25188, /tags/1.4.4@26345]
- * (recorded in svn:mergeinfo as /tags/1.4.4:25189-26345)
- *
- * [/tags/1.4.4@26345, /branches/1.4.5@26350]
- * (recorded in svn:mergeinfo as /branches/1.4.5:26346-26350)
- *
- * [/branches/1.4.5@26350, /tags/1.4.5@27567]
- * (recorded in svn:mergeinfo as /tags/1.4.5:26351-27567)
+ * [/branches/1.4.5@866424, /tags/1.4.5@866500]
+ * (recorded in svn:mergeinfo as /tags/1.4.5:866425-866500)
*
* Our helper functions would then operate on one of these location
* pairs at a time.
@@ -4194,18 +4248,18 @@ calculate_remaining_ranges(svn_client__m
SOURCE is cascaded from the arguments of the same name in
populate_remaining_ranges().
- Note: The following comments assume a forward merge, i.e. SOURCE->rev1
- < SOURCE->rev2. If this is a reverse merge then all the following
- comments still apply, but with SOURCE->url1 switched with SOURCE->url2
- and SOURCE->rev1 switched with SOURCE->rev2.
+ Note: The following comments assume a forward merge, i.e.
+ SOURCE->loc1->rev < SOURCE->loc2->rev. If this is a reverse merge then
+ all the following comments still apply, but with SOURCE->loc1 switched
+ with SOURCE->loc2.
Like populate_remaining_ranges(), SOURCE must adhere to the restrictions
documented in 'MERGEINFO MERGE SOURCE NORMALIZATION'. These restrictions
- allow for a *single* gap, URL@GAP_REV1:URL2@GAP_REV2, (where SOURCE->rev1
- < GAP_REV1 <= GAP_REV2 < SOURCE->rev2) in SOURCE if SOURCE->url2@rev2 was
- copied from SOURCE->url1@rev1. If such a gap exists, set *GAP_START and
- *GAP_END to the starting and ending revisions of the gap. Otherwise set
- both to SVN_INVALID_REVNUM.
+ allow for a *single* gap in SOURCE, GAP_REV1:GAP_REV2 exclusive:inclusive
+ (where SOURCE->loc1->rev == GAP_REV1 <= GAP_REV2 < SOURCE->loc2->rev),
+ if SOURCE->loc2->url@(GAP_REV2+1) was copied from SOURCE->loc1. If such
+ a gap exists, set *GAP_START and *GAP_END to the starting and ending
+ revisions of the gap. Otherwise set both to SVN_INVALID_REVNUM.
For example, if the natural history of URL@2:URL@9 is 'trunk/:2,7-9' this
would indicate that trunk@7 was copied from trunk@2. This function would
@@ -4213,6 +4267,9 @@ calculate_remaining_ranges(svn_client__m
might exist at r3-6, but it would not be on the same line of history as
trunk@9.
+ ### GAP_START is basically redundant, as (if there is a gap at all) it is
+ necessarily the older revision of SOURCE.
+
RA_SESSION is an open RA session to the repository in which SOURCE lives.
*/
static svn_error_t *
@@ -4231,6 +4288,8 @@ find_gaps_in_merge_source_history(svn_re
scratch_pool);
apr_array_header_t *rangelist;
+ SVN_ERR_ASSERT(source->ancestral);
+
/* Start by assuming there is no gap. */
*gap_start = *gap_end = SVN_INVALID_REVNUM;
@@ -4308,6 +4367,9 @@ find_gaps_in_merge_source_history(svn_re
}
}
+ SVN_ERR_ASSERT(*gap_start == MIN(source->loc1->rev, source->loc2->rev)
+ || (*gap_start == SVN_INVALID_REVNUM
+ && *gap_end == SVN_INVALID_REVNUM));
return SVN_NO_ERROR;
}
Modified: subversion/branches/ev2-export/subversion/libsvn_client/status.c
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/libsvn_client/status.c?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/libsvn_client/status.c (original)
+++ subversion/branches/ev2-export/subversion/libsvn_client/status.c Sat May 19
15:20:48 2012
@@ -292,40 +292,51 @@ svn_client_status5(svn_revnum_t *result_
sb.wc_ctx = ctx->wc_ctx;
SVN_ERR(svn_dirent_get_absolute(&target_abspath, path, pool));
- {
- svn_node_kind_t kind;
- SVN_ERR(svn_wc_read_kind(&kind, ctx->wc_ctx, target_abspath, FALSE, pool));
+ if (update)
+ {
+ /* The status editor only works on directories, so get the ancestor
+ if necessary */
+
+ svn_node_kind_t kind;
+
+ SVN_ERR(svn_wc_read_kind(&kind, ctx->wc_ctx, target_abspath, FALSE,
+ pool));
- /* Dir must be a working copy directory or the status editor fails */
- if (kind == svn_node_dir)
- {
- dir_abspath = target_abspath;
- target_basename = "";
- dir = path;
- }
- else
- {
- dir_abspath = svn_dirent_dirname(target_abspath, pool);
- target_basename = svn_dirent_basename(target_abspath, NULL);
- dir = svn_dirent_dirname(path, pool);
-
- if (kind != svn_node_file)
- {
- err = svn_wc_read_kind(&kind, ctx->wc_ctx, dir_abspath, FALSE,
- pool);
-
- svn_error_clear(err);
-
- if (err || kind != svn_node_dir)
- {
- return svn_error_createf(SVN_ERR_WC_NOT_WORKING_COPY, NULL,
- _("'%s' is not a working copy"),
- svn_dirent_local_style(path, pool));
- }
- }
- }
- }
+ /* Dir must be a working copy directory or the status editor fails */
+ if (kind == svn_node_dir)
+ {
+ dir_abspath = target_abspath;
+ target_basename = "";
+ dir = path;
+ }
+ else
+ {
+ dir_abspath = svn_dirent_dirname(target_abspath, pool);
+ target_basename = svn_dirent_basename(target_abspath, NULL);
+ dir = svn_dirent_dirname(path, pool);
+
+ if (kind != svn_node_file)
+ {
+ err = svn_wc_read_kind(&kind, ctx->wc_ctx, dir_abspath, FALSE,
+ pool);
+
+ svn_error_clear(err);
+
+ if (err || kind != svn_node_dir)
+ {
+ return svn_error_createf(SVN_ERR_WC_NOT_WORKING_COPY, NULL,
+ _("'%s' is not a working copy"),
+ svn_dirent_local_style(path, pool));
+ }
+ }
+ }
+ }
+ else
+ {
+ dir = path;
+ dir_abspath = target_abspath;
+ }
if (svn_dirent_is_absolute(dir))
{
Modified: subversion/branches/ev2-export/subversion/libsvn_fs/editor.c
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/libsvn_fs/editor.c?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/libsvn_fs/editor.c (original)
+++ subversion/branches/ev2-export/subversion/libsvn_fs/editor.c Sat May 19
15:20:48 2012
@@ -34,6 +34,8 @@
#include "fs-loader.h"
+#include "private/svn_fspath.h"
+
struct edit_baton {
/* The transaction associated with this editor. */
@@ -269,21 +271,56 @@ can_modify(svn_fs_root_t *txn_root,
/* Can we create a node at FSPATH in TXN_ROOT? If something already exists
- at that path, then the client is out of date. */
+ at that path, then the client MAY be out of date. We then have to see if
+ the path was created/modified in this transaction. IOW, it is new and
+ can be replaced without problem.
+
+ Note: the editor protocol disallows double-modifications. This is to
+ ensure somebody does not accidentally overwrite another file due to
+ being out-of-date. */
static svn_error_t *
can_create(svn_fs_root_t *txn_root,
const char *fspath,
apr_pool_t *scratch_pool)
{
svn_node_kind_t kind;
+ const char *cur_fspath;
SVN_ERR(svn_fs_check_path(&kind, txn_root, fspath, scratch_pool));
- if (kind != svn_node_none)
- return svn_error_createf(SVN_ERR_FS_OUT_OF_DATE, NULL,
- _("'%s' already exists, so may be out"
- " of date; try updating"),
- fspath);
- return SVN_NO_ERROR;
+ if (kind == svn_node_none)
+ return SVN_NO_ERROR;
+
+ /* ### I'm not sure if this works perfectly. We might have an ancestor
+ ### that was modified as a result of a change on a cousin. We might
+ ### misinterpret that as a *-here node which brought along this
+ ### child. Need to write a test to verify. We may also be able to
+ ### test the ancestor to determine if it has been *-here in this
+ ### txn, or just a simple modification. */
+
+ /* Are any of the parents copied/moved/rotated-here? */
+ for (cur_fspath = fspath;
+ strlen(cur_fspath) > 1; /* not the root */
+ cur_fspath = svn_fspath__dirname(cur_fspath, scratch_pool))
+ {
+ svn_revnum_t created_rev;
+
+ SVN_ERR(svn_fs_node_created_rev(&created_rev, txn_root, cur_fspath,
+ scratch_pool));
+ if (!SVN_IS_VALID_REVNUM(created_rev))
+ {
+ /* The node has no created revision, meaning it is uncommitted.
+ Thus, it was created in this transaction, or it has already
+ been modified in some way (implying it has already passed a
+ modification check. */
+ /* ### verify the node has been *-here ?? */
+ return SVN_NO_ERROR;
+ }
+ }
+
+ return svn_error_createf(SVN_ERR_FS_OUT_OF_DATE, NULL,
+ _("'%s' already exists, so may be out"
+ " of date; try updating"),
+ fspath);
}
Modified: subversion/branches/ev2-export/subversion/libsvn_repos/replay.c
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/libsvn_repos/replay.c?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/libsvn_repos/replay.c (original)
+++ subversion/branches/ev2-export/subversion/libsvn_repos/replay.c Sat May 19
15:20:48 2012
@@ -35,6 +35,7 @@
#include "svn_path.h"
#include "svn_private_config.h"
#include "private/svn_fspath.h"
+#include "private/svn_repos_private.h"
/*** Backstory ***/
Modified: subversion/branches/ev2-export/subversion/svn/status-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/svn/status-cmd.c?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/svn/status-cmd.c (original)
+++ subversion/branches/ev2-export/subversion/svn/status-cmd.c Sat May 19
15:20:48 2012
@@ -349,7 +349,7 @@ svn_cl__status(apr_getopt_t *os,
NULL, opt_state->quiet,
/* not versioned: */
SVN_ERR_WC_NOT_WORKING_COPY,
- SVN_NO_ERROR));
+ SVN_ERR_WC_PATH_NOT_FOUND));
if (opt_state->xml)
SVN_ERR(print_finish_target_xml(repos_rev, iterpool));
Modified: subversion/branches/ev2-export/subversion/tests/cmdline/stat_tests.py
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/tests/cmdline/stat_tests.py?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/tests/cmdline/stat_tests.py
(original)
+++ subversion/branches/ev2-export/subversion/tests/cmdline/stat_tests.py Sat
May 19 15:20:48 2012
@@ -814,12 +814,9 @@ def status_on_unversioned_dotdot(sbox):
os.mkdir(new_subsub)
os.chdir(new_subsub)
- exit_code, out, err = svntest.main.run_svn(1, 'st', '..')
- for line in err:
- if line.find('svn: warning: W155007: \'..\' is not a working copy') != -1:
- break
- else:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn2(None, None,
+ "svn: warning: W155(010|007):.*'.*'.*not",
+ 0, 'st', '..')
#----------------------------------------------------------------------
Modified: subversion/branches/ev2-export/tools/client-side/bash_completion
URL:
http://svn.apache.org/viewvc/subversion/branches/ev2-export/tools/client-side/bash_completion?rev=1340499&r1=1340498&r2=1340499&view=diff
==============================================================================
--- subversion/branches/ev2-export/tools/client-side/bash_completion (original)
+++ subversion/branches/ev2-export/tools/client-side/bash_completion Sat May 19
15:20:48 2012
@@ -479,7 +479,7 @@ _svn()
[[ $previous = '--extensions' || $previous = '-x' ]] && \
values="--unified --ignore-space-change \
- --ignore-all-space --ignore-eol-style"
+ --ignore-all-space --ignore-eol-style --show-c-functions"
[[ $previous = '--depth' ]] && \
values='empty files immediates infinity'
@@ -494,8 +494,8 @@ _svn()
# from svn help resolve
values='base working mine-full theirs-full'
else # checkout merge switch update
- # not implemented yet: mine-conflict theirs-conflict
- values='postpone base mine-full theirs-full edit launch'
+ values="postpone base mine-full theirs-full edit launch \
+ mine-conflict theirs-conflict"
fi
}
@@ -889,7 +889,8 @@ _svn()
--parents"
;;
patch)
- cmdOpts="$qOpts $pOpts --dry-run --ignore-whitespace
--reverse-diff --strip"
+ cmdOpts="$qOpts $pOpts --dry-run --ignore-whitespace \
+ --reverse-diff --strip"
;;
propdel|pdel|pd)
cmdOpts="$qOpts -R --recursive $rOpts $pOpts $cOpts \