diff options
author | Teddy Wing | 2019-06-17 20:23:28 +0200 |
---|---|---|
committer | Teddy Wing | 2019-06-17 20:23:28 +0200 |
commit | ccd5d657bf0550c269c2c3da4925c81fd71e420c (patch) | |
tree | ac30d6773acee5e1bc25f2ec42f05f0f5d5ff212 | |
parent | 4a97c5b9d9a367916b86db922bc913e99c6b17c0 (diff) | |
download | code-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-x | code-review-difftool | 11 |
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) |