New Upstream Release - vcsh

Ready changes

Summary

Merged new upstream version: 2.0.5 (was: 1.20190621).

Diff

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 109dbd0..dc5e5ef 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -8,7 +8,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
         with:
           fetch-depth: 0
       - name: Fetch tags
@@ -21,7 +21,7 @@ jobs:
           make DESTDIR=. install-exec
           echo VERSION=$(cat .version) >> $GITHUB_ENV
       - name: Post standalone script artifact
-        uses: actions/upload-artifact@v2
+        uses: actions/upload-artifact@v3
         with:
           name: standalone-deployment-${{ env.VERSION }}
           path: vcsh-standalone.sh
@@ -30,7 +30,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
         with:
           fetch-depth: 0
       - name: Fetch tags
@@ -40,7 +40,7 @@ jobs:
         run: |
           sudo apt install -y ronn
       - name: Install perl test dependencies
-        uses: perl-actions/install-with-cpanm@v1.1
+        uses: perl-actions/install-with-cpanm@v1.4
         with:
           install: |
             Shell::Command
@@ -57,7 +57,7 @@ jobs:
           make dist
           echo VERSION=$(cat .version) >> $GITHUB_ENV
       - name: Post build artifacts
-        uses: actions/upload-artifact@v2
+        uses: actions/upload-artifact@v3
         with:
           name: vcsh-${{ env.VERSION }}
           path: vcsh-${{ env.VERSION }}.zip
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 186fb6d..24bb269 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -8,7 +8,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
       - name: Lint code style
         uses: editorconfig-checker/action-editorconfig-checker@v1.0.0
 
@@ -16,13 +16,13 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
       - name: Configure
         run: |
           ./bootstrap.sh
           ./configure --without-man-page --disable-tests
       - name: Run shellcheck
-        uses: reviewdog/action-shellcheck@v1.0.0
+        uses: reviewdog/action-shellcheck@v1.15.0
         with:
           pattern: vcsh
           reporter: github-pr-review
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index ed09a61..db00d0b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -14,7 +14,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
       - name: Install build dependencies
         run: |
           sudo apt install -y ronn
@@ -49,7 +49,7 @@ jobs:
     needs: [ ghrelease ]
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
       - name: Configure standalone script
         run: |
           echo "${GITHUB_REF#refs/*/v}" > .tarball-version
@@ -57,7 +57,7 @@ jobs:
           ./configure --with-standalone --bindir=/
           make DESTDIR=. install-exec
       - name: Add standalone deployment to release
-        uses: svenstaro/upload-release-action@v2
+        uses: svenstaro/upload-release-action@v3
         with:
           repo_token: ${{ github.token }}
           file: vcsh-standalone.sh
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 09c6ce1..469f19e 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -8,7 +8,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
         with:
           fetch-depth: 0
       - name: Fetch tags
@@ -18,7 +18,7 @@ jobs:
         run: |
           sudo apt install -y ronn
       - name: Install perl test dependencies
-        uses: perl-actions/install-with-cpanm@v1.1
+        uses: perl-actions/install-with-cpanm@v1.4
         with:
           install: |
             Shell::Command
diff --git a/Makefile.am b/Makefile.am
index a530f28..bef699c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -42,11 +42,11 @@ endif
 
 completions/$(TRANSFORMED_PACKAGE_NAME): completions/vcsh.bash
 	mkdir -p $(dir $@)
-	cp -bf $< $@
+	install $< $@
 
 completions/_$(TRANSFORMED_PACKAGE_NAME): completions/vcsh.zsh
 	mkdir -p $(dir $@)
-	cp -bf $< $@
+	install $< $@
 
 .version: $(shell $(AWK) '{print ".git/" $$2}' .git/HEAD 2>/dev/null ||:)
 	[ -e "$@" ] && mv "$@" "$@-prev" || $(if $<,touch,cp "$(srcdir)/.tarball-version") "$@-prev"
diff --git a/build-aux/ax_progvar.m4 b/build-aux/ax_progvar.m4
new file mode 100644
index 0000000..131c806
--- /dev/null
+++ b/build-aux/ax_progvar.m4
@@ -0,0 +1,5 @@
+AC_DEFUN([AX_PROGVAR], [
+          test -n "$m4_toupper($1)" || { AC_PATH_PROG(m4_toupper($1), m4_default($2,$1)) }
+          test -n "$m4_toupper($1)" || AC_MSG_ERROR([m4_default($2,$1) is required])
+         ])
+
diff --git a/build-aux/ax_subst_transformed_package_name.m4 b/build-aux/ax_subst_transformed_package_name.m4
new file mode 100644
index 0000000..a6ae774
--- /dev/null
+++ b/build-aux/ax_subst_transformed_package_name.m4
@@ -0,0 +1,5 @@
+AC_DEFUN([AX_SUBST_TRANSFORMED_PACKAGE_NAME], [
+          AC_PROG_SED
+          TRANSFORMED_PACKAGE_NAME="$(printf "$PACKAGE_NAME" | $SED -e "$(printf "$program_transform_name" | $SED -e 's/\$\$/\$/')")"
+          AC_SUBST([TRANSFORMED_PACKAGE_NAME])
+])
diff --git a/changelog b/changelog
index 686281a..7d77b55 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,24 @@
+2022-11-08  Caleb Maclennan <caleb@alerque.com>
+
+	* Release 2.0.5
+	* Replace bashism with POSIX compliant syntax in configure script
+
+2021-10-27  Richard Hartmann <richih@richih.org>
+
+	* Release 2.0.4
+	* Fix build failure on non-GNU systems, #321
+
+2021-10-23  Caleb Maclennan <caleb@alerque.com>
+
+	* Release 2.0.3
+	* Fix list-untracked subcommand option parsing
+	* Refactor ‘mkdir && install’ to ‘install -D’
+
+2021-09-04  Caleb Maclennan <caleb@alerque.com>
+
+	* Release 2.0.2
+	* Fix Makefile portability by swapping cp for install
+
 2021-08-28  Caleb Maclennan <caleb@alerque.com>
 
 	* Release 2.0.1
diff --git a/configure.ac b/configure.ac
index d529a99..e3b9196 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,11 +8,6 @@ AC_CONFIG_MACRO_DIR([build-aux])
 AM_CONDITIONAL([IS_SDIST],
                [test ! -e .gitignore])
 
-AC_DEFUN([AX_PROGVAR], [
-          test -n "$m4_toupper($1)" || { AC_PATH_PROG(m4_toupper($1), m4_default($2,$1)) }
-          test -n "$m4_toupper($1)" || AC_MSG_ERROR([m4_default($2,$1) is required])
-          ])
-
 AC_ARG_WITH([standalone],
             AS_HELP_STRING([--with-standalone],
                            [Use configuration presets for a standalone script deployment @<:@default=no@:>@]),
@@ -105,8 +100,7 @@ AM_COND_IF([ENABLE_ZSH_COMPLETION],
            [ZSH_COMPLETION_DIR="$with_zsh_completion_dir"])
 AC_SUBST([ZSH_COMPLETION_DIR])
 
-TRANSFORMED_PACKAGE_NAME="$(printf "$PACKAGE_NAME" | $SED -e "${program_transform_name//\$\$/\$}")"
-AC_SUBST([TRANSFORMED_PACKAGE_NAME])
+AX_SUBST_TRANSFORMED_PACKAGE_NAME
 
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_FILES([vcsh], [chmod +x vcsh])
diff --git a/debian/changelog b/debian/changelog
index 3997160..e81769e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+vcsh (2.0.5-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Mon, 22 May 2023 11:00:02 -0000
+
 vcsh (1.20190621-5) unstable; urgency=medium
 
   * Fix debian/watch
diff --git a/vcsh.in b/vcsh.in
index 4153437..6e626a3 100755
--- a/vcsh.in
+++ b/vcsh.in
@@ -276,8 +276,8 @@ foreach() {
 			p) VCSH_PRINT_REPO_PREFIX=1 ;;
 		esac
 	done
-	export VCSH_PRINT_REPO_PREFIX
 	shift $((OPTIND-1))
+	export VCSH_PRINT_REPO_PREFIX
 	for VCSH_REPO_NAME in $(list); do
 		export VCSH_REPO_NAME
 		GIT_DIR=$VCSH_REPO_D/$VCSH_REPO_NAME.git; export GIT_DIR
@@ -375,16 +375,15 @@ list_untracked() {
 
 	# Hack in support for `vcsh list-untracked -r`...
 	exclude_standard_opt='--exclude-standard'
-	directory_opt="--directory"
-	shift 1
-	while getopts "ar" flag; do
-		if [ x"$1" = x'-a' ]; then
-			unset exclude_standard_opt
-		elif [ x"$1" = x'-r' ]; then
-			unset directory_opt
-		fi
-		shift 1
+	directory_opt='--directory'
+	shift
+	while getopts ar flag; do
+		case "$flag" in
+			a) unset exclude_standard_opt ;;
+			r) unset directory_opt ;;
+		esac
 	done
+	shift $((OPTIND-1))
 	# ...and parse for a potential parameter afterwards. As we shifted things out of $* in during getops, we need to look at $1
 	VCSH_REPO_NAME=$1; export VCSH_REPO_NAME
 
@@ -403,7 +402,7 @@ list_untracked() {
 
 list_untracked_helper() {
 	export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
-	@GIT@ ls-files --others $exclude_standard_opt "$directory_opt" | (
+	@GIT@ ls-files --others $exclude_standard_opt $directory_opt | (
 		while read -r line; do
 			echo "$line"
 			directory_component=${line%%/*}

More details

Full run details

Historical runs