mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	 0e4ee5935a
			
		
	
	
		0e4ee5935a
		
	
	
	
	
		
			
			Derived from https://github.com/githubbrowser/Pre-commit-hooks and https://gitlab.cern.ch/GeantV/geant/blob/master/hooks/pre-commit-clang-format
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| # Provide the canonicalize filename (physical filename with out any symlinks)
 | |
| # like the GNU version readlink with the -f option regardless of the version of
 | |
| # readlink (GNU or BSD).
 | |
| 
 | |
| # This file is part of a set of unofficial pre-commit hooks available
 | |
| # at github.
 | |
| # Link:    https://github.com/githubbrowser/Pre-commit-hooks
 | |
| # Contact: David Martin, david.martin.mailbox@googlemail.com
 | |
| 
 | |
| ###########################################################
 | |
| # There should be no need to change anything below this line.
 | |
| 
 | |
| # Canonicalize by recursively following every symlink in every component of the
 | |
| # specified filename.  This should reproduce the results of the GNU version of
 | |
| # readlink with the -f option.
 | |
| #
 | |
| # Reference: http://stackoverflow.com/questions/1055671/how-can-i-get-the-behavior-of-gnus-readlink-f-on-a-mac
 | |
| canonicalize_filename () {
 | |
|     local target_file="$1"
 | |
|     local physical_directory=""
 | |
|     local result=""
 | |
| 
 | |
|     # Need to restore the working directory after work.
 | |
|     local working_dir="`pwd`"
 | |
| 
 | |
|     cd -- "$(dirname -- "$target_file")"
 | |
|     target_file="$(basename -- "$target_file")"
 | |
| 
 | |
|     # Iterate down a (possible) chain of symlinks
 | |
|     while [ -L "$target_file" ]
 | |
|     do
 | |
|         target_file="$(readlink -- "$target_file")"
 | |
|         cd -- "$(dirname -- "$target_file")"
 | |
|         target_file="$(basename -- "$target_file")"
 | |
|     done
 | |
| 
 | |
|     # Compute the canonicalized name by finding the physical path
 | |
|     # for the directory we're in and appending the target file.
 | |
|     physical_directory="`pwd -P`"
 | |
|     result="$physical_directory/$target_file"
 | |
| 
 | |
|     # restore the working directory after work.
 | |
|     cd -- "$working_dir"
 | |
| 
 | |
|     echo "$result"
 | |
| }
 |