You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2013/07/09 06:00:09 UTC
svn commit: r1501061 - in /subversion/branches/1.8.x: ./ STATUS
subversion/svn/conflict-callbacks.c
Author: svn-role
Date: Tue Jul 9 04:00:09 2013
New Revision: 1501061
URL: http://svn.apache.org/r1501061
Log:
Merge the r1491739 group from trunk:
* r1491739, r1491755, r1491762, r1492152
Improve interactive conflict resolution menu.
Justification:
The current menu is too hard to figure out for users.
See http://svn.haxx.se/dev/archive-2013-06/0147.shtml
and http://blog.elegosoft.com/?q=updating-moves-in-subversion-18-just-ask
Votes:
+1: stsp, danielsh, ivan
Modified:
subversion/branches/1.8.x/ (props changed)
subversion/branches/1.8.x/STATUS
subversion/branches/1.8.x/subversion/svn/conflict-callbacks.c
Propchange: subversion/branches/1.8.x/
------------------------------------------------------------------------------
Merged /subversion/trunk:r1491739,1491755,1491762,1492152
Modified: subversion/branches/1.8.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/STATUS?rev=1501061&r1=1501060&r2=1501061&view=diff
==============================================================================
--- subversion/branches/1.8.x/STATUS (original)
+++ subversion/branches/1.8.x/STATUS Tue Jul 9 04:00:09 2013
@@ -120,15 +120,6 @@ Veto-blocked changes:
Approved changes:
=================
- * r1491739, r1491755, r1491762, r1492152
- Improve interactive conflict resolution menu.
- Justification:
- The current menu is too hard to figure out for users.
- See http://svn.haxx.se/dev/archive-2013-06/0147.shtml
- and http://blog.elegosoft.com/?q=updating-moves-in-subversion-18-just-ask
- Votes:
- +1: stsp, danielsh, ivan
-
* r1500074
Format a path correctly in an error message.
Justification:
Modified: subversion/branches/1.8.x/subversion/svn/conflict-callbacks.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/svn/conflict-callbacks.c?rev=1501061&r1=1501060&r2=1501061&view=diff
==============================================================================
--- subversion/branches/1.8.x/subversion/svn/conflict-callbacks.c (original)
+++ subversion/branches/1.8.x/subversion/svn/conflict-callbacks.c Tue Jul 9 04:00:09 2013
@@ -453,7 +453,7 @@ static const resolver_option_t text_conf
-1 },
{ "df", N_("show diff"), N_("show all changes made to merged file"),
-1 },
- { "r", N_("resolved"), N_("accept merged version of file"),
+ { "r", N_("mark resolved"), N_("accept merged version of file"),
svn_wc_conflict_choose_merged },
{ "", "", "", svn_wc_conflict_choose_unspecified },
{ "dc", N_("display conflict"), N_("show all conflicts "
@@ -473,13 +473,13 @@ static const resolver_option_t text_conf
"(same) [theirs-full]"),
svn_wc_conflict_choose_theirs_full },
{ "", "", "", svn_wc_conflict_choose_unspecified },
- { "p", N_("postpone"), N_("mark the conflict to be resolved later"
- " [postpone]"),
- svn_wc_conflict_choose_postpone },
{ "m", N_("merge"), N_("use internal merge tool to resolve "
"conflict"), -1 },
{ "l", N_("launch tool"), N_("launch external tool to resolve "
"conflict [launch]"), -1 },
+ { "p", N_("postpone"), N_("mark the conflict to be resolved later"
+ " [postpone]"),
+ svn_wc_conflict_choose_postpone },
{ "q", N_("quit resolution"), N_("postpone all remaining conflicts"),
svn_wc_conflict_choose_postpone },
{ "s", N_("show all options"), N_("show this list (also 'h', '?')"), -1 },
@@ -489,9 +489,6 @@ static const resolver_option_t text_conf
/* Resolver options for a property conflict */
static const resolver_option_t prop_conflict_options[] =
{
- { "p", N_("postpone"), N_("mark the conflict to be resolved later"
- " [postpone]"),
- svn_wc_conflict_choose_postpone },
{ "mf", N_("my version"), N_("accept my version of entire file (even "
"non-conflicts) [mine-full]"),
svn_wc_conflict_choose_mine_full },
@@ -501,8 +498,11 @@ static const resolver_option_t prop_conf
{ "dc", N_("display conflict"), N_("show conflicts in this property"), -1 },
{ "e", N_("edit property"), N_("change merged property value in an editor"
" [edit]"), -1 },
- { "r", N_("resolved"), N_("accept edited version of property"),
+ { "r", N_("mark resolved"), N_("accept edited version of property"),
svn_wc_conflict_choose_merged },
+ { "p", N_("postpone"), N_("mark the conflict to be resolved later"
+ " [postpone]"),
+ svn_wc_conflict_choose_postpone },
{ "q", N_("quit resolution"), N_("postpone all remaining conflicts"),
svn_wc_conflict_choose_postpone },
{ "h", N_("help"), N_("show this help (also '?')"), -1 },
@@ -512,15 +512,15 @@ static const resolver_option_t prop_conf
/* Resolver options for an obstructued addition */
static const resolver_option_t obstructed_add_options[] =
{
- { "p", N_("postpone"), N_("mark the conflict to be resolved later"
- " [postpone]"),
- svn_wc_conflict_choose_postpone },
{ "mf", N_("my version"), N_("accept pre-existing item (ignore "
"upstream addition) [mine-full]"),
svn_wc_conflict_choose_mine_full },
{ "tf", N_("their version"), N_("accept incoming item (overwrite "
"pre-existing item) [theirs-full]"),
svn_wc_conflict_choose_theirs_full },
+ { "p", N_("postpone"), N_("mark the conflict to be resolved later"
+ " [postpone]"),
+ svn_wc_conflict_choose_postpone },
{ "q", N_("quit resolution"), N_("postpone all remaining conflicts"),
svn_wc_conflict_choose_postpone },
{ "h", N_("help"), N_("show this help (also '?')"), -1 },
@@ -530,10 +530,10 @@ static const resolver_option_t obstructe
/* Resolver options for a tree conflict */
static const resolver_option_t tree_conflict_options[] =
{
+ { "r", N_("mark resolved"), N_("accept current working copy state"),
+ svn_wc_conflict_choose_merged },
{ "p", N_("postpone"), N_("resolve the conflict later [postpone]"),
svn_wc_conflict_choose_postpone },
- { "r", N_("resolved"), N_("accept current working copy state"),
- svn_wc_conflict_choose_merged },
{ "q", N_("quit resolution"), N_("postpone all remaining conflicts"),
svn_wc_conflict_choose_postpone },
{ "h", N_("help"), N_("show this help (also '?')"), -1 },
@@ -542,30 +542,46 @@ static const resolver_option_t tree_conf
static const resolver_option_t tree_conflict_options_update_moved_away[] =
{
- { "p", N_("postpone"), N_("resolve the conflict later [postpone]"),
- svn_wc_conflict_choose_postpone },
- { "mc", N_("my side of conflict"), N_("apply update to the move destination"
- " [mine-conflict]"),
+ { "mc", N_("apply update (recommended)"),
+ N_("apply update to the move destination"
+ " [mine-conflict]"),
svn_wc_conflict_choose_mine_conflict },
- { "r", N_("resolved"), N_("mark resolved "
- "(the move will become a copy)"),
+ { "r", N_("discard update (breaks move)"), N_("discard update, mark "
+ "resolved, the move will "
+ "will become a copy"),
svn_wc_conflict_choose_merged },
+ { "p", N_("postpone"), N_("resolve the conflict later [postpone]"),
+ svn_wc_conflict_choose_postpone },
{ "q", N_("quit resolution"), N_("postpone all remaining conflicts"),
svn_wc_conflict_choose_postpone },
{ "h", N_("help"), N_("show this help (also '?')"), -1 },
{ NULL }
};
-static const resolver_option_t tree_conflict_options_update_deleted[] =
+static const resolver_option_t tree_conflict_options_update_edit_moved_away[] =
{
+ { "mc", N_("apply update to move destination"),
+ N_("apply incoming update to move destination"
+ " [mine-conflict]"),
+ svn_wc_conflict_choose_mine_conflict },
{ "p", N_("postpone"), N_("resolve the conflict later [postpone]"),
svn_wc_conflict_choose_postpone },
- { "mc", N_("my side of conflict"), N_("keep any moves affected "
- "by this deletion [mine-conflict]"),
+ { "q", N_("quit resolution"), N_("postpone all remaining conflicts"),
+ svn_wc_conflict_choose_postpone },
+ { "h", N_("help"), N_("show this help (also '?')"), -1 },
+ { NULL }
+};
+
+static const resolver_option_t tree_conflict_options_update_deleted[] =
+{
+ { "mc", N_("keep affected local moves"), N_("keep any local moves affected "
+ "by this deletion [mine-conflict]"),
svn_wc_conflict_choose_mine_conflict },
- { "r", N_("resolved"), N_("mark resolved (any affected moves will "
- "become copies)"),
+ { "r", N_("mark resolved (breaks moves)"), N_("mark resolved, any affected "
+ "moves will become copies"),
svn_wc_conflict_choose_merged },
+ { "p", N_("postpone"), N_("resolve the conflict later [postpone]"),
+ svn_wc_conflict_choose_postpone },
{ "q", N_("quit resolution"), N_("postpone all remaining conflicts"),
svn_wc_conflict_choose_postpone },
{ "h", N_("help"), N_("show this help (also '?')"), -1 },
@@ -574,14 +590,14 @@ static const resolver_option_t tree_conf
static const resolver_option_t tree_conflict_options_update_replaced[] =
{
- { "p", N_("postpone"), N_("resolve the conflict later [postpone]"),
- svn_wc_conflict_choose_postpone },
- { "mc", N_("my side of conflict"), N_("keep any moves affected by this "
- "replacement [mine-conflict]"),
+ { "mc", N_("keep affected local moves"), N_("keep any moves affected by this "
+ "replacement [mine-conflict]"),
svn_wc_conflict_choose_mine_conflict },
- { "r", N_("resolved"), N_("mark resolved (any affected moves will "
- "become copies)"),
+ { "r", N_("mark resolved (breaks moves)"), N_("mark resolved (any affected "
+ "moves will become copies)"),
svn_wc_conflict_choose_merged },
+ { "p", N_("postpone"), N_("resolve the conflict later [postpone]"),
+ svn_wc_conflict_choose_postpone },
{ "q", N_("quit resolution"), N_("postpone all remaining conflicts"),
svn_wc_conflict_choose_postpone },
{ "h", N_("help"), N_("show this help (also '?')"), -1 },
@@ -925,7 +941,7 @@ handle_text_conflict(svn_wc_conflict_res
SVN_ERR(svn_cmdline_fprintf(
stderr, iterpool,
_("Invalid option; use diff/edit/merge/launch "
- "before choosing 'resolved'.\n\n")));
+ "before choosing 'mark resolved'.\n\n")));
continue;
}
@@ -1078,7 +1094,12 @@ handle_tree_conflict(svn_wc_conflict_res
desc->operation == svn_wc_operation_switch)
{
if (desc->reason == svn_wc_conflict_reason_moved_away)
- tc_opts = tree_conflict_options_update_moved_away;
+ {
+ if (desc->action == svn_wc_conflict_action_edit)
+ tc_opts = tree_conflict_options_update_edit_moved_away;
+ else
+ tc_opts = tree_conflict_options_update_moved_away;
+ }
else if (desc->reason == svn_wc_conflict_reason_deleted)
tc_opts = tree_conflict_options_update_deleted;
else if (desc->reason == svn_wc_conflict_reason_replaced)