mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 38a7a13ac6
			
		
	
	
		38a7a13ac6
		
			
		
	
	
	
	
		
			
			* Auto-generate the release date on version.h from git CommitDate * Generate revision.h on mswin
		
			
				
	
	
		
			115 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Batchfile
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Batchfile
		
	
	
		
			Executable file
		
	
	
	
	
| @echo off
 | |
| :: usage: ifchange target temporary
 | |
| 
 | |
| for %%I in (%0) do set progname=%%~nI
 | |
| set timestamp=
 | |
| set keepsuffix=
 | |
| set empty=
 | |
| set color=auto
 | |
| :optloop
 | |
| for %%I in (%1) do set opt=%%~I
 | |
| if "%opt%" == "--" (
 | |
|     shift
 | |
| ) else if "%opt%" == "--timestamp" (
 | |
|     set timestamp=.
 | |
|     shift
 | |
|     goto :optloop
 | |
| ) else if "%opt:~0,12%" == "--timestamp=" (
 | |
|     set timestamp=%opt:~12%
 | |
|     shift
 | |
|     goto :optloop
 | |
| ) else if "%opt%" == "--keep" (
 | |
|     set keepsuffix=.old
 | |
|     shift
 | |
|     goto :optloop
 | |
| ) else if "%opt:~0,7%" == "--keep=" (
 | |
|     set keepsuffix=%opt:~7%
 | |
|     shift
 | |
|     goto :optloop
 | |
| ) else if "%opt%" == "--empty" (
 | |
|     set empty=yes
 | |
|     shift
 | |
|     goto :optloop
 | |
| ) else if "%opt%" == "--color" (
 | |
|     set color=always
 | |
|     shift
 | |
|     goto :optloop
 | |
| ) else if "%opt:~0,8%" == "--color=" (
 | |
|     set color=%opt:~8%
 | |
|     shift
 | |
|     goto :optloop
 | |
| ) else if "%opt%" == "--debug" (
 | |
|     shift
 | |
|     echo on
 | |
|     goto :optloop
 | |
| ) else if "%opt%" == "--help" (
 | |
|     call :help
 | |
|     exit /b
 | |
| ) else if "%opt:~0,2%" == "--" (
 | |
|     echo %progname%: unknown option: %1 1>&2
 | |
|     exit /b 1
 | |
| )
 | |
| 
 | |
| if "%2" == "" (
 | |
|     call :help 1>&2
 | |
|     exit /b 1
 | |
| )
 | |
| 
 | |
| set dest=%1
 | |
| set src=%2
 | |
| set dest=%dest:/=\%
 | |
| set src=%src:/=\%
 | |
| 
 | |
| goto :nt
 | |
| 
 | |
| :unchange
 | |
| echo %1 unchanged.
 | |
| del %2
 | |
| goto :end
 | |
| 
 | |
| :update
 | |
| echo %1 updated.
 | |
| :: if exist %1 del %1
 | |
| dir /b %2
 | |
| if "%keepsuffix%" != "" %1 %1%keepsuffix%
 | |
| copy %2 %1
 | |
| del %2
 | |
| goto :end
 | |
| 
 | |
| :nt
 | |
| if exist %dest% (
 | |
|     if not exist %src% goto :nt_unchanged1
 | |
|     if "%empty%" == "" for %%I in (%src%) do if %%~zI == 0 goto :nt_unchanged
 | |
|     fc.exe %dest% %src% > nul && (
 | |
|       :nt_unchanged
 | |
| 	del %src%
 | |
|       :nt_unchanged1
 | |
| 	for %%I in (%1) do echo %%~I unchanged
 | |
| 	goto :nt_end
 | |
|     )
 | |
| )
 | |
| for %%I in (%1) do echo %%~I updated
 | |
| del /f %dest%
 | |
| copy %src% %dest% > nul
 | |
| del %src%
 | |
| 
 | |
| :nt_end
 | |
| if "%timestamp%" == "" goto :end
 | |
|     if "%timestamp%" == "." (
 | |
|         for %%I in ("%dest%") do set timestamp=%%~dpI.time.%%~nxI
 | |
|     )
 | |
|     goto :end > "%timestamp%"
 | |
| 
 | |
| :help
 | |
|     for %%I in (
 | |
|         "usage: %progname% [options] target new-file"
 | |
|         "options:"
 | |
|         "   --timestamp[=file] touch timestamp file. (default: prefixed with '.time')"
 | |
|         "                      under the directory of the target)"
 | |
|         "   --keep[=suffix]    keep old file with suffix. (default: '.old')"
 | |
|         "   --empty            assume unchanged if the new file is empty."
 | |
|         "   --color[=always|auto|never] colorize output."
 | |
|     ) do echo.%%~I
 | |
|     goto :eof
 | |
| 
 | |
| :end
 |