diff --git a/vcsh b/vcsh
index 59c423732e934b8bc77712a6870e9ad430a4b4b7..ae0fa68afb02da9d7fddb271da9b7cbb2c96bc0f 100755
--- a/vcsh
+++ b/vcsh
@@ -44,6 +44,10 @@ fatal () {
 	exit $2
 }
 
+info () {
+	echo "$SELF: info: $1"
+}
+
 setup() {
 	git config core.worktree     "$GIT_WORK_TREE"
 	git config core.excludesfile ".gitignore.d/$VCSH_REPO_NAME"
@@ -120,7 +124,7 @@ do
 		if [ -e "$check_directory" ]; then
 			fatal "$check_directory exists but is not a directory" 13
 		else
-			echo "$SELF: info: attempting to create $check_directory"
+			info "attempting to create $check_directory"
 			mkdir -p "$check_directory" || fatal "could not create $check_directory" 50
 		fi
 	fi
@@ -154,7 +158,7 @@ elif [ "$VCSH_COMMAND" = 'delete' ]; then
 	old_dir="$PWD"
 	cd "$HOME"
 	use || exit $?
-	echo "$SELF: info: This operation WILL DETROY DATA!"
+	info "This operation WILL DETROY DATA!"
 	files=$(git ls-files)
 	echo "These files will be deleted:
 
@@ -165,9 +169,9 @@ To continue, type \"Yes, do as I say\""
 	read answer
 	[ "x$answer" = "xYes, do as I say" ] || exit 16
 	for file in $files; do
-		rm -f $file || echo "$SELF: info: could not delete '$file', continuing with deletion"
+		rm -f $file || info "could not delete '$file', continuing with deletion"
 	done
-	rm -rf "$GIT_DIR" || echo "$SELF: info: could not delete '$GIT_DIR'"
+	rm -rf "$GIT_DIR" || info "could not delete '$GIT_DIR'"
 	cd "$old_dir"
 	verbose "delete end"
 
@@ -219,7 +223,7 @@ elif [ "$VCSH_COMMAND" = 'seed-gitignore' ]; then
 		rm -f "$tempfile" &&
 		exit
 	if [ -e "$HOME/.gitignore.d/$VCSH_REPO_NAME" ]; then
-		echo "$SELF: info: $HOME/.gitignore.d/$VCSH_REPO_NAME differs from new data, moving it to $HOME/.gitignore.d/$VCSH_REPO_NAME.bak"
+		info "$HOME/.gitignore.d/$VCSH_REPO_NAME differs from new data, moving it to $HOME/.gitignore.d/$VCSH_REPO_NAME.bak"
 		mv -f "$HOME/.gitignore.d/$VCSH_REPO_NAME" "$HOME/.gitignore.d/$VCSH_REPO_NAME.bak" ||
 			fatal "could not move $HOME/.gitignore.d/$VCSH_REPO_NAME to $HOME/.gitignore.d/$VCSH_REPO_NAME.bak" 53
 	fi