annex.maxextensionlength for view
view: Support annex.maxextensionlength when generating filenames for the view branch. Note that refining an existing view will reuse the extension length that was configured when initially constructing the view. This is necessarily the case because it reuses the filenames. Also view files used to have all extensions at the end, no matter how many there were. Since annex.maxextensionlength's documentation includes that it's limited to 2 extensions, I made it consistent with that. Sponsored-by: k0ld on Patreon
This commit is contained in:
parent
70a9e995b8
commit
2b5fa091e2
7 changed files with 48 additions and 14 deletions
|
@ -387,7 +387,7 @@ prop_view_roundtrips (AssociatedFile Nothing) _ _ = True
|
|||
prop_view_roundtrips (AssociatedFile (Just f)) metadata visible = or
|
||||
[ B.null (P.takeFileName f) && B.null (P.takeDirectory f)
|
||||
, viewTooLarge view
|
||||
, all hasfields (viewedFiles view viewedFileFromReference (fromRawFilePath f) metadata)
|
||||
, all hasfields (viewedFiles view (viewedFileFromReference' Nothing) (fromRawFilePath f) metadata)
|
||||
]
|
||||
where
|
||||
view = View (Git.Ref "foo") $
|
||||
|
@ -421,7 +421,9 @@ getViewedFileMetaData = getDirMetaData . dirFromViewedFile . takeFileName
|
|||
- branch for the view.
|
||||
-}
|
||||
applyView :: View -> Maybe Adjustment -> Annex Git.Branch
|
||||
applyView = applyView' viewedFileFromReference getWorkTreeMetaData
|
||||
applyView v ma = do
|
||||
gc <- Annex.getGitConfig
|
||||
applyView' (viewedFileFromReference gc) getWorkTreeMetaData v ma
|
||||
|
||||
{- Generates a new branch for a View, which must be a more narrow
|
||||
- version of the View originally used to generate the currently
|
||||
|
@ -553,7 +555,8 @@ updateView view madj = do
|
|||
Git.LsTree.LsTreeRecursive
|
||||
(Git.LsTree.LsTreeLong True)
|
||||
(viewParentBranch view)
|
||||
applyView'' viewedFileFromReference getWorkTreeMetaData view madj l clean $
|
||||
gc <- Annex.getGitConfig
|
||||
applyView'' (viewedFileFromReference gc) getWorkTreeMetaData view madj l clean $
|
||||
\ti -> do
|
||||
let ref = Git.Ref.branchFileRef (viewParentBranch view)
|
||||
(getTopFilePath (Git.LsTree.file ti))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue