Subject: Re: [PATCH v3] upload-pack: send shallow info over stdin to pack-objects

From: Junio C Hamano <[email-masked]>
Date: Fri, 07 Mar 2014 10:33:59 -0800

Duy Nguyen <[email-masked]> writes:

> On Thu, Mar 6, 2014 at 3:49 PM, Nguyễn Thái Ngọc Duy <[email-masked]> wrote:
>> diff --git a/t/t5537-fetch-shallow.sh b/t/t5537-fetch-shallow.sh
>> index 3ae9092..a980574 100755
>> --- a/t/t5537-fetch-shallow.sh
>> +++ b/t/t5537-fetch-shallow.sh
>> @@ -173,4 +173,17 @@ EOF
>>         )
>>  '
>>
>> +test_expect_success POSIXPERM,SANITY 'shallow fetch from a read-only repo' '
>> +       cp -R .git read-only.git &&
>> +       find read-only.git -print | xargs chmod -w &&
>> +       test_when_finished "find read-only.git -type d -print | xargs chmod +w" &&
>> +       git clone --no-local --depth=2 read-only.git from-read-only &&
>> +       git --git-dir=from-read-only/.git log --format=%s >actual &&
>> +       cat >expect <<EOF &&
>> +add-1-back
>> +4
>> +EOF
>> +       test_cmp expect actual
>> +'
>> +
>>  test_done
>
> It's a separate issue, but maybe we should add a similar test case for
> non-shallow clone from a read-only repo too. Are there any other
> operations that should work well on read-only repos?

Any read-only operation ;-)?

On the object-transfer front, that would mean fetching from,
archive-r from, and perhaps creating bundle from.

Locally, log, grep, blame, gitk (but only the browsing part), etc.

If a read-write borrower borrows from a read-only location via the
objects/info/alternates mechanism, anying operation to the borrower
should also work without modifying the borrowee.