git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 5/7] diff_tree(): Skip skip_uninteresting() when all remaining paths interesting

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 25, 2010, 23:25 UTC
Message-ID
<7v1v9mp95o.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1282704795-29661-6-git-send-email-newren@gmail.com>

This and the previous patch seem to make sense to me, independent of the rest.

As to mixing pathspecs with --objects, I would say it is unfair to Linus to call it a bug that that particular use case has not been supported. I'd say it _is_ a bug that we didn't error out when --objects was given with pathspec at the command line level, though, as that is a combination we knowingly ignored to support.

It simply hasn't been deemed as a sane operation to produce a pack using an output from rev-list with pathspec and --objects, as it will leave some trees and blobs that the pack knows about in the result, without actually having them in it. In the context of "narrow clone", these wounds to trees are deliberate, and the existence of these wounds alone is not the reason why I called it insane to produce such a pack.

To make use of such a pack, however, you need to somehow cauterize these deliberate wounds in trees so that fsck, a later run of pack-objects, fetch-pack and friends will not choke on them. We didn't plan to have such an infrastructure so far, and that is what made such a pack with thousands of cuts "insane". As soon as "narrow clone" addresses that issue, mixture of pathspecs with --objects stops being an insane use case.

Previous: Elijah NewrenNext: Elijah Newren
Message 12 of 16 in “Minor bug fix and optimizations for revision/tree walking”
  1. 0/7 Minor bug fix and optimizations for revision/tree walkingElijah Newren, Aug 25, 2010
  2. 1/7 Add testcase showing how pathspecs are ignored with rev-list --objectsElijah Newren, Aug 25, 2010
  3. 2/7 Fix ignoring of pathspecs with rev-list --objectsElijah Newren, Aug 25, 2010
  4. Nguyen Thai Ngoc DuyAug 25, 2010
  5. Elijah NewrenAug 25, 2010
  6. Elijah NewrenAug 26, 2010
  7. Nguyen Thai Ngoc DuyAug 26, 2010
  8. Junio C HamanoAug 26, 2010
  9. 3/7 tree-walk: Correct bitrotted comment about tree_entry()Elijah Newren, Aug 25, 2010
  10. 4/7 tree_entry_interesting(): Make return value more specificElijah Newren, Aug 25, 2010
  11. 5/7 diff_tree(): Skip skip_uninteresting() when all remaining paths interestingElijah Newren, Aug 25, 2010
  12. Junio C HamanoAug 25, 2010
  13. Elijah NewrenAug 25, 2010
  14. Junio C HamanoAug 26, 2010
  15. 6/7 list-objects.c: Avoid recomputing interesting-ness for subtrees when possibleElijah Newren, Aug 25, 2010
  16. 7/7 tree-diff.c: Avoid recomputing interesting-ness for subtrees when possibleElijah Newren, Aug 25, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.