jw-pkg/scripts/scm.sh
Jan Lindemann 14e76bbddd scm.sh: Add cmd_clean to scm.sh
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-24 12:59:10 +00:00

77 lines
762 B
Bash

#!/bin/bash
cmd_mv()
{
local from="$1"
local to="$2"
case $scm in
cvs)
cp "$from" "$to"
cvs add "$to"
cvs remove -f "$from"
;;
git)
git mv "$from" "$to"
;;
esac
}
cmd_commit()
{
C=''
for i in "$@"; do
C="$C \"${i//\"/\\\"}\""
done
eval $scm commit "$C"
}
cmd_add()
{
$scm add "$@"
}
cmd_rm()
{
case $scm in
cvs)
cvs remove "$@"
;;
git)
git rm "$@"
;;
esac
}
cmd_clean()
{
case $scm in
cvs)
while [ "${1:0:1}" = - ]; do
shift
done
set +e
local file
for file in $@; do
if ! grep -q "/$file/" CVS/Entries; then
rm -f $file
fi
done
;;
git)
git clean "$@"
;;
esac
}
# ------- here we go
myname=`basename $0`
cmd=cmd_$1
shift
if [ -d "CVS" ]; then
scm=cvs
else
scm=git
fi
$cmd "$@"