~bzr/ubuntu/lucid/bzr/beta-ppa

« back to all changes in this revision

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

  • Committer: Martin Pool
  • Date: 2010-07-02 07:29:40 UTC
  • mfrom: (129.1.7 packaging-karmic)
  • Revision ID: mbp@sourcefrog.net-20100702072940-hpzq5elg8wjve8rh
* PPA rebuild.
* PPA rebuild for Karmic.
* PPA rebuild for Jaunty.
* PPA rebuild for Hardy.
* From postinst, actually remove the example bash completion scripts.
  (LP: #249452)
* New upstream release.
* New upstream release.
* New upstream release.
* Revert change to Build-depends: Dapper does not have python-central.
  Should be python-support..
* Target ppa..
* Target ppa..
* Target ppa..
* Target ppa..
* New upstream release.
* Switch to dpkg-source 3.0 (quilt) format.
* Bump standards version to 3.8.4.
* Remove embedded copy of python-configobj. Closes: #555336
* Remove embedded copy of python-elementtree. Closes: #555343
* Change section from 'Devel' to 'Vcs'..
* Change section from 'Devel' to 'Vcs'..
* Change section from 'Devel' to 'Vcs'..
* Change section from 'Devel' to 'Vcs'..
* Change section from 'Devel' to 'Vcs'..
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* debian/control: Fix obsolete-relation-form-in-source
  lintian warning. 
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Split out docs into bzr-doc package.
* New upstream release.
* Added John Francesco Ferlito to Uploaders.
* Fix install path to quick-reference guide
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Fix FTBFS due to path changes, again.
* Fix FTBFS due to doc paths changing
* New upstream release.
* Fix FTBFS due to path changes, again.
* Fix FTBFS due to doc paths changing
* New upstream release.
* Fix FTBFS due to path changes, again.
* Fix FTBFS due to doc paths changing
* New upstream release.
* Fix FTBFS due to path changes, again, again.
* Fix FTBFS due to path changes, again.
* Fix FTBFS due to path changes.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Bump standards version to 3.8.3.
* Remove unused patch system.
* New upstream release.
* New upstream release.
* New upstream release.
* Fix copy and paste tab error in .install file
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
 + Fixes compatibility with Python 2.4. Closes: #537708
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream version.
* Bump standards version to 3.8.2.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Add python-pyrex to build-deps to ensure C extensions are always build.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Split documentation into bzr-doc package. ((LP: #385074)
* Multiple packaging changes to make us more linitan clean.
* New upstream release.
* Split documentation into bzr-doc package. ((LP: #385074)
* Multiple packaging changes to make us more linitan clean.
* New upstream release.
* Split documentation into bzr-doc package. ((LP: #385074)
* Multiple packaging changes to make us more linitan clean.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Fix API compatibility version. (Closes: #526233)
* New upstream release.
  + Fixes default format for upgrade command. (Closes: #464688)
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Add missing dependency on zlib development library. (Closes:
  #523595)
* Add zlib build-depends.
* Add zlib build-depends.
* Add zlib build-depends.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Move to section vcs.
* Bump standards version to 3.8.1.
* New upstream release.
* Remove temporary patch for missing .c files from distribution
* New upstream release.
* Remove temporary patch for missing .c files from distribution
* New upstream release.
* Remove temporary patch for missing .c files from distribution
* Add temporary patch for missing .c files from distribution
* Add temporary patch for missing .c files from distribution
* Add temporary patch for missing .c files from distribution
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Recommend ca-certificates. (Closes: #452024)
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Update watch file. bazaar now uses launchpad to host its sources.
* Remove patch for inventory root revision copy, applied upstream.
* New upstream release.
* New upstream release.
* New upstream release
* Force removal of files installed in error to /etc/bash_completion.d/
  (LP: #249452)
* New upstream release.
* New upstream release
* New upstream release.
* Bump standards version.
* Include patch for inventory root revision copy, required for bzr-svn.
* New upstream release.
* Remove unused lintian overrides.
* Correct the package version not to be native.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* New upstream release.
* Final 1.5 release.
* New upstream release.
* New upstream release.
* New upstream release.
* Add myself as a co-maintainer.
* Add a Dm-Upload-Allowed: yes header.
* New upstream bugfix release.
* New upstream release.
* Final 1.3 release.
* New upstream release.
* First release candidate of the upcoming 1.3 release.
* Rebuild to fix the problem caused by a build with a broken python-central.
* New upstream release.
* Rebuild for dapper PPA.
* Apply Lamont's patches to fix build-dependencies on dapper.
  (See: https://bugs.launchpad.net/bzr/+bug/189915)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Resolving conflicts
 
2
===================
 
3
 
 
4
Workflow
 
5
--------
 
6
 
 
7
Unlike some other tools that force you to resolve each conflict during
 
8
the merge process, Bazaar merges as much as it can and then reports the
 
9
conflicts. This can make conflict resolution easier because the contents
 
10
of the whole post-merge tree are available to help you decide how things
 
11
ought to be resolved. You may also wish to selectively run tests as you go
 
12
to confirm each resolution or group or resolutions is good.
 
13
 
 
14
Listing conflicts
 
15
-----------------
 
16
 
 
17
As well as being reported by the ``merge`` command, the list of outstanding
 
18
conflicts may be displayed at any time by using the ``conflicts``
 
19
command. It is also included as part of the output from the ``status``
 
20
command.
 
21
 
 
22
Resolving a conflict
 
23
--------------------
 
24
 
 
25
When a conflict is encountered, the ``merge`` command puts embedded
 
26
markers in each file showing the areas it couldn't resolve. It also
 
27
creates 3 files for each file with a conflict:
 
28
 
 
29
 * foo.BASE
 
30
 * foo.THIS
 
31
 * foo.OTHER
 
32
 
 
33
where ``foo`` is the name of the conflicted file.
 
34
In many cases, you can resolve conflicts by simply manually editing
 
35
each file in question, fixing the relevant areas and removing the
 
36
conflict markers as you go.
 
37
 
 
38
After fixing all the files in conflict, and removing the markers,
 
39
ask Bazaar to mark them as resolved using the ``resolve`` command like this::
 
40
 
 
41
  bzr resolve
 
42
 
 
43
Alternatively, after fixing each file, you can mark it as resolved
 
44
like this::
 
45
 
 
46
  bzr resolve foo
 
47
 
 
48
Among other things, the ``resolve`` command cleans up the BASE,
 
49
THIS and OTHER files from your working tree.
 
50
 
 
51
Using the remerge command
 
52
-------------------------
 
53
 
 
54
In some cases, you may wish to try a different merge algorithm on a
 
55
given file. To do this, use the ``remerge`` command nominating
 
56
the file like this::
 
57
 
 
58
  bzr remerge --weave foo
 
59
 
 
60
where ``foo`` is the file and ``weave`` is one of the available
 
61
merge algorithms. This algorithm is particularly useful when a
 
62
so-called ``criss-cross`` merge is detected, e.g. when two branches
 
63
merge the same thing then merge each other. See the online help for
 
64
``criss-cross`` and ``remerge`` for further details.
 
65
 
 
66
Using external tools to resolve conflicts
 
67
-----------------------------------------
 
68
 
 
69
If you have a GUI tool you like using to resolve conflicts, be sure
 
70
to install the *extmerge* plugin. Once installed, it can be used
 
71
like this::
 
72
 
 
73
  bzr extmerge foo
 
74
 
 
75
where ``foo`` is the conflicted file. Rather than provide a list of
 
76
files to resolve, you can give the ``--all`` option to implicitly
 
77
specify all conflicted files.
 
78
 
 
79
The ``extmerge`` command uses the tool specified by the
 
80
``external_merge`` setting in your ``bazaar.conf`` file.
 
81
If not set, it will look for some popular merge tools such
 
82
as ``kdiff3`` or ``opendiff``, the latter being a command
 
83
line interface to the FileMerge utility in OS X.