aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2019-06-17 20:23:28 +0200
committerTeddy Wing2019-06-17 20:23:28 +0200
commitccd5d657bf0550c269c2c3da4925c81fd71e420c (patch)
treeac30d6773acee5e1bc25f2ec42f05f0f5d5ff212
parent4a97c5b9d9a367916b86db922bc913e99c6b17c0 (diff)
downloadcode-review-ccd5d657bf0550c269c2c3da4925c81fd71e420c.tar.bz2
code-review-difftool: Retain old `extglob` setting
If `extglob` was set, we'd always unset it. Check to see if it's set before doing anything with it, and then restore it to its original value.
-rwxr-xr-xcode-review-difftool11
1 files changed, 9 insertions, 2 deletions
diff --git a/code-review-difftool b/code-review-difftool
index 247586e..10ff89d 100755
--- a/code-review-difftool
+++ b/code-review-difftool
@@ -24,8 +24,15 @@ source "$SCRIPT/code-review-database"
review_base="$(get_merge_base)"
# Remove dot ranges at the end of a revision as Fugitive doesn't support them.
-shopt -s extglob
+shopt -p extglob
+has_extglob=$?
+
+if [ $has_extglob -ne 0 ]; then
+ shopt -s extglob
+fi
review_base_without_dots="${review_base%%?(..|...)}"
-shopt -u extglob
+if [ $has_extglob -ne 0 ]; then
+ shopt -u extglob
+fi
vim -c "tabdo Gdiff $review_base_without_dots" -p $(code-review changed-files)