On 2007-03-19, at 21:55 EDT, Henry Minsky wrote:


> p.s. how do you change the editor that svn-editchange wants to
> use?  I think my UTF-8 problem was that it was opening some ancient
> vi in cygwin and I accidentally added some control characters into
> the change notes. I'd be much happier if I could get it to open vim.

It takes it from your shell $EDITOR variable.  This is part of the
revised doc I would like to check in...



I keep having some weird problem with emacs when it is invoked from the svn-editchange script in cygwin. It seems to work for a minute, and then totally locks up trying to autosave to some nonexistent directory. I haven't been able to disable the autosave behavior cuz I don't know where it is coming from. It really nukes my machine; if I have cygwin X11 running, it
freezes the whole machine.

So far I have been setting
export EDITOR="emacs -nw"
meaning "don't use the window system",
and then editing in the emacs that comes up in the bash terminal window,
but then it doesn't accept C-x C-c to quit out of emacs.

That's strange. svn-bash is just calling $EDITOR on a file in your $SVNCHANGES directory. Nothing tricky. Do you have a funny definition for $SVNCHANGES? What happens if your invoke $EDITOR by hand in a shell?

But it does accept
C-x C-z to suspend it, so that's what I do.

But even in non-window mode, it eventually tries to autosave and makes a big fuss till I kill it. This only happens when it is launched as a subprocess
from the svn-editchange command shell function though...

I have in my .emacs

(server-start)

And in my .bashrc

export EDITOR=emacsclient

And I do all my shell work in an emacs shell. The above settings make is so svn-editchange doesn't spawn a new emacs, it just tells the existing emacs to edit the file.

I also have in my .bashrc the following:

function do-svn()
{
    cmd=${1}
    shift
    case ${cmd} in
        = )
            svn diff ${*}
            ;;
        c )
            svn-commit ${*}
            ;;
        d )
            svn-describe ${*}
            ;;
        e )
            # Argument becomes new default
            export OL_CHANGE_NAME=${1:-${OL_CHANGE_NAME}}
            svn-editchange ${*}
            ;;
        p )
            svn-pending ${*}
            ;;
        r )
            svn-review ${*}
            ;;
        s )
            svn status -q ${*}
            ;;
        u )
            svn update ${*}
            ;;
        * )
echo '=(diff) Commit Describe Editchange Pendingchanges Reviewmail Status Update'
    esac
}

alias s='do-svn'

To define 1-letter shortcuts for my most common svn tasks.

Reply via email to