[PATCH] Use merge3 for text merging
Robey Pointer
robey at lag.net
Mon Aug 1 02:25:25 BST 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 26 Jul 2005, at 12:17, Aaron Bentley wrote:
> Robey Pointer wrote:
>
>> tla's habit of dropping little
>> *.orig and *.rej files and making me pick up the pieces is one of my
>> pet peeves. I noticed that bzr currently does the same thing
>> (*.BASE,
>> etc) and am hoping it's just a temporary thing. :)
>>
>
> No, it's intended to be long term. Perhaps it could be optional.
> It's intended for handling difficult merge scenarios-- the user can
> invoke tools like meld on the three files to resolve the conflict. It
> also makes it easy to determine whether a merge operation resulted in
> text conflicts.
>
> What *I*'d like to do about this is implement 'bzr resolved [--
> all]', to
> tell bzr that you've resolved the conflict, and it can delete the
> files.
> What do you think?
>
> I'd even take it futher, and refuse to commit conflicted files. But
> people say I'm wierd.
That sounds good to me, actually.
Let me try to make a coherent argument about why I don't like the
"*.rej" files being dropped around:
My tla & bzr projects tend to be fairly small, but at work we deal
with some huge source trees (mozilla is checked in as a subtree of
one!), and when the number of files gets that big, you don't want to
have to remember to do 'find . -name "*.rej"' after every checkout.
CVS munging of files with the conflict markers isn't particularly
bulletproof, but it's better than *.rej IMHO, because CVS can use
them to "remember" what files have conflicts and I don't have to go
clean up after it.
Perforce (what we use at work) is even better: It leaves the
conflicted file alone -- the way it was before I synced up -- and
keeps a copy of the updated version in some secret place, remembering
that the file has a conflict and that I haven't resolved it yet. I
then have to do a special "resolve" command which has a default
behavior of creating a CVS-style conflict-marker version and letting
me edit it.
If bzr dropped *.rej files but remembered them, and I had a simple
command I could use to resolve conflicts & clean up those *.rej
files, I'd be happy. I just hate how tla drops the *.rej files and
leaves the merging and cleanup for me to do manually. I can't see
that scaling past very tiny projects.
Y'know, even better would be if bzr kept a secret list of conflicted
files, with a secret copy of the archive version, and left my copy
alone -- then had a command that would either generate the *.rej
files or merge using conflict markers, depending on CLI options or
config preferences. (Just sorta free-thinking here.)
robey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (Darwin)
iD8DBQFC7XoLQQDkKvyJ6cMRAlyJAKDOArW5H3mC+SsI8YQNfngBCyky4QCg2J3/
lDCWegFfnTPytemRhCALY6c=
=HX6J
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list