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

Missing and omitted objects

From
Simon Richter <simon.richter@hogyros.de>
Date
Jan 21, 2026, 11:54 UTC
Message-ID
<a612ea8e-a741-436d-8ed2-6ff09ba7945b@hogyros.de>
Hi,
we're having a bit of a discussion in Debian.

The goal is to move towards git based storage for source packages, away from tarballs; ideally we'd like to reuse the upstream git archive as far as possible, so it is easy to check for differences.

However, some projects are shipping files that aren't redistributable, or that we want to omit for other reasons (such as vendored dependencies, when there is a perfectly working common version available, and we really really want to make sure these don't get used accidentally).

The goal here is to allow the recipient of such a bundle to verify that any files received are unmodified, and get a list of paths that were removed (which may be an entire subdirectory). Ideally, they could also continue working on a clone of this and generate commits on top as long as the affected paths aren't touched.

The minimal amount of data we'd want to archive is a single commit and its tree and dependencies, plus optionally a signed tag pointing at it if it exists (i.e. the same information we get if we use git-archive, plus the signature on the tag, plus the option to clone from such a snapshot). For the simple case where nothing is removed, this already works well and covers most of the use cases, but, sadly, not all of them.

As a side effect, this could make recovery of a broken repository that is missing objects more robust.

Right now, I'd like some feedback whether someone has a better idea, and if such a feature could ever work or if it violates some fundamental design principles.

    Simon
Next: Philip Oakley
Message 1 of 3 in “Missing and omitted objects”
  1. Simon RichterJan 21, 2026
  2. Philip OakleyJan 25, 2026
  3. Philip OakleyJan 26, 2026

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.