mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
purge-stale-projects.sh: Check for local modifications before moving
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
21ef688911
commit
4fcef03284
1 changed files with 31 additions and 2 deletions
|
|
@ -1,11 +1,31 @@
|
|||
#!/bin/bash
|
||||
|
||||
log()
|
||||
{
|
||||
echo $@
|
||||
}
|
||||
|
||||
fatal()
|
||||
{
|
||||
log $@
|
||||
exit 1
|
||||
}
|
||||
|
||||
goodbye()
|
||||
{
|
||||
rm -f $cvs_status
|
||||
}
|
||||
|
||||
local_cvs_proj=`ls -d */CVS 2>/dev/null | sed 's%/[^/]*%%'`
|
||||
local_git_proj=`ls -d */.git 2>/dev/null | sed 's%/[^/]*%%'`
|
||||
remote_cvs_proj=`ssh cvs.jannet.de find /home/jannet/arc/cvs/proj -type d -maxdepth 1 -mindepth 1 | sed 's%.*/%%'`
|
||||
remote_git_proj=`ssh git.jannet.de git-srv-admin.sh -j list-personal-projects`
|
||||
|
||||
date=`date +'%Y%m%d'`
|
||||
myname=`basename $0`
|
||||
|
||||
trap goodbye EXIT INT QUIT KILL
|
||||
cvs_status=`mktemp /tmp/$myname""_XXXXXX`
|
||||
|
||||
for p in $local_cvs_proj; do
|
||||
[ -L $p ] && continue
|
||||
|
|
@ -18,6 +38,8 @@ for p in $local_cvs_proj; do
|
|||
purged="$purged $p"
|
||||
done
|
||||
|
||||
[ -d old ] && mv old purged
|
||||
|
||||
[ "$purged" ] && {
|
||||
cp -p CVS/Entries CVS/Entries-$date-`date +'%H%M%S'`
|
||||
}
|
||||
|
|
@ -30,9 +52,16 @@ for p in $local_git_proj; do
|
|||
[ -L $p ] && continue
|
||||
[ -d $p ] || continue
|
||||
echo $remote_git_proj | grep -q "\(^\| \)$p\($\| \)" && continue
|
||||
n=old/git/$date/$p
|
||||
cvs status $p > $cvs_status 2>&1
|
||||
if [ $? != 0 ]; then
|
||||
cat $cvs_status
|
||||
fatal "\n======== cvs status failed in project $p, giving up."
|
||||
fi
|
||||
grep -qi "project $p has locally modified" $cvs_status && \
|
||||
fatal "cvs copy has locally modified files, giving up"
|
||||
n=purged/git/$date/$p
|
||||
mkdir -p `dirname $n`
|
||||
mv $p $n
|
||||
echo moving state git project $p to $n
|
||||
log "moving stale CVS project \"$p\" to \"$n\""
|
||||
done
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue