tweaks
This commit is contained in:
		
					parent
					
						
							
								1118b4a646
							
						
					
				
			
			
				commit
				
					
						9c7b3dce9e
					
				
			
		
					 2 changed files with 13 additions and 9 deletions
				
			
		
							
								
								
									
										18
									
								
								GitRepo.hs
									
										
									
									
									
								
							
							
						
						
									
										18
									
								
								GitRepo.hs
									
										
									
									
									
								
							|  | @ -24,6 +24,7 @@ module GitRepo ( | ||||||
| 	configGet, | 	configGet, | ||||||
| 	configMap, | 	configMap, | ||||||
| 	configRead, | 	configRead, | ||||||
|  | 	configTrue, | ||||||
| 	run, | 	run, | ||||||
| 	pipeRead, | 	pipeRead, | ||||||
| 	attributes, | 	attributes, | ||||||
|  | @ -47,6 +48,7 @@ import Data.String.Utils | ||||||
| import Data.Map as Map hiding (map, split) | import Data.Map as Map hiding (map, split) | ||||||
| import Network.URI | import Network.URI | ||||||
| import Maybe | import Maybe | ||||||
|  | import Char | ||||||
| 
 | 
 | ||||||
| import Utility | import Utility | ||||||
| 
 | 
 | ||||||
|  | @ -127,13 +129,11 @@ assertssh repo action = | ||||||
| 		then action | 		then action | ||||||
| 		else error $ "unsupported url " ++ (show $ url repo) | 		else error $ "unsupported url " ++ (show $ url repo) | ||||||
| bare :: Repo -> Bool | bare :: Repo -> Bool | ||||||
| bare repo =  | bare repo = case Map.lookup "core.bare" $ config repo of | ||||||
| 	if (member b (config repo)) | 	Just v -> configTrue v | ||||||
| 		then ("true" == fromJust (Map.lookup b (config repo))) | 	Nothing -> error $ "it is not known if git repo " ++ | ||||||
| 		else error $ "it is not known if git repo " ++ (repoDescribe repo) ++ | 			(repoDescribe repo) ++ | ||||||
| 			" is a bare repository; config not read" | 			" is a bare repository; config not read" | ||||||
| 	where |  | ||||||
| 		b = "core.bare" |  | ||||||
| 
 | 
 | ||||||
| {- Path to a repository's gitattributes file. -} | {- Path to a repository's gitattributes file. -} | ||||||
| attributes :: Repo -> String | attributes :: Repo -> String | ||||||
|  | @ -173,7 +173,7 @@ relative repo file = assertLocal repo $ drop (length absrepo) absfile | ||||||
| {- Hostname of an URL repo. (May include a username and/or port too.) -} | {- Hostname of an URL repo. (May include a username and/or port too.) -} | ||||||
| urlHost :: Repo -> String | urlHost :: Repo -> String | ||||||
| urlHost repo = assertUrl repo $  | urlHost repo = assertUrl repo $  | ||||||
| 	(uriUserInfo a) ++ (uriRegName a) ++ (uriPort a) | 	uriUserInfo a ++ uriRegName a ++ uriPort a | ||||||
| 	where  | 	where  | ||||||
| 		a = fromJust $ uriAuthority $ url repo | 		a = fromJust $ uriAuthority $ url repo | ||||||
| 
 | 
 | ||||||
|  | @ -235,6 +235,10 @@ configRead repo = | ||||||
| 			let r = repo { config = configParse val } | 			let r = repo { config = configParse val } | ||||||
| 			return r { remotes = configRemotes r }	 | 			return r { remotes = configRemotes r }	 | ||||||
| 
 | 
 | ||||||
|  | {- Checks if a string fron git config is a true value. -} | ||||||
|  | configTrue :: String -> Bool | ||||||
|  | configTrue s = map toLower s == "true" | ||||||
|  | 
 | ||||||
| {- Calculates a list of a repo's configured remotes, by parsing its config. -} | {- Calculates a list of a repo's configured remotes, by parsing its config. -} | ||||||
| configRemotes :: Repo -> [Repo] | configRemotes :: Repo -> [Repo] | ||||||
| configRemotes repo = map construct remotes | configRemotes repo = map construct remotes | ||||||
|  |  | ||||||
|  | @ -139,10 +139,10 @@ repoNotIgnored r = do | ||||||
| 	let name = if (not $ null fromName) then fromName else toName | 	let name = if (not $ null fromName) then fromName else toName | ||||||
| 	if (not $ null name) | 	if (not $ null name) | ||||||
| 		then return $ match name | 		then return $ match name | ||||||
| 		else return $ notignored g | 		else return $ not $ ignored g | ||||||
| 	where | 	where | ||||||
| 		match name = name == Git.repoRemoteName r | 		match name = name == Git.repoRemoteName r | ||||||
| 		notignored g = "true" /= config g | 		ignored g = Git.configTrue $ config g | ||||||
| 		config g = Git.configGet g configkey "" | 		config g = Git.configGet g configkey "" | ||||||
| 		configkey = "remote." ++ (Git.repoRemoteName r) ++ ".annex-ignore" | 		configkey = "remote." ++ (Git.repoRemoteName r) ++ ".annex-ignore" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Joey Hess
				Joey Hess