mirror of
https://github.com/git/git
synced 2024-11-04 16:17:49 +00:00
Merge branch 'jk/fetch-auto-tag-following-fix'
Fetching via protocol v0 over Smart HTTP transport sometimes failed to correctly auto-follow tags. * jk/fetch-auto-tag-following-fix: transport-helper: re-examine object dir after fetching
This commit is contained in:
commit
cbcf61990f
2 changed files with 21 additions and 0 deletions
|
@ -733,4 +733,22 @@ test_expect_success 'no empty path components' '
|
|||
! grep "//" log
|
||||
'
|
||||
|
||||
test_expect_success 'tag following always works over v0 http' '
|
||||
upstream=$HTTPD_DOCUMENT_ROOT_PATH/tags &&
|
||||
git init "$upstream" &&
|
||||
(
|
||||
cd "$upstream" &&
|
||||
git commit --allow-empty -m base &&
|
||||
git tag not-annotated &&
|
||||
git tag -m foo annotated
|
||||
) &&
|
||||
git init tags &&
|
||||
git -C tags -c protocol.version=0 \
|
||||
fetch --depth 1 $HTTPD_URL/smart/tags \
|
||||
refs/tags/annotated:refs/tags/annotated &&
|
||||
git -C "$upstream" for-each-ref refs/tags >expect &&
|
||||
git -C tags for-each-ref >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include "refspec.h"
|
||||
#include "transport-internal.h"
|
||||
#include "protocol.h"
|
||||
#include "packfile.h"
|
||||
|
||||
static int debug;
|
||||
|
||||
|
@ -432,6 +433,8 @@ static int fetch_with_fetch(struct transport *transport,
|
|||
warning(_("%s unexpectedly said: '%s'"), data->name, buf.buf);
|
||||
}
|
||||
strbuf_release(&buf);
|
||||
|
||||
reprepare_packed_git(the_repository);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue