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"