make/lib: podpora pro zatím neexistující větve
(pokud jsem to napsal správně.)
This commit is contained in:
		
							parent
							
								
									9a3f51ca6b
								
							
						
					
					
						commit
						485c4180da
					
				
					 1 changed files with 13 additions and 2 deletions
				
			
		
							
								
								
									
										15
									
								
								make/lib.sh
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								make/lib.sh
									
									
									
									
									
								
							|  | @ -6,6 +6,7 @@ VENV_PATH="${VENV_PATH:-env}" | |||
| BRANCH="${BRANCH:-master}" | ||||
| 
 | ||||
| REPO="${REPO:-git@gitea.ks.matfyz.cz:mam/mamweb.git}" | ||||
| UPSTREAM_REMOTE='origin' | ||||
| GIMLI='gimli.ms.mff.cuni.cz' | ||||
| GIMLI_LOGIN="mam-web@$GIMLI" | ||||
| # Skutečné cesty, jak je vrátí `realpath` | ||||
|  | @ -70,16 +71,26 @@ function safe_checkout_branch { | |||
| 	local SCRIPT="$0" | ||||
| 
 | ||||
| 	git fetch --all | ||||
| 	local UPSTREAM_BRANCH | ||||
| 	if git rev-parse "$BRANCH@{u}" >/dev/null 2>/dev/null | ||||
| 	then | ||||
| 		UPSTREAM_BRANCH="$BRANCH@{u}" # Stačí symbolicky. | ||||
| 	else | ||||
| 		# Tohle je jediná možná záchrana. | ||||
| 		UPSTREAM_BRANCH="$UPSTREAM_REMOTE/$BRANCH" | ||||
| 	fi | ||||
| 	git rev-parse "$UPSTREAM_BRANCH" || die "Vzdálená větev $UPSTREAM_BRANCH neexistuje?" | ||||
| 
 | ||||
| 	# Od teď si musíme dát pozor, abychom nezměnili kód, který právě běží. | ||||
| 	# Zkontrolujeme, že se nemění tahle knihovna a skript, který běží. | ||||
| 	# `git rev-parse` dává SHA-1 hashe objektů, vizte manuálovou stránku pro pochopení. | ||||
| 	# Pozor: tohle porovnává jen verze commitnuté do gitu. Lokální změny udělají něco náhodného… | ||||
| 	if test "$(git rev-parse @:make/lib.sh)" != "$(git rev-parse "$BRANCH@{u}":make/lib.sh)" | ||||
| 	if test "$(git rev-parse @:make/lib.sh)" != "$(git rev-parse "$REMOTE_BRANCH":make/lib.sh)" | ||||
| 	then | ||||
| 		echo >&2 "Změna v make/lib.sh, prosím pullni manuálně" | ||||
| 		exit 1 | ||||
| 	fi | ||||
| 	if test "$(git rev-parse @:"$SCRIPT")" != "$(git rev-parse "$BRANCH@{u}":"$SCRIPT")" | ||||
| 	if test "$(git rev-parse @:"$SCRIPT")" != "$(git rev-parse "$REMOTE_BRANCH":"$SCRIPT")" | ||||
| 	then | ||||
| 		echo >&2 "Změna v $SCRIPT, prosím pullni manuálně" | ||||
| 		exit 1 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Pavel "LEdoian" Turinsky
						Pavel "LEdoian" Turinsky