[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ediff and merge
From: |
Giorgos Keramidas |
Subject: |
Re: Ediff and merge |
Date: |
Sun, 17 May 2009 07:30:31 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.93 (berkeley-unix) |
On Sat, 16 May 2009 12:28:23 +0200, Rasmus Pank Roulund <rasmus.pank@gmail.com>
wrote:
> Hello Giorgos,
> Yeah ediff is great. I use svn from within emacs with psvn.el. The
> tool is called svn-status within emacs. It has built in support for
> Ediff. I just RET on a conflicted file and it go to SMerge minor mode
> (I think) and from there I can enter ediff.
>
> However, I think "R" is the command I am looking for. When I "A" and
> "B"'ed through all the conflict points and I am done I need the
> command to end it naturally.
Ah, I see. I haven't used psvn (the VC support for svn is mostly fine
for what I usually do), so I am not sure if the script I posted can fit
well with psvn.
> The script you posted looks interesting. Would you be able to post it
> again as an attached file? The line breaking has been broken in my
> Gnus. Is this script mainly for command line or will it have an effect
> when I use SVN through an emacs-mode like psvn.el?
Sure, I can attach it, but I am reading gnu.emacs.help posts through
NNTP, so it may not come through. I uploaded a copy to:
http://people.freebsd.org/~keramida/svn-ediff-merge.sh
I have only used the script with the command-line merges of "svn
merge". It may be easy to hack the script a bit and integrate it with
psvn, but I am not sure if that would work or if it would useful.
> This is really the funcitonallity I am looking for! Is it built into
> ediff or do I need your script to perform this action?
It is part of the interaction between the command-line svn(1) utility
and the way the script works. svn(1) passes filename paths to the
script. These filename arguments are described in the toplevel comments
of the script:
# BASE = base revision; the common ancestor of $other and $local
# OTHER = parent branch version
# LOCAL = locally modified version
# WC = working copy; the file where merge results should be saved
The `WC' filename (positional argument $4) is the path of the file
inside the subversion workspace, so the script tries to save any
successful merge result to that path.