bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: move-if-change


From: Eric Blake
Subject: Re: move-if-change
Date: Fri, 28 Sep 2007 23:11:54 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Karl Berry <karl <at> freefriends.org> writes:

> 
>     Does anyone know where a canonical copy of move-if-change is stored?  
> 
> There never was a canonical location afaik.
> 
> So I too think the Autoconf version is the best place to start, and you
> should just put it in gnulib now, if/since you need it.
> 
> The gcc/emacs/etc. versions are unlikely to be improved, IMHO.

The autoconf Makefile.cfg still referenced it when grabbing from gnulib, 
although that is no longer necessary now that we use git and not CVS for 
gnulib, so I guess I don't need it right now...

But I've checked this in anyways:
http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commit;h=da27171

-- 
#!/bin/sh
# Like mv $1 $2, but if the files are the same, just delete $1.
# Status is zero if successful, nonzero otherwise.

VERSION='2007-09-28 23:10'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job.  Otherwise, update this string manually.

# Copyright (C) 2002-2007 Free Software Foundation, Inc.

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

usage="usage: $0 SOURCE DEST"

help="$usage
  or:  $0 OPTION
If SOURCE is different than DEST, then move it to DEST; else remove SOURCE.

  --help     display this help and exit
  --version  output version information and exit

Report bugs to <address@hidden>."

version=`expr "$VERSION" : '\([^ ]*\)'`
version="move-if-change (gnulib) $version
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law."


for arg
do
  case $arg in
    --help | --hel | --he | --h)
      exec echo "$help" ;;
    --version | --versio | --versi | --vers | --ver | --ve | --v)
      exec echo "$version" ;;
    --)
      shift
      break ;;
    -*)
      echo "$0: invalid option: $arg" >&2
      exit 1 ;;
    *)
      break ;;
  esac
done

test $# = 2 || { echo "$0: $usage" >&2; exit 1; }

if test -r "$2" && cmp -s -- "$1" "$2"; then
  rm -f -- "$1"
else
  mv -f -- "$1" "$2"
fi

## Local Variables:
## eval: (add-hook 'write-file-hooks 'time-stamp)
## time-stamp-start: "VERSION='"
## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
## time-stamp-time-zone: "UTC"
## time-stamp-end: "'; # UTC"
## End:







reply via email to

[Prev in Thread] Current Thread [Next in Thread]