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

Re: [BUG] Cannot push some grafted branches

From
Jeff King <peff@peff.net>
Date
Dec 19, 2012, 13:06 UTC
Message-ID
<20121219130632.GA7134@sigill.intra.peff.net>
In-Reply-To
<50D16911.10000@viscovery.net>
On Wed, Dec 19, 2012 at 08:13:21AM +0100, Johannes Sixt wrote:
Show 11 quoted lines
> Am 12/18/2012 17:24, schrieb Jeff King:
> > I am not really interested in pushing this forward myself, but I worked
> > up this toy that somebody might find interesting (you can "git replace
> > HEAD~20" to get dumped in an editor). It should probably handle trees,
> > and it would probably make sense to do per-object-type sanity checks
> > (e.g., call verify_tag on tags).
> 
> I know it's just a throw-away patch, but I would discourage to go this
> route without also adding all the sanity checks. Otherwise, it will have
> just created a porcelain command that can generate a commit object with
> any content you want!

I think I agree with you that it would not be worth doing without sanity checks. I am not sure if your "any content you want" statement means "bad people can easily make bogus objects" or "it is too easy to make arbitrary mistakes, putting your repo in a bogus state".

I would agree that the latter is compelling, but not the former. You can already easily generate a commit with any content you want via "hash-object -t commit", and I have frequently done this while testing corner cases of fsck, how git behaves when given buggy data, etc. So to me it is not about preventing intentional abuse, but about not promoting a feature that makes it too easy to screw up.

-Peff
Previous: Johannes SixtNext: Junio C Hamano
Message 22 of 29 in “[BUG] Cannot push some grafted branches”
  1. Yann DirsonDec 11, 2012
  2. Junio C HamanoDec 11, 2012
  3. Yann DirsonDec 12, 2012
  4. Yann DirsonDec 12, 2012
  5. Junio C HamanoDec 12, 2012
  6. Yann DirsonDec 17, 2012
  7. Junio C HamanoDec 17, 2012
  8. Yann DirsonDec 17, 2012
  9. Thomas RastDec 17, 2012
  10. Yann DirsonDec 17, 2012
  11. Christian CouderDec 17, 2012
  12. Yann DirsonDec 17, 2012
  13. Andreas SchwabDec 17, 2012
  14. Junio C HamanoDec 17, 2012
  15. Yann DirsonDec 18, 2012
  16. Johannes SixtDec 18, 2012
  17. Thomas RastDec 18, 2012
  18. Yann DirsonDec 18, 2012
  19. Thomas RastDec 18, 2012
  20. Jeff KingDec 18, 2012
  21. Johannes SixtDec 19, 2012
  22. Jeff KingDec 19, 2012
  23. Junio C HamanoDec 18, 2012
  24. Yann DirsonDec 19, 2012
  25. Thomas RastDec 19, 2012
  26. Junio C HamanoDec 19, 2012
  27. Michael J GruberDec 21, 2012
  28. Junio C HamanoDec 21, 2012
  29. Michael J GruberDec 22, 2012

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.