-
Notifications
You must be signed in to change notification settings - Fork 25.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The transport layer was taught to optionally exchange the session ID assigned by the trace2 subsystem during fetch/push transactions. * js/trace2-session-id: receive-pack: log received client session ID send-pack: advertise session ID in capabilities upload-pack, serve: log received client session ID fetch-pack: advertise session ID in capabilities transport: log received server session ID serve: advertise session ID in v2 capabilities receive-pack: advertise session ID in v0 capabilities upload-pack: advertise session ID in v0 capabilities trace2: add a public function for getting the SID docs: new transfer.advertiseSID option docs: new capability to advertise session IDs
- Loading branch information
Showing
12 changed files
with
198 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
#!/bin/sh | ||
|
||
test_description='session ID in capabilities' | ||
|
||
. ./test-lib.sh | ||
|
||
REPO="$(pwd)/repo" | ||
LOCAL_PRISTINE="$(pwd)/local_pristine" | ||
|
||
test_expect_success 'setup repos for session ID capability tests' ' | ||
git init "$REPO" && | ||
test_commit -C "$REPO" a && | ||
git clone "file://$REPO" "$LOCAL_PRISTINE" && | ||
test_commit -C "$REPO" b | ||
' | ||
|
||
for PROTO in 0 1 2 | ||
do | ||
test_expect_success "session IDs not advertised by default (fetch v${PROTO})" ' | ||
test_when_finished "rm -rf local tr2-client-events tr2-server-events" && | ||
cp -r "$LOCAL_PRISTINE" local && | ||
GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \ | ||
git -c protocol.version=$PROTO -C local fetch \ | ||
--upload-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-upload-pack" \ | ||
origin && | ||
test -z "$(grep \"key\":\"server-sid\" tr2-client-events)" && | ||
test -z "$(grep \"key\":\"client-sid\" tr2-server-events)" | ||
' | ||
|
||
test_expect_success "session IDs not advertised by default (push v${PROTO})" ' | ||
test_when_finished "rm -rf local tr2-client-events tr2-server-events" && | ||
test_when_finished "git -C local push --delete origin new-branch" && | ||
cp -r "$LOCAL_PRISTINE" local && | ||
git -C local pull --no-rebase origin && | ||
GIT_TRACE2_EVENT_NESTING=5 \ | ||
GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \ | ||
git -c protocol.version=$PROTO -C local push \ | ||
--receive-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-receive-pack" \ | ||
origin HEAD:new-branch && | ||
test -z "$(grep \"key\":\"server-sid\" tr2-client-events)" && | ||
test -z "$(grep \"key\":\"client-sid\" tr2-server-events)" | ||
' | ||
done | ||
|
||
test_expect_success 'enable SID advertisement' ' | ||
git -C "$REPO" config transfer.advertiseSID true && | ||
git -C "$LOCAL_PRISTINE" config transfer.advertiseSID true | ||
' | ||
|
||
for PROTO in 0 1 2 | ||
do | ||
test_expect_success "session IDs advertised (fetch v${PROTO})" ' | ||
test_when_finished "rm -rf local tr2-client-events tr2-server-events" && | ||
cp -r "$LOCAL_PRISTINE" local && | ||
GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \ | ||
git -c protocol.version=$PROTO -C local fetch \ | ||
--upload-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-upload-pack" \ | ||
origin && | ||
grep \"key\":\"server-sid\" tr2-client-events && | ||
grep \"key\":\"client-sid\" tr2-server-events | ||
' | ||
|
||
test_expect_success "session IDs advertised (push v${PROTO})" ' | ||
test_when_finished "rm -rf local tr2-client-events tr2-server-events" && | ||
test_when_finished "git -C local push --delete origin new-branch" && | ||
cp -r "$LOCAL_PRISTINE" local && | ||
git -C local pull --no-rebase origin && | ||
GIT_TRACE2_EVENT_NESTING=5 \ | ||
GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \ | ||
git -c protocol.version=$PROTO -C local push \ | ||
--receive-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-receive-pack" \ | ||
origin HEAD:new-branch && | ||
grep \"key\":\"server-sid\" tr2-client-events && | ||
grep \"key\":\"client-sid\" tr2-server-events | ||
' | ||
done | ||
|
||
test_done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.