mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	ifchange: check the number of arguments
This commit is contained in:
		
							parent
							
								
									8da7f4abc7
								
							
						
					
					
						commit
						977252421b
					
				
					 2 changed files with 57 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -3,6 +3,18 @@
 | 
			
		|||
 | 
			
		||||
# Used in generating revision.h via Makefiles.
 | 
			
		||||
 | 
			
		||||
help() {
 | 
			
		||||
    cat <<HELP
 | 
			
		||||
usage: $0 [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.
 | 
			
		||||
HELP
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
timestamp=
 | 
			
		||||
keepsuffix=
 | 
			
		||||
| 
						 | 
				
			
			@ -10,6 +22,10 @@ empty=
 | 
			
		|||
color=auto
 | 
			
		||||
until [ $# -eq 0 ]; do
 | 
			
		||||
    case "$1" in
 | 
			
		||||
	--)
 | 
			
		||||
	    shift
 | 
			
		||||
	    break;
 | 
			
		||||
	    ;;
 | 
			
		||||
	--timestamp)
 | 
			
		||||
	    timestamp=.
 | 
			
		||||
	    ;;
 | 
			
		||||
| 
						 | 
				
			
			@ -34,6 +50,14 @@ until [ $# -eq 0 ]; do
 | 
			
		|||
	--debug)
 | 
			
		||||
	    set -x
 | 
			
		||||
	    ;;
 | 
			
		||||
	--help)
 | 
			
		||||
	    help
 | 
			
		||||
	    exit
 | 
			
		||||
	    ;;
 | 
			
		||||
	--*)
 | 
			
		||||
	    echo "$0: unknown option: $1" 1>&2
 | 
			
		||||
	    exit 1
 | 
			
		||||
	    ;;
 | 
			
		||||
	*)
 | 
			
		||||
	    break
 | 
			
		||||
	    ;;
 | 
			
		||||
| 
						 | 
				
			
			@ -41,6 +65,11 @@ until [ $# -eq 0 ]; do
 | 
			
		|||
    shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
if [ "$#" != 2 ]; then
 | 
			
		||||
    help
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
target="$1"
 | 
			
		||||
temp="$2"
 | 
			
		||||
if [ "$temp" = - ]; then
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,13 +1,16 @@
 | 
			
		|||
@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%" == "--timestamp" (
 | 
			
		||||
if "%opt%" == "--" (
 | 
			
		||||
    shift
 | 
			
		||||
) else if "%opt%" == "--timestamp" (
 | 
			
		||||
    set timestamp=.
 | 
			
		||||
    shift
 | 
			
		||||
    goto :optloop
 | 
			
		||||
| 
						 | 
				
			
			@ -39,8 +42,18 @@ if "%opt%" == "--timestamp" (
 | 
			
		|||
    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
 | 
			
		||||
)
 | 
			
		||||
if "%opt%" == "" goto :end
 | 
			
		||||
 | 
			
		||||
set dest=%1
 | 
			
		||||
set src=%2
 | 
			
		||||
| 
						 | 
				
			
			@ -85,4 +98,17 @@ if "%timestamp%" == "" goto :end
 | 
			
		|||
        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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue