Make --numcopies override annex.numcopies set in .gitattributes.
This commit is contained in:
		
					parent
					
						
							
								deaf471eb7
							
						
					
				
			
			
				commit
				
					
						b3db88252c
					
				
			
		
					 5 changed files with 12 additions and 3 deletions
				
			
		
							
								
								
									
										2
									
								
								Annex.hs
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								Annex.hs
									
										
									
									
									
								
							| 
						 | 
					@ -92,6 +92,7 @@ data AnnexState = AnnexState
 | 
				
			||||||
	, catfilehandles :: M.Map FilePath CatFileHandle
 | 
						, catfilehandles :: M.Map FilePath CatFileHandle
 | 
				
			||||||
	, checkattrhandle :: Maybe CheckAttrHandle
 | 
						, checkattrhandle :: Maybe CheckAttrHandle
 | 
				
			||||||
	, forcebackend :: Maybe String
 | 
						, forcebackend :: Maybe String
 | 
				
			||||||
 | 
						, forcenumcopies :: Maybe Int
 | 
				
			||||||
	, limit :: Matcher (FileInfo -> Annex Bool)
 | 
						, limit :: Matcher (FileInfo -> Annex Bool)
 | 
				
			||||||
	, uuidmap :: Maybe UUIDMap
 | 
						, uuidmap :: Maybe UUIDMap
 | 
				
			||||||
	, preferredcontentmap :: Maybe PreferredContentMap
 | 
						, preferredcontentmap :: Maybe PreferredContentMap
 | 
				
			||||||
| 
						 | 
					@ -123,6 +124,7 @@ newState gitrepo = AnnexState
 | 
				
			||||||
	, catfilehandles = M.empty
 | 
						, catfilehandles = M.empty
 | 
				
			||||||
	, checkattrhandle = Nothing
 | 
						, checkattrhandle = Nothing
 | 
				
			||||||
	, forcebackend = Nothing
 | 
						, forcebackend = Nothing
 | 
				
			||||||
 | 
						, forcenumcopies = Nothing
 | 
				
			||||||
	, limit = Left []
 | 
						, limit = Left []
 | 
				
			||||||
	, uuidmap = Nothing
 | 
						, uuidmap = Nothing
 | 
				
			||||||
	, preferredcontentmap = Nothing
 | 
						, preferredcontentmap = Nothing
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -99,7 +99,11 @@ isBareRepo :: Annex Bool
 | 
				
			||||||
isBareRepo = fromRepo Git.repoIsLocalBare
 | 
					isBareRepo = fromRepo Git.repoIsLocalBare
 | 
				
			||||||
 | 
					
 | 
				
			||||||
numCopies :: FilePath  -> Annex (Maybe Int)
 | 
					numCopies :: FilePath  -> Annex (Maybe Int)
 | 
				
			||||||
numCopies file = readish <$> checkAttr "annex.numcopies" file
 | 
					numCopies file = do
 | 
				
			||||||
 | 
						forced <- Annex.getState Annex.forcenumcopies
 | 
				
			||||||
 | 
						case forced of
 | 
				
			||||||
 | 
							Just n -> return $ Just n
 | 
				
			||||||
 | 
							Nothing -> readish <$> checkAttr "annex.numcopies" file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
numCopiesCheck :: FilePath -> Key -> (Int -> Int -> Bool) -> Annex Bool
 | 
					numCopiesCheck :: FilePath -> Key -> (Int -> Int -> Bool) -> Annex Bool
 | 
				
			||||||
numCopiesCheck file key vs = do
 | 
					numCopiesCheck file key vs = do
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -53,10 +53,9 @@ options = Option.common ++
 | 
				
			||||||
	] ++ Option.matcher
 | 
						] ++ Option.matcher
 | 
				
			||||||
  where
 | 
					  where
 | 
				
			||||||
	setnumcopies v = maybe noop
 | 
						setnumcopies v = maybe noop
 | 
				
			||||||
		(\n -> Annex.changeGitConfig $ \c -> c { annexNumCopies = n })
 | 
							(\n -> Annex.changeState $ \s -> s { Annex.forcenumcopies = Just n })
 | 
				
			||||||
		(readish v)
 | 
							(readish v)
 | 
				
			||||||
	setgitconfig v = Annex.changeGitRepo =<< inRepo (Git.Config.store v)
 | 
						setgitconfig v = Annex.changeGitRepo =<< inRepo (Git.Config.store v)
 | 
				
			||||||
 | 
					 | 
				
			||||||
	trustArg t = ReqArg (Remote.forceTrust t) paramRemote
 | 
						trustArg t = ReqArg (Remote.forceTrust t) paramRemote
 | 
				
			||||||
 | 
					
 | 
				
			||||||
keyOptions :: [Option]
 | 
					keyOptions :: [Option]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								debian/changelog
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								debian/changelog
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -32,6 +32,7 @@ git-annex (4.20130628) UNRELEASED; urgency=low
 | 
				
			||||||
    does not correspond to any unused key.
 | 
					    does not correspond to any unused key.
 | 
				
			||||||
  * fsck: Don't claim to fix direct mode when run on a symlink whose content
 | 
					  * fsck: Don't claim to fix direct mode when run on a symlink whose content
 | 
				
			||||||
    is not present.
 | 
					    is not present.
 | 
				
			||||||
 | 
					  * Make --numcopies override annex.numcopies set in .gitattributes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 -- Joey Hess <joeyh@debian.org>  Tue, 02 Jul 2013 15:40:55 -0400
 | 
					 -- Joey Hess <joeyh@debian.org>  Tue, 02 Jul 2013 15:40:55 -0400
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,3 +11,6 @@ Second line fails if only one other copy exists.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### What version of git-annex are you using? On what operating system?
 | 
					### What version of git-annex are you using? On what operating system?
 | 
				
			||||||
git-annex version: 4.20130627
 | 
					git-annex version: 4.20130627
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> I don't think this was ever handled correctly.
 | 
				
			||||||
 | 
					> I've fixed it now. [[done]] --[[Joey]] 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue