object-info: support for retrieving object info
Sometimes it is useful to get information of an object without having to download it completely. Add the "object-info" capability that lets the client ask for object-related information with their full hexadecimal object names. Only sizes are returned for now. Signed-off-by: Bruno Albuquerque <bga@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
d1b10fc6d8
commit
a2ba162cda
@ -19,6 +19,7 @@ test_expect_success 'test capability advertisement' '
|
||||
fetch=shallow
|
||||
server-option
|
||||
object-format=$(test_oid algo)
|
||||
object-info
|
||||
0000
|
||||
EOF
|
||||
|
||||
@ -240,4 +241,29 @@ test_expect_success 'unexpected lines are not allowed in fetch request' '
|
||||
grep "unexpected line: .this-is-not-a-command." err
|
||||
'
|
||||
|
||||
# Test the basics of object-info
|
||||
#
|
||||
test_expect_success 'basics of object-info' '
|
||||
test-tool pkt-line pack >in <<-EOF &&
|
||||
command=object-info
|
||||
object-format=$(test_oid algo)
|
||||
0001
|
||||
size
|
||||
oid $(git rev-parse two:two.t)
|
||||
oid $(git rev-parse two:two.t)
|
||||
0000
|
||||
EOF
|
||||
|
||||
cat >expect <<-EOF &&
|
||||
size
|
||||
$(git rev-parse two:two.t) $(wc -c <two.t | xargs)
|
||||
$(git rev-parse two:two.t) $(wc -c <two.t | xargs)
|
||||
0000
|
||||
EOF
|
||||
|
||||
test-tool serve-v2 --stateless-rpc <in >out &&
|
||||
test-tool pkt-line unpack <out >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Reference in New Issue
Block a user