/* disabled by default */
advertise_object_info = 0;
}
- /* Currently only size is supported */
+ /* Currently only size and type are supported */
if (value && advertise_object_info)
- strbuf_addstr(value, "size");
+ strbuf_addstr(value, "size type");
return advertise_object_info;
}
hello_content="Hello World"
hello_size=$(strlen "$hello_content")
+hello_type="blob"
hello_oid=$(echo_without_newline "$hello_content" | git hash-object --stdin)
hello_short_oid=$(git rev-parse --short "$hello_oid")
# file name is hello, which is 5 characters
# a space is 1 character and a null is 1 character
tree_size=$(($(test_oid rawsz) + 13))
+tree_type="tree"
commit_message="Initial commit"
# An easier way to calculate is: 1. use `git cat-file commit <commit hash> | wc -c`,
# to get 177, 2. then deduct 40 hex characters to get 137
commit_size=$(($(test_oid hexsz) + 137))
+commit_type="commit"
tag_header_without_oid="type blob
tag hellotag
tag_oid=$(echo_without_newline "$tag_content" | git hash-object -t tag --stdin -w)
tag_size=$(strlen "$tag_content")
+tag_type="tag"
set_transport_variables () {
hello_oid=$(echo_without_newline "$hello_content" | git hash-object --stdin)
)
'
-# This tests depends on %(objecttype) not being supported yet, once supported
-# it needs to be updated.
-test_expect_success 'unsupported placeholder on remote returns empty string' '
+test_expect_success 'objecttype is supported by remote-object-info' '
(
set_transport_variables "$daemon_parent" &&
cd "$daemon_parent/daemon_client_empty" &&
- echo "" >expect &&
+ echo $hello_type >expect &&
git cat-file --batch-command="%(objecttype)" >actual <<-EOF &&
remote-object-info "$GIT_DAEMON_URL/parent" $hello_oid
EOF
)
'
+test_expect_success 'unsupported placeholders on remote return empty string' '
+ (
+ set_transport_variables "$daemon_parent" &&
+ cd "$daemon_parent/daemon_client_empty" &&
+
+ fmt="%(objectmode) %(objectsize:disk) %(rest) %(deltabase)" &&
+
+ # The hardcoded SPs between the atoms are respected.
+ echo " " >expect &&
+ git cat-file --batch-command="$fmt" >actual <<-EOF &&
+ remote-object-info "$GIT_DAEMON_URL/parent" $hello_oid
+ EOF
+ test_cmp expect actual
+ )
+'
+
test_expect_success 'requesting only objectname echoes back' '
(
set_transport_variables "$daemon_parent" &&