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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [h-e-w] NTEmacs, CVS, ssh, and bash


From: Stephen Leake
Subject: Re: [h-e-w] NTEmacs, CVS, ssh, and bash
Date: 22 Sep 2004 10:05:56 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

Phillip Lord <address@hidden> writes:

> I'm using cygwin as my internal shell. I'm quite happy to use unix
> terminators. I'm an enormous fan of pcl-cvs, and VC in general. My
> question is, which is the best way to get pcl-cvs and ssh working
> together? Do I use putty/plink/pagent and win32 native CVS. Or cygwin
> ssh/cvs/ssh-agent/keychain?

cygwin ssh works fine for me, and they seem to be keeping up with
security patches.

> Currently I'm trying the latter. I've tried setting CVS_RSH in my
> shell. This seem to not be read in an non interactive shell (M-x
> shell-command shows CVS_RSH is not set). I've set it in .bashrc, and
> symlinked in .bash_profile, and .bash_login.

You've got that backwards. You should set CVS_RSH in .bash_profile.
Then, to start Emacs, first launch a Cygwin shell. In that shell:

bash$ ssh-agent bash
bash$ ssh-add
bash$ emacs &

Then when you run cvs from an Emacs sub-shell, it can find ssh-agent. 

I've got detailed, step-by-step instructions for this at
http://fsw.gsfc.nasa.gov/gds/tools_install_windows.pdf (tailored to my
work environment).

On the other hand, I always set _all_ environment variables, including
PATH, in my .emacs:

;; standard stuff
(if t
    (progn
      (setenv "AUTO_TEXT_IO" "c:/Projects/GDS/auto_text_io/main")
      (setenv "EMACS_SITE_LISP" "c:/Gnu/Emacs/site-lisp")
      (setenv "FLT_MATHLIB" "c:/Projects/GDS/flight/mathlib/main")
      (setenv "GDS_COMMON" "c:/Projects/GDS/common/main")
      (setenv "GDS_SDO" "c:/Projects/GDS/sdo/main")
      (setenv "GNADE" "c:/Gnu/gnade-cygwin")
      (setenv "GNAT_ASIS" "c:/Gnu/Gnat-5.02a1/local/asis")
      (setenv "GNAT_VERSION" "5.02a1")
      (setenv "GRACE" "c:/Stephe/Ada/Grace")
      (setenv "GTKADA" "c:/Gnu/GtkAda-2.2.2")
      (setenv "IMAGEMAGICK" "c:/Apps/ImageMagick-5.5.7-Q8")
      (setenv "INSTALL_BIN" "c:/Projects/GDS/local/bin")
      (setenv "MAKERULES" "c:/Projects/GDS/makerules/main")
      (setenv "OS_VERSION" "Windows_2000")
      (setenv "SAL" "c:/Projects/GDS/sal/main")
      (setenv "SDO_FSW" "c:/Projects/GDS/flight/sdo-fsw")
      (setenv "WEBCHECK" "c:/Stephe/Ada/webcheck")
      (setenv "WINDEX" "c:/Stephe/Ada/Windex")

      (setq exec-path
            (list
             (expand-file-name "~/bin")
             (getenv "INSTALL_BIN")
             "c:/Gnu/Gnat-5.02a1/bin"
             "c:/Gnu/Emacs/emacs-21.3/bin"
             (concat (getenv "GNADE") "/bin") ; gnade-config
             (concat (getenv "GTKADA") "/bin") ; for dlls, gtkada-config
             "c:/Gnu/Cygwin/bin"
             "c:/msys/1.0/maxinstall/bin"
             "c:/texmf/miktex/bin"
             "c:/winnt/system32"))
      (setenv "PATH" (mapconcat 'identity  exec-path  path-separator))
      )
  )

That way, I'm independent of Windows "advanced settings", and the
vagaries of .bashrc vs .bash_profile. 

And notice the (if ... ); I can reset all environment variables for
Emacs subprocesses to a different configuration (eg older compiler
version) at one keystroke. Very handy.

Good luck,

-- 
-- Stephe





reply via email to

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