mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			88 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Batchfile
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Batchfile
		
	
	
		
			Executable file
		
	
	
	
	
@echo off
 | 
						|
:: usage: ifchange target temporary
 | 
						|
 | 
						|
set timestamp=
 | 
						|
set keepsuffix=
 | 
						|
set empty=
 | 
						|
set color=auto
 | 
						|
:optloop
 | 
						|
for %%I in (%1) do set opt=%%~I
 | 
						|
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
 | 
						|
)
 | 
						|
if "%opt%" == "" goto :end
 | 
						|
 | 
						|
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
 | 
						|
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%"
 | 
						|
:end
 |