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

Re: [PATCH] builtin-clone: fix for new unpack_trees() semantics

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Mar 9, 2008, 23:05 UTC
Message-ID
<alpine.LSU.1.00.0803100005060.3975@racer.site>
In-Reply-To
<alpine.LNX.1.00.0803091857540.19665@iabervon.org>
Hi,
On Sun, 9 Mar 2008, Daniel Barkalow wrote:
Show 49 quoted lines
> On Sun, 9 Mar 2008, Johannes Schindelin wrote:
> 
> > On Sun, 9 Mar 2008, Daniel Barkalow wrote:
> > 
> > > On Sun, 9 Mar 2008, Johannes Schindelin wrote:
> > > 
> > > > In git.git's "next" branch, unpack_trees() must specify source and target 
> > > > index.
> > > > 
> > > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> > > > ---
> > > > 
> > > > 	To be squashed into 10/11
> > > > 
> > > >  builtin-clone.c |    2 ++
> > > >  1 files changed, 2 insertions(+), 0 deletions(-)
> > > > 
> > > > diff --git a/builtin-clone.c b/builtin-clone.c
> > > > index e4047ed..3890e12 100644
> > > > --- a/builtin-clone.c
> > > > +++ b/builtin-clone.c
> > > > @@ -534,6 +534,8 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
> > > >  		opts.verbose_update = !option_quiet;
> > > >  		opts.merge = 1;
> > > >  		opts.fn = twoway_merge;
> > > > +		opts.src_index = &the_index;
> > > > +		opts.dst_index = &the_index;
> > > 
> > > Actually, I think the sensible thing is to just not do a merge here, since 
> > > we know there's no index beforehand and the two trees are the same.
> > > 
> > > I think the odd twoway merge of two copies of HEAD is just an artifact of 
> > > clone originally just doing "git checkout HEAD", and that got translated 
> > > various times failing to notice the special cases.
> > 
> > Okay, but would oneway_merge not want to write the index, too (rightfully 
> > so)?
> 
> I'm thinking:
> 
>   memset(&opts, 0, sizeof opts);
>   opts.update = 1;
>   opts.verbose_update = !option_quiet;
>   opts.dst_index = &the_index;
> 
>   init_tree_desc(&t[0], tree->buffer, tree->size);
>   unpack_trees(1, t, &opts);
> 
> That is, write it, but not read it, and only have one tree.
Yes.  And this sets dst_index (what I tried to hint at with my patch).

Ciao, Dscho

Previous: Daniel BarkalowNext: Daniel Barkalow
Message 6 of 8 in “Build in clone”
  1. 10/11 Build in cloneDaniel Barkalow, Mar 8, 2008
  2. builtin-clone: fix for new unpack_trees() semanticsJohannes Schindelin, Mar 9, 2008
  3. Daniel BarkalowMar 9, 2008
  4. Johannes SchindelinMar 9, 2008
  5. Daniel BarkalowMar 9, 2008
  6. Johannes SchindelinMar 9, 2008
  7. Daniel BarkalowMar 9, 2008
  8. Johannes SchindelinMar 10, 2008

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.