 689d1fcc92
			
		
	
	
	
	
	689d1fcc92A few remain, as needed for upgrades, and for accessing objects from remotes that are direct mode repos that have not been converted yet.
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			908 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			908 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| {- git-annex command
 | |
|  -
 | |
|  - Copyright 2014 Joey Hess <id@joeyh.name>
 | |
|  -
 | |
|  - Licensed under the GNU AGPL version 3 or higher.
 | |
|  -}
 | |
| 
 | |
| module Command.VFilter where
 | |
| 
 | |
| import Command
 | |
| import Annex.View
 | |
| import Command.View (paramView, checkoutViewBranch)
 | |
| 
 | |
| cmd :: Command
 | |
| cmd = notBareRepo $
 | |
| 	command "vfilter" SectionMetaData "filter current view"
 | |
| 		paramView (withParams seek)
 | |
| 
 | |
| seek :: CmdParams -> CommandSeek
 | |
| seek = withWords (commandAction . start)
 | |
| 
 | |
| start :: [String] -> CommandStart
 | |
| start params = starting "vfilter" (ActionItemOther Nothing) $
 | |
| 	withCurrentView $ \view -> do
 | |
| 		let view' = filterView view $
 | |
| 			map parseViewParam $ reverse params
 | |
| 		next $ if visibleViewSize view' > visibleViewSize view
 | |
| 			then giveup "That would add an additional level of directory structure to the view, rather than filtering it. If you want to do that, use vadd instead of vfilter."
 | |
| 			else checkoutViewBranch view' narrowView
 |