git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
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.

  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).