projects
/
feisty_meow.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
new fortune
[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 b6ab0217f6f3c7f1001723841c27e4e0cbad9417..c41f7cdded99575cf8737ba96b1383f860867527 100644
(file)
--- a/
scripts/rev_control/version_control.sh
+++ b/
scripts/rev_control/version_control.sh
@@
-3,6
+3,9
@@
# 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.
+source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
+source "$FEISTY_MEOW_SCRIPTS/tty/terminal_titler.sh"
+
# the maximum depth that the recursive functions will try to go below the starting directory.
export MAX_DEPTH=5
# the maximum depth that the recursive functions will try to go below the starting directory.
export MAX_DEPTH=5
@@
-19,8
+22,8
@@
if [ ! -d "$TMP" ]; then
mkdir -p $TMP
fi
if [ ! -d "$TMP" ]; then
mkdir -p $TMP
fi
if [ ! -d "$TMP" ]; then
- echo "
C
ould not create the temporary directory TMP in: $TMP"
- echo "
T
his script will not work properly without an existing TMP directory."
+ echo "
c
ould not create the temporary directory TMP in: $TMP"
+ echo "
t
his script will not work properly without an existing TMP directory."
fi
this_host=
fi
this_host=
@@
-106,14
+109,19
@@
function compute_modifier()
function do_checkin()
{
local directory="$1"; shift
function do_checkin()
{
local directory="$1"; shift
+
+ save_terminal_title
+
do_update "$directory"
if [ $? -ne 0 ]; then
do_update "$directory"
if [ $? -ne 0 ]; then
- echo "
R
epository update failed; this should be fixed before check-in."
+ echo "
r
epository update failed; this should be fixed before check-in."
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 "skipping check-in due to presence of .no-checkin sentinel file."
+ elif [ -d "CVS" ]; then
cvs ci .
retval=$?
elif [ -d ".svn" ]; then
cvs ci .
retval=$?
elif [ -d ".svn" ]; then
@@
-134,14
+142,20
@@
function do_checkin()
retval=1
fi
popd &>/dev/null
retval=1
fi
popd &>/dev/null
+
+ restore_terminal_title
+
return $retval
}
function do_diff
{
local directory="$1"; shift
return $retval
}
function do_diff
{
local directory="$1"; shift
+
+ save_terminal_title
+
pushd "$directory" &>/dev/null
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
@@
-153,22
+167,37
@@
function do_diff
fi
popd &>/dev/null
fi
popd &>/dev/null
+
+ restore_terminal_title
+
return $retval
}
function do_report_new
{
local directory="$1"; shift
return $retval
}
function do_report_new
{
local directory="$1"; shift
+
+ save_terminal_title
+
pushd "$directory" &>/dev/null
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 "skipping reporting due to presence of .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
+
+ restore_terminal_title
+
return $retval
}
return $retval
}
@@
-176,6
+205,9
@@
function do_report_new
function checkin_list()
{
local list=$*
function checkin_list()
{
local list=$*
+
+ save_terminal_title
+
for i in $list; do
# turn repo list back into an array.
eval "repository_list=( ${REPOSITORY_LIST[*]} )"
for i in $list; do
# turn repo list back into an array.
eval "repository_list=( ${REPOSITORY_LIST[*]} )"
@@
-185,8
+217,11
@@
function checkin_list()
if [ ! -d "$j" ]; then continue; fi
echo "checking in '$j'..."
do_checkin $j
if [ ! -d "$j" ]; then continue; fi
echo "checking in '$j'..."
do_checkin $j
+ sep 7
done
done
done
done
+
+ restore_terminal_title
}
# takes out the first few carriage returns that are in the input.
}
# takes out the first few carriage returns that are in the input.
@@
-211,8
+246,10
@@
function squash_first_few_crs()
function do_update()
{
directory="$1"; shift
function do_update()
{
directory="$1"; shift
- # plan on success for now.
- retval=0
+
+ save_terminal_title
+
+ 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
@@
-228,12
+265,18
@@
function do_update()
echo no repository in $directory
fi
popd &>/dev/null
echo no repository in $directory
fi
popd &>/dev/null
+
+ restore_terminal_title
+
return $retval
}
# gets all the updates for a list of folders under revision control.
function checkout_list {
list=$*
return $retval
}
# gets all the updates for a list of folders under revision control.
function checkout_list {
list=$*
+
+ save_terminal_title
+
for i in $list; do
# turn repo list back into an array.
eval "repository_list=( ${REPOSITORY_LIST[*]} )"
for i in $list; do
# turn repo list back into an array.
eval "repository_list=( ${REPOSITORY_LIST[*]} )"
@@
-242,7
+285,7
@@
function checkout_list {
j="$i/$j"
if [ ! -d $j ]; then
if [ ! -z "$SHELL_DEBUG" ]; then
j="$i/$j"
if [ ! -d $j ]; then
if [ ! -z "$SHELL_DEBUG" ]; then
- echo "
N
o directory called $j exists."
+ echo "
n
o directory called $j exists."
fi
continue
fi
fi
continue
fi
@@
-251,6
+294,8
@@
function checkout_list {
do_update $j
done
done
do_update $j
done
done
+
+ restore_terminal_title
}
# provides a list of absolute paths of revision control directories
}
# provides a list of absolute paths of revision control directories
@@
-276,18
+321,25
@@
function generate_rev_ctrl_filelist()
# on each directory name, it performs the action (second parameter) provided.
function perform_revctrl_action_on_file()
{
# on each directory name, it performs the action (second parameter) provided.
function perform_revctrl_action_on_file()
{
+
+#hmmm: this doesn't capture any error returns!
+
local tempfile="$1"; shift
local action="$1"; shift
local tempfile="$1"; shift
local action="$1"; shift
+ save_terminal_title
+
while read -u 3 dirname; do
if [ -z "$dirname" ]; then continue; fi
pushd "$dirname" &>/dev/null
echo "[$(pwd)]"
$action .
while read -u 3 dirname; do
if [ -z "$dirname" ]; then continue; fi
pushd "$dirname" &>/dev/null
echo "[$(pwd)]"
$action .
- echo "======="
+ sep 7
popd &>/dev/null
done 3<"$tempfile"
popd &>/dev/null
done 3<"$tempfile"
+ restore_terminal_title
+
rm $tempfile
}
rm $tempfile
}