- local list=$*
- for i in $list; do
- # turn repo list back into an array.
- eval "repository_list=( ${REPOSITORY_LIST[*]} )"
- for j in "${repository_list[@]}"; do
- # add in the directory component.
- j="$i/$j"
- if [ ! -d "$j" ]; then continue; fi
- echo "checking in '$j'..."
- do_checkin $j
- done
+ # make the list of directories unique.
+ local list="$(uniquify $*)"
+
+ save_terminal_title
+
+ # turn repo list back into an array.
+ eval "repository_list=( ${REPOSITORY_LIST[*]} )"
+
+ local outer inner
+
+ for outer in "${repository_list[@]}"; do
+ # check the repository first, since it might be an absolute path.
+ if [[ $outer =~ /.* ]]; then
+ # yep, this path is absolute. just handle it directly.
+ if [ ! -d "$outer" ]; then continue; fi
+ do_checkin $outer
+ test_or_die "running check-in (absolute) on path: $outer"
+ sep 28
+ else
+ for inner in $list; do
+ # add in the directory component to see if we can find the folder.
+ local path="$inner/$outer"
+ if [ ! -d "$path" ]; then continue; fi
+ do_checkin $path
+ test_or_die "running check-in (relative) on path: $path"
+ sep 28
+ done
+ fi