darcs-2.11.0: a distributed, interactive, smart revision control system

Safe HaskellNone



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?

TODO: This whole module should be re-written using a regex matching library! The way we do this here is error-prone and inefficient.