Are there any good tools for merging/resolving conflicts for Bazaar + Eclipse?
I wish Bazaar was integrated with Eclipse the same way Subversion is.
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.
Root access.
sudo su
Install meld:
apt-get install meld
Go to "/usr/lib/python2.7/dist-packages/bzrlib/plugins":
cd /usr/lib/python2.7/dist-packages/bzrlib/plugins
Download ExtMerge Bazaar Plugin:
bzr branch lp:bzr-extmerge extmerge
Create merge script: "/usr/bin/meld-helper":
vim /usr/bin/meld-helper
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
Exit from root user.
exit
Go to Bazaar home path: "~/.bazaar/".
cd ~/.bazaar/
Make configuration backup.
cp bazaar.conf bazaar.conf.bak
Edit Bazaar configuration file.
vim bazaar.conf
Add follow line at the end (before "[ALIASES]" line, check if exists first, and change it):
external_merge = 'meld-helper %r %b %t %o'
Finish!
Commit changes:
bzr commit -m "COMMIT DESCRIPTION"
Update project:
bzr update
Merge conflicts:
bzr extmerge test-file.txt
Mark as resolved:
bzr resolve test-file.txt
Commit changes:
bzr commit -m "COMMIT DESCRIPTION"
Finish!
Commit changes:
bzr commit -m "COMMIT DESCRIPTION"
Get changes:
bzr pull
Merge changes:
bzr merge
Merge conflicts:
bzr extmerge test-file.txt
Mark as resolved:
bzr resolve test-file.txt
Commit changes:
bzr commit -m "COMMIT DESCRIPTION"
Send changes:
bzr push
Finish!
In "meld", you have 3 columns:
test.txt .BASE : Is the first version of file, in last "update" or "pull".
test.txt .OTHER : Is new version of file in the server.
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!