From: Son Luong Ngoc <sluongng@gmail.com>
To: Derrick Stolee <stolee@gmail.com>
Cc: git <git@vger.kernel.org>, Jonathan Tan <jonathantanmy@google.com>
Subject: Re: Pushing tag from a partial clone
Date: Mon, 20 Jul 2020 15:47:10 +0200 [thread overview]
Message-ID: <439C1CC1-50BB-4EA1-A8F0-04D66CA430AE@gmail.com> (raw)
In-Reply-To: <3e68d3a1-01e6-4ce3-eee1-bc9fb07a1825@gmail.com>
Hi,
> On Jul 20, 2020, at 14:18, Derrick Stolee <stolee@gmail.com> wrote:
>
> On 7/20/2020 7:44 AM, Son Luong Ngoc wrote:
>> Hi folks,
>>
>> At $day_job, we are trying to push tags to a repo from a partial clone copy.
>> However it seems like this push would requires the partial clone copy to download more objects?
>> Is this intended?
>>
>> Reproduce:
>>
>> mkdir repo && cd repo
>> git init
>> git remote add origin git@domain.com:path/repo.git
>> git fetch --filter=tree:0 --no-tags --prune origin <commit-id>
>> git sparse-checkout init --cone
>> git checkout --force <commit-id>
>> git tag -a sluongng-test -m "Test push from partial clone"
>> git push HEAD:refs/tags/sluongng-test
>> <git starts to download objects>
>>
>> Ideally we would like to be able to push tag from a shallow + partial clone repo without
>> having to download extra objects if possible.
>> We would like to keep the required repo to the absolute minimum.
>> git fetch --depth 1 --filter=tree:0 --no-tags --prune origin <commit-id>
>>
>> Creating and pushing tags should not require local repo to have trees/blobs in it?
>>
>> Git version: 2.27.0
>
> Could you try this again with 2.28.0-rc1? I think Jonathan
> Tan added the "no-fetch" flag in more places since 2.27.0,
> and this might already be fixed.
I just freshly compiled from 'next' branch:
> git version
git version 2.28.0.rc1.139.gd6b33fda9d
And the problem still occurring:
> mkdir scalar
> cd scalar
> git init
Initialized empty Git repository in /Users/sluongngoc/work/booking/core/scalar/.git/
# use my own fork here so that i have push permission
> git remote add origin git@github.com:sluongng/scalar.git
> git sparse-checkout init --cone
> git fetch --filter=tree:0 --no-tags --prune origin 4ba6c1c090e6e5a413e3ac2fc094205bd78f761e
remote: Enumerating objects: 2553, done.
remote: Total 2553 (delta 0), reused 0 (delta 0), pack-reused 2553
Receiving objects: 100% (2553/2553), 957.85 KiB | 1.06 MiB/s, done.
Resolving deltas: 100% (74/74), done.
From github.com:sluongng/scalar
* branch 4ba6c1c090e6e5a413e3ac2fc094205bd78f761e -> FETCH_HEAD
> git tag -a test-tag -m 'test tag message' 4ba6c1c090e6e5a413e3ac2fc094205bd78f761e
> git push origin refs/tags/test-tag:refs/tags/test-tag
...<download start>
>
> Thanks,
> -Stolee
>
Thanks,
Son Luong.
next prev parent reply other threads:[~2020-07-20 13:47 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-20 11:44 Pushing tag from a partial clone Son Luong Ngoc
2020-07-20 12:18 ` Derrick Stolee
2020-07-20 13:47 ` Son Luong Ngoc [this message]
2020-07-20 17:54 ` Jonathan Tan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=439C1CC1-50BB-4EA1-A8F0-04D66CA430AE@gmail.com \
--to=sluongng@gmail.com \
--cc=git@vger.kernel.org \
--cc=jonathantanmy@google.com \
--cc=stolee@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).