~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/user-guide/adv_merging.txt

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-12-01 00:10:04 UTC
  • mfrom: (4798.6.3 fix-190096)
  • Revision ID: pqm@pqm.ubuntu.com-20091201001004-vflb5bqsnrlkfh7p
Including a discussion of revert --forget-merges as a tool for
        advanced merging. (Neil Martinsen-Burrell, #190096)

Show diffs side-by-side

added added

removed removed

Lines of Context:
47
47
be done at a later time. In other cases, additional conflicts will need
48
48
to be resolved when the changes are merged again.
49
49
 
 
50
Merging without parents
 
51
-----------------------
 
52
 
 
53
A related technique to cherrypicking, in that it makes changes without
 
54
reference to the revisions that they came from is to perform a merge, but
 
55
forget about the parent revisions before committing.  This has the effect of
 
56
making all of the changes that would have been in the merge happen in a single
 
57
commit.  After the merge and before the corresponding commit, you can do::
 
58
 
 
59
  bzr revert --forget-merges
 
60
 
 
61
to keep the changes in the working tree, but remove the record of the
 
62
revisions where the changes originated.  The next commit would then record
 
63
all of those changes without any record of the merged revisions.
 
64
 
 
65
This is desired by some users to make their history "cleaner", but you should
 
66
be careful that the loss of history does not outweigh the value of cleanliness,
 
67
particularly given Bazaar's capabilities for progressively disclosing merged
 
68
revisions.  In particular, because this will include the changes from the
 
69
source branch, but without attribution to that branch, it can lead to
 
70
additional conflicts on later merges that involve the same source and
 
71
target branches.
 
72
 
50
73
 
51
74
Reverse cherrypicking
52
75
---------------------