1

Are there any good tools for merging/resolving conflicts for Bazaar + Eclipse?

I wish Bazaar was integrated with Eclipse the same way Subversion is.

Eeyore
  • 2,126
  • 7
  • 33
  • 49

2 Answers2

1

Have you seen Bzr-Eclipse and QBzr-Eclipse? I think it's an either-or choice: don't install both. Bzr-Eclipse uses it's own interface, so it looks closer to the Eclipse way of doing things. QBzr-Eclipse links in to QBzr's dialog boxes, so it looks like Bazaar Explorer and is probably better maintained (this link). I prefer QBzr-Eclipse, but it's up to you: try them both and see how you get on.

There are some Bzr Eclipse screenshots here.

DrAl
  • 70,428
  • 10
  • 106
  • 108
  • Bzr Eclipse seems supported by canonical : http://wiki.bazaar.canonical.com/BzrEclipse but it doesn't handle every protocol. – Brice Favre May 09 '11 at 14:01
  • bzr eclipse isn't supported by Canonical, it was an external project. I don't think it's maintained actively at the moment. – jelmer Apr 26 '12 at 23:52
0

Install & Configure

  1. Root access.

    sudo su

  2. Install meld:

    apt-get install meld

  3. Go to "/usr/lib/python2.7/dist-packages/bzrlib/plugins":

    cd /usr/lib/python2.7/dist-packages/bzrlib/plugins

  4. Download ExtMerge Bazaar Plugin:

    bzr branch lp:bzr-extmerge extmerge

  5. Create merge script: "/usr/bin/meld-helper":

    vim /usr/bin/meld-helper

  6. Write content for merge script:

    #!/bin/bash

    mv $1 $1.bak

    mv $3 $1

    meld $2 $4 $1

    mv $1 $3

    mv $1.bak $1

    exit 0

  7. Exit from root user.

    exit

  8. Go to Bazaar home path: "~/.bazaar/".

    cd ~/.bazaar/

  9. Make configuration backup.

    cp bazaar.conf bazaar.conf.bak

  10. Edit Bazaar configuration file.

    vim bazaar.conf

  11. Add follow line at the end (before "[ALIASES]" line, check if exists first, and change it):

    external_merge = 'meld-helper %r %b %t %o'

  12. Finish!

Usage

Using "checkout"

  1. Commit changes:

    bzr commit -m "COMMIT DESCRIPTION"

  2. Update project:

    bzr update

  3. Merge conflicts:

    bzr extmerge test-file.txt

  4. Mark as resolved:

    bzr resolve test-file.txt

  5. Commit changes:

    bzr commit -m "COMMIT DESCRIPTION"

  6. Finish!

Using "branch"

  1. Commit changes:

    bzr commit -m "COMMIT DESCRIPTION"

  2. Get changes:

    bzr pull

  3. Merge changes:

    bzr merge

  4. Merge conflicts:

    bzr extmerge test-file.txt

  5. Mark as resolved:

    bzr resolve test-file.txt

  6. Commit changes:

    bzr commit -m "COMMIT DESCRIPTION"

  7. Send changes:

    bzr push

  8. Finish!

Notes

In "meld", you have 3 columns:

  1. test.txt .BASE : Is the first version of file, in last "update" or "pull".

  2. test.txt .OTHER : Is new version of file in the server.

  3. test.txt : Is your local version. In this file is where I save the changes to "commit".

Your merged file is "test.txt", when you close " meld "! Check if all is ok!

Eduardo Cuomo
  • 17,828
  • 6
  • 117
  • 94