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 2012/09/12 01:52:50 UTC

svn commit: r1383680 - /subversion/trunk/subversion/svn/main.c

Author: julianfoad
Date: Tue Sep 11 23:52:50 2012
New Revision: 1383680

URL: http://svn.apache.org/viewvc?rev=1383680&view=rev
Log:
More revision to the text of 'svn help merge'.

* subversion/svn/main.c
  (svn_cl__cmd_table): Tweak text.

Modified:
    subversion/trunk/subversion/svn/main.c

Modified: subversion/trunk/subversion/svn/main.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/main.c?rev=1383680&r1=1383679&r2=1383680&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/main.c (original)
+++ subversion/trunk/subversion/svn/main.c Tue Sep 11 23:52:50 2012
@@ -749,19 +749,22 @@ const svn_opt_subcommand_desc2_t svn_cl_
        * (with quotes and newlines removed). */
 "Merge changes into a working copy.\n"
 "usage: 1. merge SOURCE[@REV] [TARGET_WCPATH]\n"
-"          (the 'sync' merge)\n"
+"          (the 'automatic' merge)\n"
 "       2. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH]\n"
 "          (the 'cherry-pick' merge)\n"
 "       3. merge SOURCE1[@N] SOURCE2[@M] [TARGET_WCPATH]\n"
 "          (the '2-URL' merge)\n"
 "\n"
-"  1. This form, with one source path and no revision range:\n"
+"  1. This form, with with one source path and no revision range, is called\n"
+"     an 'automatic' merge:\n"
 "\n"
 "       svn merge SOURCE[@REV] [TARGET_WCPATH]\n"
 "\n"
-"     finds all the changes on the source branch that have not already been\n"
-"     merged to the target branch, and merges them. Merge tracking is used\n"
-"     to know which changes have already been merged.\n"
+"     The automatic merge is used for the 'sync' and 'reintegrate' merges\n"
+"     in the 'feature branch' pattern described below. It finds all the\n"
+"     changes on the source branch that have not already been merged to the\n"
+"     target branch, and merges them into the working copy. Merge tracking\n"
+"     is used to know which changes have already been merged.\n"
 "\n"
 "     SOURCE specifies the branch from where the changes will be pulled, and\n"
 "     TARGET_WCPATH specifies a working copy of the target branch to which\n"
@@ -783,28 +786,23 @@ const svn_opt_subcommand_desc2_t svn_cl_
 "\n"
 "       - The 'Feature Branch' Merging Pattern -\n"
 "\n"
-"     In this commonly used pattern of merging, a developer is working on\n"
-"     a feature development branch, committing a series of changes that\n"
-"     implement the feature. The developer periodically merges all the\n"
-"     latest changes from the 'parent' branch (from which the feature branch\n"
-"     is branched off). When the feature development is complete, the\n"
-"     developer integrates the feature back into the parent branch by\n"
-"     merging the other way, into a trunk working copy.\n"
+"     In this commonly used work flow, known also as the 'development\n"
+"     branch' pattern, a developer creates a branch and commits a series of\n"
+"     changes that implement a new feature. The developer periodically\n"
+"     merges all the latest changes from the parent branch so as to keep the\n"
+"     development branch up to date with those changes. When the feature is\n"
+"     complete, the developer performs a merge from the feature branch to\n"
+"     the parent branch to re-integrate the changes.\n"
 "\n"
-"         trunk  --+----------o------o-o-------------o--\n"
+"         parent --+----------o------o-o-------------o--\n"
 "                   \\            \\           \\      /\n"
 "                    \\          merge      merge  merge\n"
 "                     \\            \\           \\  /\n"
 "         feature      +--o-o-------o----o-o----o-------\n"
 "\n"
-"     In this pattern, a merge from the parent branch to the feature branch\n"
-"     is known as a 'sync' merge (or 'catch-up' merge), and a merge from the\n"
-"     feature branch to the parent branch may be called a 'reintegrate'\n"
-"     merge. The 'sync' merges are normally low-risk because the parent\n"
-"     branch is considered to be more 'stable' than the feature branch, in\n"
-"     the sense of being less likely to contain incomplete or broken work.\n"
-"     By syncing often, these merges can be kept small, avoiding the need\n"
-"     for a difficult 'big bang' merge at reintegration time.\n"
+"     A merge from the parent branch to the feature branch is called a\n"
+"     'sync' or 'catch-up' merge, and a merge from the feature branch to the\n"
+"     parent branch is called a 'reintegrate' merge.\n"
 "\n"
 "       - Sync Merge Example -\n"
 "                                 ............\n"
@@ -818,8 +816,8 @@ const svn_opt_subcommand_desc2_t svn_cl_
 "\n"
 "     Subversion will locate all the changes on 'trunk' that have not yet\n"
 "     been merged into the 'feature' branch. In this case that is a single\n"
-"     range, r100:200. In the diagram above, L marks the left side\n"
-"     (trunk@100) and R marks the right side (trunk@200) of the merge. The\n"
+"     range, r100:200. In the diagram above, L marks the left side (trunk@100)\n"
+"     and R marks the right side (trunk@200) of the merge source. The\n"
 "     difference between L and R will be applied to the target working copy\n"
 "     path. In this case, the working copy is a clean checkout of the entire\n"
 "     'feature' branch.\n"
@@ -834,7 +832,6 @@ const svn_opt_subcommand_desc2_t svn_cl_
 "     others. You can review the changes and you may have to resolve\n"
 "     conflicts before you commit the merge.\n"
 "\n"
-"\n"
 "       - Reintegrate Merge Example -\n"
 "\n"
 "     The feature branch was last synced with trunk up to revision X. So the\n"