echo "Updating $DIR ($VERSION) ..."
case $VERSION in
- http://*)
+ bzr+ssh://*|http://*|sftp://*)
if [ -d "$DIR" ]; then
if [ ! -d "$DIR/.bzr" ]; then
echo "$DIR is not a bzr checkout; cannot update" >&2
continue
+ elif [ -f "$DIR/.bzr/branch/bound" ]; then
+ bzr update "$DIR"
+ else
+ (cd "$DIR" && bzr pull "$VERSION")
+ fi
+ else
+ case $VERSION in
+ bzr+ssh://*|sftp://*)
+ bzr checkout "$VERSION" "$DIR"
+ ;;
+ *)
+ bzr get "$VERSION" "$DIR"
+ ;;
+ esac
+ fi
+ ;;
+ git://*|git+*://*)
+ if [ -d "$DIR" ]; then
+ if [ ! -d "$DIR/.git" ]; then
+ echo "$DIR is not a git checkout; cannot update" >&2
+ continue
fi
- (cd "$DIR" && bzr pull "$VERSION")
+ (cd "$DIR" && git pull "$VERSION")
else
- bzr get "$VERSION" "$DIR"
+ git clone "$VERSION" "$DIR"
fi
;;
*)