function do_checkin()
{
local directory="$1"; shift
-echo "do_checkin sees directory '$directory'"
do_update "$directory"
if [ $? -ne 0 ]; then
echo "Repository update failed; this should be fixed before check-in."
{
local dir="$1"; shift
pushd "$dir" &>/dev/null
- local dirhere="$(\pwd)"
+ local dirhere="$( \cd "$(\dirname "$dir")" && \pwd )"
local tempfile=$(mktemp /tmp/zz_rev_checkin.XXXXXX)
echo >$tempfile
- find $dirhere -maxdepth 5 -type d -iname ".svn" -exec echo {}/.. ';' >>$tempfile
- find $dirhere -maxdepth 5 -type d -iname ".git" -exec echo {}/.. ';' >>$tempfile
+ find $dirhere -follow -maxdepth 5 -type d -iname ".svn" -exec echo {}/.. ';' >>$tempfile 2>/dev/null
+ find $dirhere -follow -maxdepth 5 -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)
local tempfile="$1"; shift
local action="$1"; shift
-# dirs=($(cat $tempfile))
-
while read -u 3 dirname; do
-# for dirname in "${dirs[@]}"; do
if [ -z "$dirname" ]; then continue; fi
pushd "$dirname" &>/dev/null
echo "[$(pwd)]"