Refuse to build with git older than 1.7.1.1, which is needed for git checkout -B
This commit is contained in:
		
					parent
					
						
							
								0cac4402ac
							
						
					
				
			
			
				commit
				
					
						5a5adc44f5
					
				
			
		
					 3 changed files with 22 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -10,6 +10,7 @@ import System.FilePath
 | 
			
		|||
import System.Environment (getArgs)
 | 
			
		||||
import Data.Maybe
 | 
			
		||||
import Control.Monad.IfElse
 | 
			
		||||
import Control.Monad
 | 
			
		||||
import Data.Char
 | 
			
		||||
 | 
			
		||||
import Build.TestConfig
 | 
			
		||||
| 
						 | 
				
			
			@ -95,8 +96,12 @@ getUpgradeLocation = do
 | 
			
		|||
	return $ Config "upgradelocation" $ MaybeStringConfig e
 | 
			
		||||
 | 
			
		||||
getGitVersion :: Test
 | 
			
		||||
getGitVersion = Config "gitversion" . StringConfig . show
 | 
			
		||||
	<$> Git.Version.installed
 | 
			
		||||
getGitVersion = do
 | 
			
		||||
	v <- Git.Version.installed
 | 
			
		||||
	let oldestallowed = Git.Version.normalize "1.7.1.0"
 | 
			
		||||
	when (v < oldestallowed) $
 | 
			
		||||
		error $ "installed git version " ++ show v ++ " is too old! (Need " ++ show oldestallowed ++ " or newer)"
 | 
			
		||||
	return $ Config "gitversion" $ StringConfig $ show v
 | 
			
		||||
 | 
			
		||||
getSshConnectionCaching :: Test
 | 
			
		||||
getSshConnectionCaching = Config "sshconnectioncaching" . BoolConfig <$>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								debian/changelog
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								debian/changelog
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -3,6 +3,8 @@ git-annex (5.20140108) UNRELEASED; urgency=medium
 | 
			
		|||
  * Added tahoe special remote.
 | 
			
		||||
  * external special remote protocol: Added GETGITDIR, and GETAVAILABILITY.
 | 
			
		||||
  * Android: Avoid passing --clobber to busybox wget.
 | 
			
		||||
  * Refuse to build with git older than 1.7.1.1, which is needed for
 | 
			
		||||
    git checkout -B
 | 
			
		||||
 | 
			
		||||
 -- Joey Hess <joeyh@debian.org>  Wed, 08 Jan 2014 13:13:54 -0400
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,3 +26,16 @@ usage: git checkout [options] <branch>
 | 
			
		|||
 | 
			
		||||
# End of transcript or log.
 | 
			
		||||
"""]]
 | 
			
		||||
 | 
			
		||||
> git-annex checks the git version at compile time and arranges to use
 | 
			
		||||
> commands that will work with that version of git at run time.
 | 
			
		||||
> 
 | 
			
		||||
> Adding a runtime check for a minimum git version would slow every git-annex
 | 
			
		||||
> command down and so I don't want to do it. It's up to the user to not
 | 
			
		||||
> built git-annex with a new version of git and then try to use it with an
 | 
			
		||||
> old version of git.
 | 
			
		||||
> 
 | 
			
		||||
> `git checkout -B` seems to have been added to git quite a long time ago
 | 
			
		||||
> (2010), in version 1.7.1.1. I've made git-annex check at compile
 | 
			
		||||
> time if being built with such an old version and refuse to build.
 | 
			
		||||
> [[done]]. --[[Joey]]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue