You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	version.sh: handle shallow clones and snapshots.
Shallow clones (--depth X) lack the N tag used to compute the revision number: use 'git-YYYY-MM-DD-hhhhhhh' as revision, where hhhhhhh is the short git hash. Snapshots from gitweb do not have git information at all, but they have the short git hash in the directory name: append it to the release number.
This commit is contained in:
		
							
								
								
									
										20
									
								
								version.sh
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								version.sh
									
									
									
									
									
								
							| @@ -5,9 +5,29 @@ if ! test "$revision"; then | ||||
|     revision=$(cd "$1" && git describe --tags --match N 2> /dev/null) | ||||
| fi | ||||
|  | ||||
| # Shallow Git clones (--depth) do not have the N tag: | ||||
| # use 'git-YYYY-MM-DD-hhhhhhh'. | ||||
| test "$revision" || revision=$(cd "$1" && | ||||
|   git log -1 --pretty=format:"git-%cd-%h" --date=short 2> /dev/null) | ||||
|  | ||||
| # Snapshots from gitweb are in a directory called ffmpeg-hhhhhhh or | ||||
| # ffmpeg-HEAD-hhhhhhh. | ||||
| if [ -z "$revision" ]; then | ||||
|   srcdir=$(cd "$1" && pwd) | ||||
|   case "$srcdir" in | ||||
|     */ffmpeg-[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]) | ||||
|       git_hash="${srcdir##*-}";; | ||||
|     */ffmpeg-HEAD-[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]) | ||||
|       git_hash="${srcdir##*-}";; | ||||
|   esac | ||||
| fi | ||||
|  | ||||
| # no revision number found | ||||
| test "$revision" || revision=$(cd "$1" && cat RELEASE 2> /dev/null) | ||||
|  | ||||
| # Append the Git hash if we have one | ||||
| test "$revision" && test "$git_hash" && revision="$revision-$git_hash" | ||||
|  | ||||
| # releases extract the version number from the VERSION file | ||||
| version=$(cd "$1" && cat VERSION 2> /dev/null) | ||||
| test "$version" || version=$revision | ||||
|   | ||||
		Reference in New Issue
	
	Block a user