Opened 8 years ago

Closed 7 years ago

#3499 closed bug (wontfix)

darcs-all cannot use SSH repos with MSYS

Reported by: simonpj Owned by: simonmar
Priority: low Milestone: 7.2.1
Component: Build System Version: 6.11
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

In my defaultrepo I have an ssh path: simonpj@darcs.haskell.org:/home/darcs/ghc. (You may say I should use http, but it should work.)

It used to work fine, including with darcs-all. But since these two patches

Thu Aug 27 15:15:54 BST 2009  Simon Marlow <marlowsd@gmail.com>
  * fix 'darcs-all rec' (amongst other things)
Thu Aug 27 14:57:17 BST 2009  Simon Marlow <marlowsd@gmail.com>
  * REDO: Add -r option to darcs-all, and remove push-all (#3375)

darcs-all fails badly on MSYS. What happens is that it tries to fetch from

simonpj@darcs.haskell.org:c:\\msys\\1.0\\usr\\home\\darcs\\ghc

or something like that. Somehow the MSYS path mangling has got hold of the path, whereas it did not do so before.

Happily, if I use an HTTP path http://darcs.haskell.org/ghc in my defaultrepo, all is well.

Change History (10)

comment:1 Changed 8 years ago by igloo

Owner: set to simonmar
Summary: darcs-all + MSYS manges the repo pathdarcs-all + MSYS mangles the repo path

comment:2 Changed 8 years ago by simonmar

Component: CompilerBuild System
Milestone: 6.12 branch
Summary: darcs-all + MSYS mangles the repo pathdarcs-all cannot use SSH repos with MSYS
Version: 6.10.46.11

MSYS's perl is expanding user@machine:/path to user@machine;c:/msys/1.0/usr/path. It fails for the same reason that scp user@machine:/path fails on MSYS. As far as I know it's not possible to turn this behaviour off. You can work around it by using a different perl, e.g. Cygwin's perl: c:/cygwin/bin/perl darcs-all pull. Another one that works is

/c/ghc/ghc-6.10.4/perl -I/c/msys/1.0/lib/perl5/5.6.1 darcs-all pull

I'm not sure what to do about this. The reason it is failing now and wasn't failing before is that we are now telling darcs exactly which repo to pull from, whereas before we were using whatever the default repos were. I think the new behaviour is better - you're less likely to accidentally push/pull to/from the wrong place.

I suggest using http for pulling, and pushing via SSH using Cygwin or one of the workarounds above.

comment:3 Changed 8 years ago by igloo

Milestone: 6.12 branch6.12.3

comment:4 Changed 7 years ago by igloo

Milestone: 6.12.36.14.1
Priority: normallow

comment:5 Changed 7 years ago by guest

Type of failure: None/Unknown

Have you tried doubling the forward slashes? That's the typical method of escaping on msys: http://www.mingw.org/wiki/FAQ

comment:6 Changed 7 years ago by simonmar

The darcs folks just fixed issue1970 which means that darcs now supports repository URLs of the form ssh://<repo>, which might be a good workaround for this ticket.

comment:7 Changed 7 years ago by igloo

Milestone: 7.0.17.0.2

comment:8 Changed 7 years ago by igloo

Milestone: 7.0.27.2.1

comment:9 Changed 7 years ago by dterei

Should this ticket now be closed due to the git transition?

comment:10 Changed 7 years ago by simonmar

Resolution: wontfix
Status: newclosed
Note: See TracTickets for help on using tickets.