diff options
author | Joey Hess <joey@kitenet.net> | 2012-02-16 14:26:53 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-02-16 14:26:53 -0400 |
commit | 346c9344094635edbcf85ac6ddb27b8235038d8a (patch) | |
tree | bfb4c8d7ea6441b3c20d8c490436dd96102c50f0 | |
parent | c2245260b1e6e3bd9a8827449fea2c0eafe7e0f2 (diff) |
allow pathdepth to drop from the front or take from the end (negative)
-rw-r--r-- | Command/AddUrl.hs | 9 | ||||
-rw-r--r-- | doc/git-annex.mdwn | 5 |
2 files changed, 7 insertions, 7 deletions
diff --git a/Command/AddUrl.hs b/Command/AddUrl.hs index 986736943..0b4131067 100644 --- a/Command/AddUrl.hs +++ b/Command/AddUrl.hs @@ -90,13 +90,12 @@ url2file :: URI -> Maybe Int -> FilePath url2file url pathdepth = case pathdepth of Nothing -> filesize $ escape fullurl Just depth - | depth > 0 -> filesize $ join "/" $ - fromend depth $ map escape $ - filter (not . null) $ split "/" fullurl - | otherwise -> error "bad --pathdepth value" + | depth > 0 -> frombits $ drop depth + | otherwise -> frombits $ reverse . take (negate depth) . reverse where fullurl = uriRegName auth ++ uriPath url ++ uriQuery url + frombits a = filesize $ join "/" $ a urlbits + urlbits = map escape $ filter (not . null) $ split "/" fullurl auth = fromMaybe (error $ "bad url " ++ show url) $ uriAuthority url filesize = take 255 escape = replace "/" "_" . replace "?" "_" - fromend n = reverse . take n . reverse diff --git a/doc/git-annex.mdwn b/doc/git-annex.mdwn index d5814a2c2..f13baf79c 100644 --- a/doc/git-annex.mdwn +++ b/doc/git-annex.mdwn @@ -150,9 +150,10 @@ subdirectories). To avoid immediately downloading the url, specify --fast. Normally the filename is based on the full url, so will look like - "www.example.com_subdir_bigfile". For a shorter filename, specify + "www.example.com_dir_subdir_bigfile". For a shorter filename, specify --pathdepth=N. For example, --pathdepth=2 will use "subdir/bigfile", - while --parhdepth=1 will use "bigfile". + while --pathdepth=3 will use "bigfile". It can also be negative; + --pathdepth=-2 will use the last two parts of the url. Or, to directly specify what file the url is added to, specify --file. This changes the behavior; now all the specified urls are recorded as |