for-each-ref: test :remotename and :remoteref
This not only prevents regressions, but also serves as documentation what this new feature is expected to do. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
9700fae5ee
commit
1b586867db
@ -675,4 +675,36 @@ test_expect_success 'Verify usage of %(symref:rstrip) atom' '
|
|||||||
test_cmp expected actual
|
test_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success ':remotename and :remoteref' '
|
||||||
|
git init remote-tests &&
|
||||||
|
(
|
||||||
|
cd remote-tests &&
|
||||||
|
test_commit initial &&
|
||||||
|
git remote add from fifth.coffee:blub &&
|
||||||
|
git config branch.master.remote from &&
|
||||||
|
git config branch.master.merge refs/heads/stable &&
|
||||||
|
git remote add to southridge.audio:repo &&
|
||||||
|
git config remote.to.push "refs/heads/*:refs/heads/pushed/*" &&
|
||||||
|
git config branch.master.pushRemote to &&
|
||||||
|
for pair in "%(upstream)=refs/remotes/from/stable" \
|
||||||
|
"%(upstream:remotename)=from" \
|
||||||
|
"%(upstream:remoteref)=refs/heads/stable" \
|
||||||
|
"%(push)=refs/remotes/to/pushed/master" \
|
||||||
|
"%(push:remotename)=to" \
|
||||||
|
"%(push:remoteref)=refs/heads/pushed/master"
|
||||||
|
do
|
||||||
|
echo "${pair#*=}" >expect &&
|
||||||
|
git for-each-ref --format="${pair%=*}" \
|
||||||
|
refs/heads/master >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
done &&
|
||||||
|
git branch push-simple &&
|
||||||
|
git config branch.push-simple.pushRemote from &&
|
||||||
|
actual="$(git for-each-ref \
|
||||||
|
--format="%(push:remotename),%(push:remoteref)" \
|
||||||
|
refs/heads/push-simple)" &&
|
||||||
|
test from, = "$actual"
|
||||||
|
)
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Reference in New Issue
Block a user