help-gnu-emacs
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]