Merge branch 'maint'
* maint: t9350: fix careless use of "cd" difftool: Fix '--gui' when diff.guitool is unconfigured fast-export: don't segfault when marks file cannot be opened
This commit is contained in:
commit
faf752693a
@ -503,7 +503,7 @@ static void export_marks(char *file)
|
|||||||
|
|
||||||
f = fopen(file, "w");
|
f = fopen(file, "w");
|
||||||
if (!f)
|
if (!f)
|
||||||
error("Unable to open marks file %s for writing.", file);
|
die_errno("Unable to open marks file %s for writing.", file);
|
||||||
|
|
||||||
for (i = 0; i < idnums.size; i++) {
|
for (i = 0; i < idnums.size; i++) {
|
||||||
if (deco->base && deco->base->type == 1) {
|
if (deco->base && deco->base->type == 1) {
|
||||||
|
@ -78,11 +78,13 @@ sub generate_command
|
|||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
if ($arg eq '-g' || $arg eq '--gui') {
|
if ($arg eq '-g' || $arg eq '--gui') {
|
||||||
my $tool = Git::command_oneline('config',
|
eval {
|
||||||
'diff.guitool');
|
my $tool = Git::command_oneline('config',
|
||||||
if (length($tool)) {
|
'diff.guitool');
|
||||||
$ENV{GIT_DIFF_TOOL} = $tool;
|
if (length($tool)) {
|
||||||
}
|
$ENV{GIT_DIFF_TOOL} = $tool;
|
||||||
|
}
|
||||||
|
};
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
if ($arg eq '-y' || $arg eq '--no-prompt') {
|
if ($arg eq '-y' || $arg eq '--no-prompt') {
|
||||||
|
@ -92,6 +92,15 @@ test_expect_success 'difftool honors --gui' '
|
|||||||
restore_test_defaults
|
restore_test_defaults
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'difftool --gui works without configured diff.guitool' '
|
||||||
|
git config diff.tool test-tool &&
|
||||||
|
|
||||||
|
diff=$(git difftool --no-prompt --gui branch) &&
|
||||||
|
test "$diff" = "branch" &&
|
||||||
|
|
||||||
|
restore_test_defaults
|
||||||
|
'
|
||||||
|
|
||||||
# Specify the diff tool using $GIT_DIFF_TOOL
|
# Specify the diff tool using $GIT_DIFF_TOOL
|
||||||
test_expect_success 'GIT_DIFF_TOOL variable' '
|
test_expect_success 'GIT_DIFF_TOOL variable' '
|
||||||
git config --unset diff.tool
|
git config --unset diff.tool
|
||||||
|
@ -150,20 +150,22 @@ test_expect_success 'setup submodule' '
|
|||||||
|
|
||||||
git checkout -f master &&
|
git checkout -f master &&
|
||||||
mkdir sub &&
|
mkdir sub &&
|
||||||
cd sub &&
|
(
|
||||||
git init &&
|
cd sub &&
|
||||||
echo test file > file &&
|
git init &&
|
||||||
git add file &&
|
echo test file > file &&
|
||||||
git commit -m sub_initial &&
|
git add file &&
|
||||||
cd .. &&
|
git commit -m sub_initial
|
||||||
|
) &&
|
||||||
git submodule add "`pwd`/sub" sub &&
|
git submodule add "`pwd`/sub" sub &&
|
||||||
git commit -m initial &&
|
git commit -m initial &&
|
||||||
test_tick &&
|
test_tick &&
|
||||||
cd sub &&
|
(
|
||||||
echo more data >> file &&
|
cd sub &&
|
||||||
git add file &&
|
echo more data >> file &&
|
||||||
git commit -m sub_second &&
|
git add file &&
|
||||||
cd .. &&
|
git commit -m sub_second
|
||||||
|
) &&
|
||||||
git add sub &&
|
git add sub &&
|
||||||
git commit -m second
|
git commit -m second
|
||||||
|
|
||||||
@ -264,19 +266,20 @@ test_expect_success 'cope with tagger-less tags' '
|
|||||||
|
|
||||||
test_expect_success 'setup for limiting exports by PATH' '
|
test_expect_success 'setup for limiting exports by PATH' '
|
||||||
mkdir limit-by-paths &&
|
mkdir limit-by-paths &&
|
||||||
cd limit-by-paths &&
|
(
|
||||||
git init &&
|
cd limit-by-paths &&
|
||||||
echo hi > there &&
|
git init &&
|
||||||
git add there &&
|
echo hi > there &&
|
||||||
git commit -m "First file" &&
|
git add there &&
|
||||||
echo foo > bar &&
|
git commit -m "First file" &&
|
||||||
git add bar &&
|
echo foo > bar &&
|
||||||
git commit -m "Second file" &&
|
git add bar &&
|
||||||
git tag -a -m msg mytag &&
|
git commit -m "Second file" &&
|
||||||
echo morefoo >> bar &&
|
git tag -a -m msg mytag &&
|
||||||
git add bar &&
|
echo morefoo >> bar &&
|
||||||
git commit -m "Change to second file" &&
|
git add bar &&
|
||||||
cd ..
|
git commit -m "Change to second file"
|
||||||
|
)
|
||||||
'
|
'
|
||||||
|
|
||||||
cat > limit-by-paths/expected << EOF
|
cat > limit-by-paths/expected << EOF
|
||||||
@ -297,10 +300,11 @@ M 100644 :1 there
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_expect_success 'dropping tag of filtered out object' '
|
test_expect_success 'dropping tag of filtered out object' '
|
||||||
|
(
|
||||||
cd limit-by-paths &&
|
cd limit-by-paths &&
|
||||||
git fast-export --tag-of-filtered-object=drop mytag -- there > output &&
|
git fast-export --tag-of-filtered-object=drop mytag -- there > output &&
|
||||||
test_cmp output expected &&
|
test_cmp output expected
|
||||||
cd ..
|
)
|
||||||
'
|
'
|
||||||
|
|
||||||
cat >> limit-by-paths/expected << EOF
|
cat >> limit-by-paths/expected << EOF
|
||||||
@ -313,10 +317,11 @@ msg
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_expect_success 'rewriting tag of filtered out object' '
|
test_expect_success 'rewriting tag of filtered out object' '
|
||||||
|
(
|
||||||
cd limit-by-paths &&
|
cd limit-by-paths &&
|
||||||
git fast-export --tag-of-filtered-object=rewrite mytag -- there > output &&
|
git fast-export --tag-of-filtered-object=rewrite mytag -- there > output &&
|
||||||
test_cmp output expected &&
|
test_cmp output expected
|
||||||
cd ..
|
)
|
||||||
'
|
'
|
||||||
|
|
||||||
cat > limit-by-paths/expected << EOF
|
cat > limit-by-paths/expected << EOF
|
||||||
@ -343,13 +348,13 @@ M 100644 :2 there
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_expect_failure 'no exact-ref revisions included' '
|
test_expect_failure 'no exact-ref revisions included' '
|
||||||
cd limit-by-paths &&
|
(
|
||||||
git fast-export master~2..master~1 > output &&
|
cd limit-by-paths &&
|
||||||
test_cmp output expected &&
|
git fast-export master~2..master~1 > output &&
|
||||||
cd ..
|
test_cmp output expected
|
||||||
|
)
|
||||||
'
|
'
|
||||||
|
|
||||||
|
|
||||||
test_expect_success 'set-up a few more tags for tag export tests' '
|
test_expect_success 'set-up a few more tags for tag export tests' '
|
||||||
git checkout -f master &&
|
git checkout -f master &&
|
||||||
HEAD_TREE=`git show -s --pretty=raw HEAD | grep tree | sed "s/tree //"` &&
|
HEAD_TREE=`git show -s --pretty=raw HEAD | grep tree | sed "s/tree //"` &&
|
||||||
|
Loading…
Reference in New Issue
Block a user