GNU bug report logs -
#927
vc-bzr.el with cygwin bzr
Previous Next
Full log
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
Problem: vc-bzr.el doesn't work with cygwin bzr
I've recently been trying out bzr on windows and was pleased to find
vc-bzr.el. It works well with the windows bzr executable but,
unfortunately, this doesn't deal with symlinks which is important to me.
So I tried cygwin instead. Unfortunately vc-bzr.el doesn't work with
this failing with "No such file or program" errors. vc-svn and vc-cvs
work fine with cygin.
Cause:
bzr is a python file. On cygwin it uses a magic #!/usr/bin/python line,
which vc "start-process" doesn't work with.
I tested this with following hack, which launches python and gives the
location of bzr (under cygwin as it's cygwin python) as an argument.
(defun vc-bzr-command (bzr-command buffer okstatus file-or-list &rest args)
"Wrapper round `vc-do-command' using `vc-bzr-program' as COMMAND.
Invoke the bzr command adding `BZR_PROGRESS_BAR=none' and
`LC_MESSAGES=C' to the environment."
(let ((process-environment
(list* "BZR_PROGRESS_BAR=none" ; Suppress progress output (bzr >=0.9)
"LC_MESSAGES=C" ; Force English output
process-environment)))
(apply 'vc-do-command (or buffer "*vc*") okstatus "python"
file-or-list "/usr/bin/bzr" bzr-command args)))
vc-bzr now works.
Suggested Solution:
My hack is platform specific. A better solution would be, to modify
vc-bzr-command to be either of the form "bzr-program-name" or '("python
name" "bzr name"). vc-bzr-command would need to be modified to cope.
There is couple of other places vc-bzr-command is used which would need
changing also.
Thanks for your attention!
Phil
This bug report was last modified 13 years and 301 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.