gitgitgadget / git

GitGitGadget's Git fork. Open Pull Requests here to submit them to the Git mailing list
https://gitgitgadget.github.io/
Other
213 stars 134 forks source link

mktree: support more flexible usage #1746

Closed vdye closed 3 months ago

vdye commented 4 months ago

The goal of this series is to make 'git mktree' a much more flexible and powerful tool for constructing arbitrary trees in memory without the use of an index or worktree. The main additions are:

It also introduces some quality-of-life updates:

The implementation change underpinning the new features is completely revamping how the tree is constructed in memory. Instead of writing a single tree object into a strbuf and hashing it into the object database, we construct an in-core sparse index and write out the root tree, as well as any new subtrees, using the cache tree infrastructure.

The series is organized as follows:

I also plan to add a '--strict' option that runs 'fsck' checks on the new tree(s) before writing to the object database (similar to 'mkttag --strict'), but this series is pretty long as it is and that part can easily be separated out into its own series.

Changes since V1

[1] https://lore.kernel.org/git/xmqqle3aovpq.fsf@gitster.g/

Thanks!

cc: Eric Sunshine sunshine@sunshineco.com cc: Patrick Steinhardt ps@pks.im

vdye commented 4 months ago

/submit

gitgitgadget[bot] commented 4 months ago

Submitted as pull.1746.git.1718130288.gitgitgadget@gmail.com

To fetch this version into FETCH_HEAD:

git fetch https://github.com/gitgitgadget/git/ pr-1746/vdye/vdye/mktree-recursive-v1

To fetch this version to local tag pr-1746/vdye/vdye/mktree-recursive-v1:

git fetch --no-tags https://github.com/gitgitgadget/git/ tag pr-1746/vdye/vdye/mktree-recursive-v1
gitgitgadget[bot] commented 4 months ago

User Eric Sunshine <sunshine@sunshineco.com> has been added to the cc: list.

gitgitgadget[bot] commented 4 months ago

This branch is now known as vd/mktree.

gitgitgadget[bot] commented 4 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/fc628dc83185b299a17e2e11b52697d7ed454a3a.

gitgitgadget[bot] commented 4 months ago

There was a status update in the "New Topics" section about the branch vd/mktree on the Git mailing list:

"git mktree" has been rewritten, taking advantage of the cache-tree
API.

source: <pull.1746.git.1718130288.gitgitgadget@gmail.com>
gitgitgadget[bot] commented 4 months ago

User Patrick Steinhardt <ps@pks.im> has been added to the cc: list.

gitgitgadget[bot] commented 4 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/7f41da18f4f5d0c78e56a316e7042a28c7b42a4d.

gitgitgadget[bot] commented 4 months ago

There was a status update in the "Cooking" section about the branch vd/mktree on the Git mailing list:

"git mktree" has been rewritten, taking advantage of the cache-tree
API.
source: <pull.1746.git.1718130288.gitgitgadget@gmail.com>
gitgitgadget[bot] commented 4 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/ca589032bf640cd6a3a575d579be20522cf25a3f.

gitgitgadget[bot] commented 4 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/93ed4b55cbd6ba5434940e7eef82e7e66645fe39.

gitgitgadget[bot] commented 4 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/2763705eb91d0264ecf01473735e8f7f2b4c0e06.

gitgitgadget[bot] commented 4 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/201c8759340dd18d8914cd159984daaab1b725d1.

gitgitgadget[bot] commented 4 months ago

There was a status update in the "Cooking" section about the branch vd/mktree on the Git mailing list:

"git mktree" has been rewritten, taking advantage of the cache-tree
API.

Waiting for comments or a reroll.
source: <pull.1746.git.1718130288.gitgitgadget@gmail.com>
gitgitgadget[bot] commented 4 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/683b2997c7afda8ca60f12f6d76e93fdab7b3077.

gitgitgadget[bot] commented 4 months ago

There was a status update in the "Cooking" section about the branch vd/mktree on the Git mailing list:

"git mktree" has been rewritten, taking advantage of the cache-tree
API.

Waiting for comments or a reroll.
source: <pull.1746.git.1718130288.gitgitgadget@gmail.com>
gitgitgadget[bot] commented 4 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/9bde0222a30c5408753e749e2ef7b38fe36dff22.

vdye commented 4 months ago

/submit

gitgitgadget[bot] commented 4 months ago

Submitted as pull.1746.v2.git.1718834285.gitgitgadget@gmail.com

To fetch this version into FETCH_HEAD:

git fetch https://github.com/gitgitgadget/git/ pr-1746/vdye/vdye/mktree-recursive-v2

To fetch this version to local tag pr-1746/vdye/vdye/mktree-recursive-v2:

git fetch --no-tags https://github.com/gitgitgadget/git/ tag pr-1746/vdye/vdye/mktree-recursive-v2
gitgitgadget[bot] commented 4 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/61331c04851df2fc52d48536085c9a296a5284c7.

gitgitgadget[bot] commented 4 months ago

There was a status update in the "Cooking" section about the branch vd/mktree on the Git mailing list:

"git mktree" has been rewritten, taking advantage of the cache-tree
API.

Needs review.
source: <pull.1746.v2.git.1718834285.gitgitgadget@gmail.com>
gitgitgadget[bot] commented 4 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/0146f1a9bdbd0e2de3d90b51cd62e43e6d3a98ef.

gitgitgadget[bot] commented 4 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/d6527c2636e880fbe18ec58e3a90f48aa59ac396.

gitgitgadget[bot] commented 4 months ago

There was a status update in the "Cooking" section about the branch vd/mktree on the Git mailing list:

"git mktree" has been rewritten, taking advantage of the cache-tree
API.

Needs review.
source: <pull.1746.v2.git.1718834285.gitgitgadget@gmail.com>
gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/0811ec7e12b7ded59fca9cca8c10ab03c52af7c4.

gitgitgadget[bot] commented 3 months ago

On the Git mailing list, Junio C Hamano wrote (reply to this):

"Victoria Dye via GitGitGadget" <gitgitgadget@gmail.com> writes:

> The goal of this series is to make 'git mktree' a much more flexible and
> powerful tool for constructing arbitrary trees in memory without the use of
> an index or worktree.

I've read earlier parts of this series carefully (but didn't manage
to get to the end of it), and I saw Patrick and Eric gave reviews on
the earlier round, but otherwise this topic seems to have stalled.

https://lore.kernel.org/git/pull.1746.v2.git.1718834285.gitgitgadget@gmail.com/

Any more comments?

Otherwise, if I find time to read through 13-17/17 and did not find
anything glaringly wrong, I am planning to mark the topic ready for
'next'.  Thanks.
gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/273ff0bb78cbf83ed395849cfa599016b7debdf0.

gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/ed3ac05c9f2f13ecb907c883a7e9c42fa23a8f45.

gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/c75c451679ce2fc8f53647f5e7d919321354de89.

gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/b22cd77b6fae7dd9968aa16fb88315f6cc03275d.

gitgitgadget[bot] commented 3 months ago

There was a status update in the "Stalled" section about the branch vd/mktree on the Git mailing list:

"git mktree" has been rewritten, taking advantage of the cache-tree
API.

Will merge to 'next'.
source: <pull.1746.v2.git.1718834285.gitgitgadget@gmail.com>
gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/8f8dc1384bbdcaa1eca72d7d55a8cbd13e8d14de.

gitgitgadget[bot] commented 3 months ago

There was a status update in the "Stalled" section about the branch vd/mktree on the Git mailing list:

"git mktree" has been rewritten, taking advantage of the cache-tree
API.

Will merge to 'next'?
source: <pull.1746.v2.git.1718834285.gitgitgadget@gmail.com>
gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/dd6bdc26368f8a6b505fc820ffbce842ee27e6eb.

gitgitgadget[bot] commented 3 months ago

There was a status update in the "Stalled" section about the branch vd/mktree on the Git mailing list:

"git mktree" has been rewritten, taking advantage of the cache-tree
API.

Will merge to 'next'?
source: <pull.1746.v2.git.1718834285.gitgitgadget@gmail.com>
gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/09ec1f1863c1d322926336470c62f7efa642eb7d.

gitgitgadget[bot] commented 3 months ago

On the Git mailing list, Junio C Hamano wrote (reply to this):

Junio C Hamano <gitster@pobox.com> writes:

> "Victoria Dye via GitGitGadget" <gitgitgadget@gmail.com> writes:
>
>> The goal of this series is to make 'git mktree' a much more flexible and
>> powerful tool for constructing arbitrary trees in memory without the use of
>> an index or worktree.
>
> I've read earlier parts of this series carefully (but didn't manage
> to get to the end of it), and I saw Patrick and Eric gave reviews on
> the earlier round, but otherwise this topic seems to have stalled.
>
> https://lore.kernel.org/git/pull.1746.v2.git.1718834285.gitgitgadget@gmail.com/
>
> Any more comments?
>
> Otherwise, if I find time to read through 13-17/17 and did not find
> anything glaringly wrong, I am planning to mark the topic ready for
> 'next'.  Thanks.

And I had a few review comments myself.  Then the topic stalled.  I
am not ready to mark the topic ready for 'next' in this state.

THanks.
gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/0cb904103bf6a6c303fe4374985deb1bd60be207.

gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/4c96eab24589700e2fa69dd667e4f6ff1b2ce04f.

gitgitgadget[bot] commented 3 months ago

There was a status update in the "Stalled" section about the branch vd/mktree on the Git mailing list:

"git mktree" has been rewritten, taking advantage of the cache-tree
API.

Will merge to 'next'?
source: <pull.1746.v2.git.1718834285.gitgitgadget@gmail.com>
gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/e299a2f4c07ef5032b1469c6c2f7ac89d8a63b8f.

gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/2e71d778295dac5176d144ccfbb2376cb1ce3a08.

gitgitgadget[bot] commented 3 months ago

There was a status update in the "Stalled" section about the branch vd/mktree on the Git mailing list:

"git mktree" has been rewritten, taking advantage of the cache-tree
API.

Will merge to 'next'?
source: <pull.1746.v2.git.1718834285.gitgitgadget@gmail.com>
gitgitgadget[bot] commented 3 months ago

This patch series was integrated into seen via https://github.com/git/git/commit/09a62d013458d36c2edce995aa9b0de2218d8fdb.