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

Re: commit-message attack for extracting sensitive data from rewritten Git history

From
Jeff King <peff@peff.net>
Date
Apr 8, 2013, 21:54 UTC
Message-ID
<20130408215457.GB11227@sigill.intra.peff.net>
In-Reply-To
<7vehelyqrv.fsf@alter.siamese.dyndns.org>
On Mon, Apr 08, 2013 at 08:40:36AM -0700, Junio C Hamano wrote:
Show 14 quoted lines
> With or without the security issue, leaving old object names that
> will become irrelevant in the rewritten history will make the
> resulting history less useful, simply because people cannot look at
> the objects these messages refer to. The same argument is behind the
> reason why "cherry-pick -x" was originally the default, found to be
> a mistake and made optional.
> 
> filter-branch provides "map" helper function to help mapping old
> object names to rewritten object names, but stops there; it leaves
> it up to the message filter script to identify what string in the
> message is an object name to be rewritten.
> 
> It can be taught to be more helpful to the message filter writers,
> and you seem to have done so in BFG, which is very good.

Yeah, it would make sense for filter-branch to have a "--map-commit-ids" option or similar that does the update. At first I thought it might take two passes, but I don't think it is necessary, as long as we traverse the commits topologically (i.e., you cannot have mentioned X in a commit that is an ancestor of X, so you do not have to worry about mapping it until after it has been processed).

-Peff
Previous: Junio C HamanoNext: Johannes Sixt
Message 3 of 6 in “commit-message attack for extracting sensitive data from rewritten Git history”
  1. Roberto TyleyApr 7, 2013
  2. Junio C HamanoApr 8, 2013
  3. Jeff KingApr 8, 2013
  4. Johannes SixtApr 9, 2013
  5. Jeff KingApr 9, 2013
  6. Roberto TyleyApr 9, 2013

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.