darcs-beta- a distributed, interactive, smart revision control system

Safe HaskellSafe-Infered



Path resolving:

  • An http URL contains the sequence "http(s)://".
  • A local filepath does not contain colons, except as second character (windows drives) when this filepath is meant to be used as repository name
  • A path that is neither an http URL nor a local file is an ssh-path.


 /usr/repo/foo                 -- local file
 c:/src/darcs                  -- local file
 http://darcs.net/             -- URL
 peter@host:/path              -- ssh
 droundy@host:                 -- ssh
 host:/path                    -- ssh

This means that single-letter hosts in ssh-paths do not work, unless a username is provided.

Perhaps ssh-paths should use "ssh://user@host/path"-syntax instead?



splitSshUrl :: String -> SshFilePathSource

Gives the (user, host, dir) out of an ssh url