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

Safe Haskell | None

Darcs.URL

Description

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.

Examples:

     /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?

Synopsis

- isFile :: String -> Bool
- isHttpUrl :: String -> Bool
- isSshUrl :: String -> Bool
- isRelative :: String -> Bool
- isAbsolute :: String -> Bool
- isSshNopath :: String -> Bool
- data SshFilePath
- sshRepo :: SshFilePath -> String
- sshUhost :: SshFilePath -> String
- sshFile :: SshFilePath -> String
- urlOf :: SshFilePath -> String
- splitSshUrl :: String -> SshFilePath

# Documentation

isFile :: String -> Bool

isHttpUrl :: String -> Bool

isSshUrl :: String -> Bool

isRelative :: String -> Bool

isAbsolute :: String -> Bool

isSshNopath :: String -> Bool

data SshFilePath

sshRepo :: SshFilePath -> String

sshUhost :: SshFilePath -> String

sshFile :: SshFilePath -> String

urlOf :: SshFilePath -> String

splitSshUrl :: String -> SshFilePath

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