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.