{"thread":{"id":"55797","subject":"[PATCH] clone: caveat note on converting partial clone","startedAt":"2021-05-29T12:09:13Z","lastAt":"2021-06-01T10:46:24Z","messageCount":3,"participants":["Bagas Sanjaya","Jeff King","Derrick Stolee"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"425878","messageId":"20210529120730.38472-1-bagasdotme@gmail.com","threadId":"55797","inReplyTo":null,"subject":"[PATCH] clone: caveat note on converting partial clone","fromName":"Bagas Sanjaya","fromEmail":"bagasdotme@gmail.com","sentAt":"2021-05-29T12:07:31Z","receivedAt":"2021-05-29T12:09:13Z","isPatch":true,"sender":{"key":"bagasdotme@gmail.com","avatar":"https://avatars.githubusercontent.com/u/40219486?v=4"},"body":"Currently partial clones can't be converted into full clones, because\nthere is an issue where the remote can't send all missing objects\nrequired.\n\nSigned-off-by: Bagas Sanjaya <bagasdotme@gmail.com>\n---\n This patch is based on \"clone: document partial clone section\" by Teng\n Long [1].\n\n [1]:\nhttps://lore.kernel.org/git/pull.745.v5.git.git.1614695133486.gitgitgadget@gmail.com/\n\n Documentation/git-clone.txt | 9 +++++++++\n 1 file changed, 9 insertions(+)\n\ndiff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt\nindex 15495675a8..551d8fd141 100644\n--- a/Documentation/git-clone.txt\n+++ b/Documentation/git-clone.txt\n@@ -377,6 +377,10 @@ only reading commits. `git log -p -- <path>` will download blobs to\n generate the patch output and git log --raw will download all blobs\n that changed at recent commits in order to compute renames.\n \n+It is currently not possible to convert partial clones into full clones,\n+because there is an issue where the remote can't send all missing\n+objects required. See discussion at [1].\n+\n :git-clone: 1\n include::urls.txt[]\n \n@@ -417,6 +421,11 @@ $ cd my-linux\n $ git clone --bare -l /home/proj/.git /pub/scm/proj.git\n ------------\n \n+FOOTNOTES\n+---------\n+\n+[1]: https://lore.kernel.org/git/6422f505-29c4-bee9-e28c-b77dd831c246@gmail.com/T/#u\n+\n \n GIT\n ---\n-- \n2.25.1\n\n"},{"id":"425942","messageId":"YLQH7i5IPSdBnDko@coredump.intra.peff.net","threadId":"55797","inReplyTo":"20210529120730.38472-1-bagasdotme@gmail.com","subject":"Re: [PATCH] clone: caveat note on converting partial clone","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2021-05-30T21:47:26Z","receivedAt":"2021-05-30T21:47:39Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, May 29, 2021 at 07:07:31PM +0700, Bagas Sanjaya wrote:\n\n> Currently partial clones can't be converted into full clones, because\n> there is an issue where the remote can't send all missing objects\n> required.\n> \n> Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>\n> ---\n>  This patch is based on \"clone: document partial clone section\" by Teng\n>  Long [1].\n> \n>  [1]:\n> https://lore.kernel.org/git/pull.745.v5.git.git.1614695133486.gitgitgadget@gmail.com/\n\nWouldn't:\n\n  git -c fetch.negotiationAlgorithm=noop fetch ...\n\nwork?\n\nIMHO that is not ideal, and I would like to see it work even when we\nprovide \"have\" lines to the server. But if we are going to tell users\nsomething in the documentation, pointing them to this technique is\nprobably much more helpful than saying \"it can't be done\".\n\n-Peff\n"},{"id":"426111","messageId":"08cfd066-dda5-40a7-8467-5e621e0ea619@gmail.com","threadId":"55797","inReplyTo":"YLQH7i5IPSdBnDko@coredump.intra.peff.net","subject":"Re: [PATCH] clone: caveat note on converting partial clone","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2021-06-01T10:46:17Z","receivedAt":"2021-06-01T10:46:24Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"On 5/30/21 5:47 PM, Jeff King wrote:\n> On Sat, May 29, 2021 at 07:07:31PM +0700, Bagas Sanjaya wrote:\n> \n>> Currently partial clones can't be converted into full clones, because\n>> there is an issue where the remote can't send all missing objects\n>> required.\n>>\n>> Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>\n>> ---\n>>  This patch is based on \"clone: document partial clone section\" by Teng\n>>  Long [1].\n>>\n>>  [1]:\n>> https://lore.kernel.org/git/pull.745.v5.git.git.1614695133486.gitgitgadget@gmail.com/\n> \n> Wouldn't:\n> \n>   git -c fetch.negotiationAlgorithm=noop fetch ...\n> \n> work?\n> \n> IMHO that is not ideal, and I would like to see it work even when we\n> provide \"have\" lines to the server. But if we are going to tell users\n> something in the documentation, pointing them to this technique is\n> probably much more helpful than saying \"it can't be done\".\n\nAny workaround is better than none.\n\nAt minimum, I would expect a summary of the discussion instead of\na pointer to a mailing list thread.\n\nThanks,\n-Stolee\n"}]}