projects
/
feisty_meow.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
smoot-tastic with the .no-checkin
[feisty_meow.git]
/
scripts
/
rev_control
/
version_control.sh
diff --git
a/scripts/rev_control/version_control.sh
b/scripts/rev_control/version_control.sh
index eac16d423b8ced8e8aafefb492e38d101dec151c..9bf195c1b9221c6fff9d364966372f07b49bb097 100644
(file)
--- a/
scripts/rev_control/version_control.sh
+++ b/
scripts/rev_control/version_control.sh
@@
-3,8
+3,12
@@
# these are helper functions for doing localized revision control.
# this script should be sourced into other scripts that use it.
# these are helper functions for doing localized revision control.
# this script should be sourced into other scripts that use it.
+# the maximum depth that the recursive functions will try to go below the starting directory.
+export MAX_DEPTH=5
+
+#hmmm: re-address this code, since it doesn't make a lot of sense to me right now...
# one unpleasantry to take care of first; cygwin barfs aggressively if the TMP directory
# one unpleasantry to take care of first; cygwin barfs aggressively if the TMP directory
-# is a DOS path, but we need it to be a DOS path for our
XSEDE
testing, so that blows.
+# is a DOS path, but we need it to be a DOS path for our
GFFS
testing, so that blows.
# to get past this, TMP gets changed below to a hopefully generic and safe place.
if [[ "$TMP" =~ .:.* ]]; then
# to get past this, TMP gets changed below to a hopefully generic and safe place.
if [[ "$TMP" =~ .:.* ]]; then
@@
-12,7
+16,7
@@
if [[ "$TMP" =~ .:.* ]]; then
export TMP=/tmp/rev_control_$USER
fi
if [ ! -d "$TMP" ]; then
export TMP=/tmp/rev_control_$USER
fi
if [ ! -d "$TMP" ]; then
- mkdir $TMP
+ mkdir
-p
$TMP
fi
if [ ! -d "$TMP" ]; then
echo "Could not create the temporary directory TMP in: $TMP"
fi
if [ ! -d "$TMP" ]; then
echo "Could not create the temporary directory TMP in: $TMP"
@@
-108,8
+112,10
@@
function do_checkin()
return 1
fi
pushd "$directory" &>/dev/null
return 1
fi
pushd "$directory" &>/dev/null
- retval=0 # normally successful.
- if [ -d "CVS" ]; then
+ local retval=0 # normally successful.
+ if [ -f ".no-checkin" ]; then
+ echo "Not checking in because found .no-checkin sentinel file."
+ elif [ -d "CVS" ]; then
cvs ci .
retval=$?
elif [ -d ".svn" ]; then
cvs ci .
retval=$?
elif [ -d ".svn" ]; then
@@
-137,7
+143,7
@@
function do_diff
{
local directory="$1"; shift
pushd "$directory" &>/dev/null
{
local directory="$1"; shift
pushd "$directory" &>/dev/null
- retval=0 # normally successful.
+
local
retval=0 # normally successful.
# only update if we see a repository living there.
if [ -d ".svn" ]; then
# only update if we see a repository living there.
if [ -d ".svn" ]; then
@@
-156,12
+162,18
@@
function do_report_new
{
local directory="$1"; shift
pushd "$directory" &>/dev/null
{
local directory="$1"; shift
pushd "$directory" &>/dev/null
- retval=0 # normally successful.
+
local
retval=0 # normally successful.
# only update if we see a repository living there.
# only update if we see a repository living there.
- if [ -d ".svn" ]; then
+ if [ -f ".no-checkin" ]; then
+ echo "Not reporting mods because found .no-checkin sentinel file."
+ elif [ -d ".svn" ]; then
# this action so far only makes sense and is needed for svn.
bash $FEISTY_MEOW_SCRIPTS/rev_control/svnapply.sh \? echo
# this action so far only makes sense and is needed for svn.
bash $FEISTY_MEOW_SCRIPTS/rev_control/svnapply.sh \? echo
+ retval=$?
+ elif [ -d ".git" ]; then
+ git status -u
+ retval=$?
fi
popd &>/dev/null
fi
popd &>/dev/null
@@
-189,12
+201,12
@@
function checkin_list()
function squash_first_few_crs()
{
i=0
function squash_first_few_crs()
{
i=0
- while read
line
; do
+ while read
input_text
; do
i=$((i+1))
if [ $i -le 5 ]; then
i=$((i+1))
if [ $i -le 5 ]; then
- echo -n "$
line
"
+ echo -n "$
input_text
"
else
else
- echo $
line
+ echo $
input_text
fi
done
if [ $i -le 3 ]; then
fi
done
if [ $i -le 3 ]; then
@@
-207,8
+219,7
@@
function squash_first_few_crs()
function do_update()
{
directory="$1"; shift
function do_update()
{
directory="$1"; shift
- # plan on success for now.
- retval=0
+ local retval=0 # plan on success for now.
pushd "$directory" &>/dev/null
if [ -d "CVS" ]; then
cvs update . | squash_first_few_crs
pushd "$directory" &>/dev/null
if [ -d "CVS" ]; then
cvs update . | squash_first_few_crs
@@
-255,11
+266,11
@@
function generate_rev_ctrl_filelist()
{
local dir="$1"; shift
pushd "$dir" &>/dev/null
{
local dir="$1"; shift
pushd "$dir" &>/dev/null
- local dirhere="$( \cd "$(\dirname "$dir")" &&
\
pwd )"
+ local dirhere="$( \cd "$(\dirname "$dir")" &&
/bin/
pwd )"
local tempfile=$(mktemp /tmp/zz_rev_checkin.XXXXXX)
echo >$tempfile
local tempfile=$(mktemp /tmp/zz_rev_checkin.XXXXXX)
echo >$tempfile
- find $dirhere -follow -maxdepth
5 -type d -iname ".svn" -exec echo {}/.. ';' >>$tempfile
- find $dirhere -follow -maxdepth
5 -type d -iname ".git" -exec echo {}/.. ';' >>$tempfile
+ find $dirhere -follow -maxdepth
$MAX_DEPTH -type d -iname ".svn" -exec echo {}/.. ';' >>$tempfile 2>/dev/null
+ find $dirhere -follow -maxdepth
$MAX_DEPTH -type d -iname ".git" -exec echo {}/.. ';' >>$tempfile 2>/dev/null
# CVS is not well behaved like git and (now) svn, and we seldom use it anymore.
popd &>/dev/null
local sortfile=$(mktemp /tmp/zz_rev_checkin_sort.XXXXXX)
# CVS is not well behaved like git and (now) svn, and we seldom use it anymore.
popd &>/dev/null
local sortfile=$(mktemp /tmp/zz_rev_checkin_sort.XXXXXX)