An adjusted view branch has a name like "refs/heads/adjusted/views/master(author=_)(unlocked)", so it is a view branch that has been converted to an adjusted branch. Made Logs.View support such branch names. So now git-annex sync and pre-commit handle updating metadata on commit in such a branch. Much remains to be done to fully support adjusted view branches, including actually applying the adjustment when updating the view branch. Sponsored-by: Graham Spencer on Patreon
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
{- git-annex command
 | 
						|
 -
 | 
						|
 - Copyright 2014 Joey Hess <id@joeyh.name>
 | 
						|
 -
 | 
						|
 - Licensed under the GNU AGPL version 3 or higher.
 | 
						|
 -}
 | 
						|
 | 
						|
module Command.VAdd where
 | 
						|
 | 
						|
import Command
 | 
						|
import qualified Annex
 | 
						|
import Annex.View
 | 
						|
import Command.View (checkoutViewBranch, paramView)
 | 
						|
 | 
						|
cmd :: Command
 | 
						|
cmd = notBareRepo $
 | 
						|
	command "vadd" SectionMetaData 
 | 
						|
		"add subdirs to current view"
 | 
						|
		paramView (withParams seek)
 | 
						|
 | 
						|
seek :: CmdParams -> CommandSeek
 | 
						|
seek = withWords (commandAction . start)
 | 
						|
 | 
						|
start :: [String] -> CommandStart
 | 
						|
start params = starting "vadd" (ActionItemOther Nothing) (SeekInput params) $ 
 | 
						|
	withCurrentView $ \view madj -> do
 | 
						|
		vu <- annexViewUnsetDirectory <$> Annex.getGitConfig
 | 
						|
		let (view', change) = refineView view $
 | 
						|
			map (parseViewParam vu) (reverse params)
 | 
						|
		case change of
 | 
						|
			Unchanged -> do
 | 
						|
				showNote "unchanged"
 | 
						|
				next $ return True
 | 
						|
			Narrowing -> next $ do
 | 
						|
				if visibleViewSize view' == visibleViewSize view
 | 
						|
					then giveup "That would not add an additional level of directory structure to the view. To filter the view, use vfilter instead of vadd."
 | 
						|
					else checkoutViewBranch view' madj narrowView
 | 
						|
			Widening -> giveup "Widening view to match more files is not currently supported."
 |