mirror of
https://github.com/git/git.git
synced 2026-04-07 23:40:12 +02:00
fetch: if not fetching from default remote, ignore default merge
When doing "git fetch <remote>" on a remote that does not have the branch referenced in branch.<current-branch>.merge, git fetch failed. It failed because it tried to add the "merge" ref to the refs to be fetched. Fix that. And add a test case. Incidentally, this unconvered a bug in our own test suite, where "git pull <some-path>" was expected to merge the ref given in the defaults, even if not pulling from the default remote. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
committed by
Shawn O. Pearce
parent
fe5d1d3eb4
commit
da0204df58
@@ -200,4 +200,12 @@ test_expect_success 'push via rsync' '
|
||||
'
|
||||
}
|
||||
|
||||
test_expect_success 'fetch with a non-applying branch.<name>.merge' '
|
||||
git config branch.master.remote yeti &&
|
||||
git config branch.master.merge refs/heads/bigfoot &&
|
||||
git config remote.blub.url one &&
|
||||
git config remote.blub.fetch "refs/heads/*:refs/remotes/one/*" &&
|
||||
git fetch blub
|
||||
'
|
||||
|
||||
test_done
|
||||
|
||||
@@ -38,7 +38,7 @@ cd "$base_dir"
|
||||
|
||||
test_expect_success 'pulling from reference' \
|
||||
'cd C &&
|
||||
git pull ../B'
|
||||
git pull ../B master'
|
||||
|
||||
cd "$base_dir"
|
||||
|
||||
@@ -61,7 +61,7 @@ test_expect_success 'existence of info/alternates' \
|
||||
cd "$base_dir"
|
||||
|
||||
test_expect_success 'pulling from reference' \
|
||||
'cd D && git pull ../B'
|
||||
'cd D && git pull ../B master'
|
||||
|
||||
cd "$base_dir"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user