linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git: list of my complaints about future graft removal
@ 2025-08-19 13:57 Askar Safin
  2025-08-20 14:11 ` Bagas Sanjaya
  0 siblings, 1 reply; 4+ messages in thread
From: Askar Safin @ 2025-08-19 13:57 UTC (permalink / raw)
  To: git, gitster, helpdesk, kernelnewbies, kernel-janitors, linux-doc

Hi.

I just have read in https://github.com/git/git/blob/v2.51.0/Documentation/BreakingChanges.adoc that
git grafts will be removed in git 3.0.

Let me share my list of complaints/objections/thoughts about this.

(And also some info for kernel.org admins.)

* As well as I understand, Linux history repo
( https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/ )
relies on grafts. It is supposed that whoever clones that repo,
should manually graft latest commit of history repo with earliest commit
of main Linux history. Also that person should graft two other commits of history
repo (as well as I understand).

So, git and/or kernel.org people, please, ensure that this history repo
will continue to work after removal of grafts.

Also, currently this is very hard to discover how to get full Linux
history. If we type "how to get unified linux kernel git history"
to Google, we will get this answer:
https://stackoverflow.com/a/8130239 ,
which also points to this link:
https://archive.org/details/git-history-of-linux .

Both these links rely on grafts.
So, please, make sure that whoever types "how to get unified linux kernel git history"
into Google will get modern instructions in top links,
which do not rely on grafts.

Again: I strongly think that we should not remove graft support
until https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/
is made compatible with "git replace".
history.git is valuable repo, and I think a lot of people use history.git .

Git release notes for 3.0 should mention how to get history.git
working without grafts.

* As well as I understand, "git clone --depth=1" rely on grafts, too.
I hope "git clone --depth=1" will continue to work.

--
Askar Safin
https://types.pl/@safinaskar


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: git: list of my complaints about future graft removal
  2025-08-19 13:57 git: list of my complaints about future graft removal Askar Safin
@ 2025-08-20 14:11 ` Bagas Sanjaya
  2025-08-25 13:39   ` Askar Safin
  2025-08-25 23:36   ` Junio C Hamano
  0 siblings, 2 replies; 4+ messages in thread
From: Bagas Sanjaya @ 2025-08-20 14:11 UTC (permalink / raw)
  To: Askar Safin, git, gitster, helpdesk, kernelnewbies,
	kernel-janitors, linux-doc

[-- Attachment #1: Type: text/plain, Size: 406 bytes --]

On Tue, Aug 19, 2025 at 05:57:08PM +0400, Askar Safin wrote:
> * As well as I understand, "git clone --depth=1" rely on grafts, too.
> I hope "git clone --depth=1" will continue to work.

So shallow clones should use git-replace(1) under the hood (both on initial
clone, deepening with --shallow-since and --unshallow), right?

Thanks.

-- 
An old man doll... just what I always wanted! - Clara

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: git: list of my complaints about future graft removal
  2025-08-20 14:11 ` Bagas Sanjaya
@ 2025-08-25 13:39   ` Askar Safin
  2025-08-25 23:36   ` Junio C Hamano
  1 sibling, 0 replies; 4+ messages in thread
From: Askar Safin @ 2025-08-25 13:39 UTC (permalink / raw)
  To: Bagas Sanjaya
  Cc: git, gitster, helpdesk, kernelnewbies, kernel-janitors, linux-doc

 ---- On Wed, 20 Aug 2025 18:11:30 +0400  Bagas Sanjaya <bagasdotme@gmail.com> wrote --- 
 > So shallow clones should use git-replace(1) under the hood (both on initial
 > clone, deepening with --shallow-since and --unshallow), right?

You are asking me? I'm not git developer.

What you mean? How git works currently or how it should work in 3.0?

I don't know how it works currently.

And I don't know how it will work in the future.

I just want "git clone --depth=1" to continue to work.
I. e. git developers should somehow take measures to
make sure "git clone --depth=1" will continue
to work even if grafts will be removed.

Currently "git clone --depth=1" seems to
be implemented using grafts, i. e. I see word "grafted"
in "git log" output if I use "git clone --depth=1"
(I just tested this on git 2.47.2)


--
Askar Safin
https://types.pl/@safinaskar


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: git: list of my complaints about future graft removal
  2025-08-20 14:11 ` Bagas Sanjaya
  2025-08-25 13:39   ` Askar Safin
@ 2025-08-25 23:36   ` Junio C Hamano
  1 sibling, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2025-08-25 23:36 UTC (permalink / raw)
  To: Bagas Sanjaya
  Cc: Askar Safin, git, helpdesk, kernelnewbies, kernel-janitors,
	linux-doc

Bagas Sanjaya <bagasdotme@gmail.com> writes:

> On Tue, Aug 19, 2025 at 05:57:08PM +0400, Askar Safin wrote:
>> * As well as I understand, "git clone --depth=1" rely on grafts, too.
>> I hope "git clone --depth=1" will continue to work.
>
> So shallow clones should use git-replace(1) under the hood (both on initial
> clone, deepening with --shallow-since and --unshallow), right?

An unfortunate historical glitch is that shallow uses neither the
grafts (which is being removed) nor replace but its own mechanism.
It internally borrows the same "graft" code paths but the data is
stored outside the normal grafts mechanism, if I understand
correctly.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-08-25 23:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-19 13:57 git: list of my complaints about future graft removal Askar Safin
2025-08-20 14:11 ` Bagas Sanjaya
2025-08-25 13:39   ` Askar Safin
2025-08-25 23:36   ` Junio C Hamano

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 NNTP newsgroup(s).