fileRef: make paths relative and simplified
Fix behavior of several commands, including reinject, addurl, and rmurl when given an absolute path to an unlocked file, or a relative path that leaves and re-enters the repository. To avoid slowing down all the cases where the paths are already ok with an unncessary call to getCurrentDirectory, put in an optimisation in relPathCwdToFile. That will probably also speed up other parts of git-annex by some small amount, but I have not benchmarked. Note that I did not convert branchFileRef, because it seems likely that it will be used with a file that is not provided by the user, so is already in a sane format. This is certainly true for the way git-annex uses it, though maybe arguable to the extent Git.Ref is a reusable library.
This commit is contained in:
parent
6b980c1514
commit
4bf7940d6b
5 changed files with 32 additions and 16 deletions
|
@ -103,7 +103,7 @@ clean file = do
|
|||
getMoveRaceRecovery k file
|
||||
liftIO $ L.hPut stdout b
|
||||
Nothing -> do
|
||||
let fileref = Git.Ref.fileRef file
|
||||
fileref <- liftIO $ Git.Ref.fileRef file
|
||||
indexmeta <- catObjectMetaData fileref
|
||||
oldkey <- case indexmeta of
|
||||
Just (_, sz, _) -> catKey' fileref sz
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue