subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache subversion Wiki <comm...@subversion.apache.org>
Subject [Subversion Wiki] Update of "SupportedMergeScenarios" by JulianFoad
Date Fri, 27 Jun 2014 10:01:51 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Subversion Wiki" for change notification.

The "SupportedMergeScenarios" page has been changed by JulianFoad:
https://wiki.apache.org/subversion/SupportedMergeScenarios?action=diff&rev1=19&rev2=20

Comment:
Add a suggestion about untracked merges, from Matt Phipps

- ~-''Design notes, plans and ideas.''
+ ~-''Design notes, plans and ideas.'' -~
  
- ''This is not part of the official documentation of Subversion. It is aimed at the developers
of Subversion, and may not reflect reality or the project community's plans. For official
documentation, see'' http://subversion.apache.org/docs/ ''.''-~
+ ~-''This is not part of the official documentation of Subversion. It is aimed at the developers
of Subversion, and may not reflect reality or the project community's plans. For official
documentation, see'' http://subversion.apache.org/docs/ ''.''-~
  
  ----
  = What Merges Does Svn’s Merge Tracking Support? =
@@ -80, +80 @@

   1. A  tracked merge is transitive.  In merging A:10 from A to B, if A:10 was  itself a
merge that brought in one or more recorded changes from  elsewhere (say Z:9), then as well
as recording A:10 on B, we also record  Z:9 on B.
  
  ==== Non-Tracked Merge ====
-  1. You  can use the “merge” command to merge changes in such a way that the  committed
result is not recorded as a merge.  In terms of merge  tracking, Subversion sees this commit
as an original change, not as a  merge.  This kind of merge should be used only in special
cases.  ###  WHICH MERGES ARE THESE? WHEN ARE THEY APPROPRIATE?  WHEN DO THEY HAPPEN  SILENTLY?
+  1. You  can use the “merge” command to merge changes in such a way that the  committed
result is not recorded as a merge.  In terms of merge  tracking, Subversion sees this commit
as an original change, not as a  merge.
+  1. When would a non-tracked merge be useful? Matt Phipps wrote to dev@ to suggest one case:
A merge like that would make sense if you wanted to do a Git-style rebase for whatever reason.
You would create a new project branch off your development branch, cherry-pick all the non-merge
changes from the old project branch onto it (possibly grouping or reordering or deleting commits),
then delete the old branch. The new branch shouldn't have mergeinfo from the old branch since
the old branch is getting deleted and replaced.
+  1. ###  WHICH MERGE COMMAND VARIANTS PERFORM A NON-TRACKED MERGE?  WHEN DO THEY HAPPEN
 SILENTLY? One example of a change that is "silently"  untracked is a reverse merge from the
branch's own history.<<BR>>
  
  ==== Record-Only Merge ====
   1. A  “record-only” merge acts like a normal merge except that it does not  make edits
to the target branch, it only updates the mergeinfo on the  target branch as if that merge
had happened.  After a ''record-only merge''  has been committed, although only the mergeinfo
changed in that commit,  the merge tracking logic sees that commit as the time when the merge
 (the one that is now recorded) was performed.  It doesn’t notice that  there is no physical
change in the commit.  It doesn’t care whether the  physical change was in fact merged into
this target branch in the past  or will be merged in the future.  If and when the physical
change is  merged as a non-tracked merge, that commit will be regarded as an  original change
and not as a merge.

Mime
View raw message