# [PATCH] clone: caveat note on converting partial clone

3 messages from 2021-05-29 to 2021-06-01. Participants: Bagas Sanjaya, Jeff King, Derrick Stolee.
Thread: https://gitlist.dev/t/55797

## Bagas Sanjaya, 2021-05-29 12:07

Subject: [PATCH] clone: caveat note on converting partial clone
Message-ID: <20210529120730.38472-1-bagasdotme@gmail.com>
URL: https://gitlist.dev/e/20210529120730.38472-1-bagasdotme%40gmail.com

```
Currently partial clones can't be converted into full clones, because
there is an issue where the remote can't send all missing objects
required.

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
---
 This patch is based on "clone: document partial clone section" by Teng
 Long [1].

 [1]:
https://lore.kernel.org/git/pull.745.v5.git.git.1614695133486.gitgitgadget@gmail.com/

 Documentation/git-clone.txt | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index 15495675a8..551d8fd141 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -377,6 +377,10 @@ only reading commits. `git log -p -- <path>` will download blobs to
 generate the patch output and git log --raw will download all blobs
 that changed at recent commits in order to compute renames.
 
+It is currently not possible to convert partial clones into full clones,
+because there is an issue where the remote can't send all missing
+objects required. See discussion at [1].
+
 :git-clone: 1
 include::urls.txt[]
 
@@ -417,6 +421,11 @@ $ cd my-linux
 $ git clone --bare -l /home/proj/.git /pub/scm/proj.git
 ------------
 
+FOOTNOTES
+---------
+
+[1]: https://lore.kernel.org/git/6422f505-29c4-bee9-e28c-b77dd831c246@gmail.com/T/#u
+
 
 GIT
 ---
-- 
2.25.1


```

## Jeff King, 2021-05-30 21:47

Subject: Re: [PATCH] clone: caveat note on converting partial clone
Message-ID: <YLQH7i5IPSdBnDko@coredump.intra.peff.net>
URL: https://gitlist.dev/e/YLQH7i5IPSdBnDko%40coredump.intra.peff.net
In-Reply-To: <20210529120730.38472-1-bagasdotme@gmail.com>

```
On Sat, May 29, 2021 at 07:07:31PM +0700, Bagas Sanjaya wrote:

> Currently partial clones can't be converted into full clones, because
> there is an issue where the remote can't send all missing objects
> required.
> 
> Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
> ---
>  This patch is based on "clone: document partial clone section" by Teng
>  Long [1].
> 
>  [1]:
> https://lore.kernel.org/git/pull.745.v5.git.git.1614695133486.gitgitgadget@gmail.com/

Wouldn't:

  git -c fetch.negotiationAlgorithm=noop fetch ...

work?

IMHO that is not ideal, and I would like to see it work even when we
provide "have" lines to the server. But if we are going to tell users
something in the documentation, pointing them to this technique is
probably much more helpful than saying "it can't be done".

-Peff

```

## Derrick Stolee, 2021-06-01 10:46

Subject: Re: [PATCH] clone: caveat note on converting partial clone
Message-ID: <08cfd066-dda5-40a7-8467-5e621e0ea619@gmail.com>
URL: https://gitlist.dev/e/08cfd066-dda5-40a7-8467-5e621e0ea619%40gmail.com
In-Reply-To: <YLQH7i5IPSdBnDko@coredump.intra.peff.net>

```
On 5/30/21 5:47 PM, Jeff King wrote:
> On Sat, May 29, 2021 at 07:07:31PM +0700, Bagas Sanjaya wrote:
> 
>> Currently partial clones can't be converted into full clones, because
>> there is an issue where the remote can't send all missing objects
>> required.
>>
>> Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
>> ---
>>  This patch is based on "clone: document partial clone section" by Teng
>>  Long [1].
>>
>>  [1]:
>> https://lore.kernel.org/git/pull.745.v5.git.git.1614695133486.gitgitgadget@gmail.com/
> 
> Wouldn't:
> 
>   git -c fetch.negotiationAlgorithm=noop fetch ...
> 
> work?
> 
> IMHO that is not ideal, and I would like to see it work even when we
> provide "have" lines to the server. But if we are going to tell users
> something in the documentation, pointing them to this technique is
> probably much more helpful than saying "it can't be done".

Any workaround is better than none.

At minimum, I would expect a summary of the discussion instead of
a pointer to a mailing list thread.

Thanks,
-Stolee

```
