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

Re: What's cooking in git.git (Dec 2008, #04; Mon, 29)

From
Christian Couder <chriscool@tuxfamily.org>
Date
Jan 4, 2009, 11:18 UTC
Message-ID
<200901041218.59112.chriscool@tuxfamily.org>
In-Reply-To
<7vhc4gadg9.fsf@gitster.siamese.dyndns.org>
Le samedi 3 janvier 2009, Junio C Hamano a écrit :
Show 30 quoted lines
> Christian Couder <chriscool@tuxfamily.org> writes:
> > Le mardi 30 décembre 2008, Junio C Hamano a écrit :
> >> * cc/bisect-replace (Mon Nov 24 22:20:30 2008 +0100) 9 commits
> >>  - bisect: add "--no-replace" option to bisect without using replace
> >>    refs
> >>  - rev-list: make it possible to disable replacing using "--no-
> >>    bisect-replace"
> >>  - bisect: use "--bisect-replace" options when checking merge bases
> >>  - merge-base: add "--bisect-replace" option to use fixed up revs
> >>  - commit: add "bisect_replace_all" prototype to "commit.h"
> >>  - rev-list: add "--bisect-replace" to list revisions with fixed up
> >>    history
> >>  - Documentation: add "git bisect replace" documentation
> >>  - bisect: add test cases for "git bisect replace"
> >>  - bisect: add "git bisect replace" subcommand
> >>
> >> I think a mechanism like this should be added to replace grafts,
> >
> > The problem with replacing grafts is that a graft can specify many
> > parents for one commit while a ref associates only one object to a
> > name.
>
> Sorry, maybe I misunderstood your implementation.  What I thought we
> discussed during GitTogether was to write out the object name of the
> replacement object in refs/replace/<sha1>.
>
> When the caller asks read_sha1_file() for an object whose object name is
> <sha1>, you see if there is refs/replace/<sha1> in the repository, and
> read the ref to learn the object name of the object that replaces it. 
> And you return that as if it is the original object.

Ok. When I first implemented "bisect replace" I saw that I could reuse the graft fix-up mechanism. And as you talked about replacing grafts, I thought that you wanted the implementation to use that mechanism instead of adding a different one.

But I agree that it may be more powerfull and generic to replace objects the way you describe it. So I will work on that.

Thanks, Christian.

Previous: Junio C Hamano
Message 7 of 7 in “What's cooking in git.git (Dec 2008, #04; Mon, 29)”
  1. Junio C HamanoDec 30, 2008
  2. Jakub NarebskiDec 30, 2008
  3. Miklos VajnaDec 31, 2008
  4. Junio C HamanoDec 31, 2008
  5. Christian CouderJan 3, 2009
  6. Junio C HamanoJan 3, 2009
  7. Christian CouderJan 4, 2009

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.