Re: [PATCH v5] diff: add config option relative
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- May 18, 2020, 16:19 UTC
- Message-ID
- <CAPig+cRNCdtK9SSMSXj83tTCV1n+YW3-a0EnfM_VVVCry8rXCg@mail.gmail.com>
- In-Reply-To
- <20200518094021.GA2069@spk-laptop>
On Mon, May 18, 2020 at 5:40 AM Laurent Arnoud <laurent@spkdev.net> wrote:
Show 32 quoted lines
> The `diff.relative` boolean option set to `true` show only changes on
> the current directory and show relative pathnames to the current
> directory.
>
> Teach --no-relative to override earlier --relative
>
> Signed-off-by: Laurent Arnoud <laurent@spkdev.net>
> ---
> diff --git a/t/t4045-diff-relative.sh b/t/t4045-diff-relative.sh
> +check_diff_relative_option () {
> + dir=$1
> + shift
> + expect=$1
> + shift
> + relative_opt=$1
> + shift
> + short_blob=$(git rev-parse --short "$blob_file2")
> + cat >expected <<-EOF
> + diff --git a/$expect b/$expect
> + new file mode 100644
> + index 0000000..$short_blob
> + --- /dev/null
> + +++ b/$expect
> + @@ -0,0 +1 @@
> + +other content
> + EOF
> + test_expect_success "config diff.relative $relative_opt -p $*" "
> + test_config -C $dir diff.relative $relative_opt &&
> + git -C '$dir' diff -p $* HEAD^ >actual &&
> + test_cmp expected actual
> + "
> +}Let's move all the setup code into the test itself so that a failure of git-rev-parse will be caught. For instance:
check_diff_relative_option () {
dir=$1
shift
expect=$1
shift
relative_opt=$1
shift
test_expect_success "config diff.relative $relative_opt -p $*" "
short_blob=$(git rev-parse --short $blob_file2) &&
cat >expected <<-EOF &&
diff --git a/$expect b/$expect
new file mode 100644
index 0000000..$short_blob
--- /dev/null
+++ b/$expect
@@ -0,0 +1 @@
+other content
EOF
test_config -C $dir diff.relative $relative_opt &&
git -C '$dir' diff -p $* HEAD^ >actual &&
test_cmp expected actual
"
}Same comment applies to the other new function added by this patch.