1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/win32/ifchange.bat
nobu 6d91bf3b0c * common.mk (revision.h): extracts revision number with ``svn info''.
* common.mk (up): target to update from the repository.

* Makefile.in, {win,bcc}32/Makefile.sub (IFCHANGE): tool to update a
  file if changed.

* tool/ifchange: for unixen.

* win32/ifchange.bat: some fix


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-25 09:27:30 +00:00

59 lines
1.1 KiB
Batchfile
Executable file

@echo off
:: usage: ifchange target temporary
if "%1" == "" goto :end
set dest=%1
set src=%2
set dest=%dest:/=\%
set src=%src:/=\%
if not "%dest%" == "" if not "%dest%" == "%%dest:/=\%%" goto :nt
if not exist %2 goto :end
:: check if fc.exe works.
echo foo > conftst1.tmp
echo bar > conftst2.tmp
fc.exe conftst1.tmp conftst2.tmp > nul
if not errorlevel 1 goto :brokenfc
del conftst1.tmp > nul
del conftst2.tmp > nul
:: target does not exist or new file differs from it.
if not exist %1 goto :update
fc.exe %1 %2 > nul
if errorlevel 1 goto :update
:unchange
echo %1 unchanged.
del %2
goto :end
:brokenfc
del conftest1.tmp > nul
del conftest2.tmp > nul
echo FC.EXE does not work properly.
echo assuming %1 should be changed.
:update
echo %1 updated.
:: if exist %1 del %1
dir /b %2
copy %2 %1
del %2
goto :end
:nt
if not exist %src% goto :end
if exist %dest% (
fc.exe %dest% %src% > nul && (
echo %dest% unchanged.
del %src%
goto :end
)
)
echo %dest% updated.
copy %src% %dest% > nul
del %src%
:end