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

Re: [GSoC] What is status of Git's Google Summer of Code 2008 projects?

From
Jakub Narebski <jnareb@gmail.com>
Date
Jul 8, 2008, 17:31 UTC
Message-ID
<200807081931.31764.jnareb@gmail.com>
In-Reply-To
<20080708163430.GK6726@leksak.fem-net>
Hi!
On Wed, 8 July 2008, Stephan Beyer wrote:
Show 29 quoted lines
> Jakub Narebski wrote:
>> Stephan Beyer wrote:
>>>
>>> It is taking the commit message from the commit in the "From <commit> .*"
>>> line, does *not* change it in any way and then applies the changes using
>>> threeway merge.
>> 
>> Not exactly.  "git am --rebasing" still tries to first just *apply*
>> the patch, then (I think) it falls back on blob-id based 3way merge.
> 
> That's of course totaly right and what I've meant, but unfortunately not
> what I've written ;-)
> 
>>> Keeping that in mind what about dealing with --rebasing like that:
>>> if --rebasing is given, git am simply generates
>>> 	pick <commit>
>>> lines, instead of
>>> 	patch -3 -k <msg>
>>> as it is now (and this is not enough, as it seems).
>> 
>> It is not.
>> 
>> Nevertheless it would be I think better for ordinary patch based rebase
>> to fall back not on git-am 3way merge, but on cherry-pick based merge
>> (i.e. on pick).
> 
> Hmm, if I get you right you _partly_ agree with me in choosing "pick" for
> am --rebasing... But cherry-pick should only be chosen if a simple git-apply
> failed first. Right?
Right.
Show 9 quoted lines
> I just got another idea which could easily be done and perhaps is the
> right thing :)
> Generating
> 	patch -C <commit> -3 <file>
> 
> This takes authorship and message from <commit> and does the usual
> threeway-fallback behavior.
> 
> What do you think?

Very good idea (I have proposed something similar either here on in another thread). It would avoid some unnecessary "marshalling" and "unmarshalling" which is needed to transfer commit message [unchanged] through git-format-patch -> git-am pipeline, namely putting first paragraph into subject line, generating then parsing RFC-2822 date, using quoted printable encoding for first paragraph / subject header (I think).

It would be still better to fallback to _pick_, not "git am --3way", as the latter IIRC use _shortened_ _blob_ identifiers for pre- and post-image to find common ancestor (merge base) for 3way merge. Which is not necessary as we can find merge base and base commits easier.

-- 
Jakub Narebski
Poland
Previous: Stephan BeyerNext: Lea Wiemann
Message 10 of 46 in “[GSoC] What is status of Git's Google Summer of Code 2008 projects?”
  1. Jakub NarebskiJul 8, 2008
  2. David SymondsJul 8, 2008
  3. Stephan BeyerJul 8, 2008
  4. Junio C HamanoJul 8, 2008
  5. Stephan BeyerJul 8, 2008
  6. Jakub NarebskiJul 8, 2008
  7. Stephan BeyerJul 8, 2008
  8. Jakub NarebskiJul 8, 2008
  9. Stephan BeyerJul 8, 2008
  10. Jakub NarebskiJul 8, 2008
  11. Lea WiemannJul 8, 2008
  12. J.H.Jul 8, 2008
  13. Shawn O. PearceJul 8, 2008
  14. Joshua RoysJul 8, 2008
  15. Johannes SchindelinJul 8, 2008
  16. Jakub NarebskiJul 8, 2008
  17. Petr BaudisJul 8, 2008
  18. Sam VilainJul 8, 2008
  19. Sverre RabbelierJul 9, 2008
  20. Miklos VajnaJul 9, 2008
  21. Jakub NarebskiJul 9, 2008
  22. Jakub NarebskiJul 20, 2008
  23. Sverre RabbelierJul 20, 2008
  24. Stephan BeyerJul 20, 2008
  25. Sam VilainJul 21, 2008
  26. Johannes SchindelinJul 21, 2008
  27. Jakub NarebskiJul 21, 2008
  28. Petr BaudisJul 21, 2008
  29. Joshua RoysJul 21, 2008
  30. Shawn O. PearceJul 21, 2008
  31. Sverre RabbelierAug 17, 2008
  32. Jakub NarebskiAug 14, 2008
  33. Sam VilainAug 14, 2008
  34. Petr BaudisAug 14, 2008
  35. Jakub NarebskiAug 14, 2008
  36. Johannes SchindelinAug 14, 2008
  37. Lea WiemannAug 15, 2008
  38. Jakub NarebskiAug 15, 2008
  39. Stephan BeyerAug 16, 2008
  40. Shawn O. PearceAug 16, 2008
  41. Jakub NarebskiAug 16, 2008
  42. Marek ZawirskiAug 17, 2008
  43. Shawn O. PearceAug 18, 2008
  44. Joshua RoysAug 19, 2008
  45. Sam VilainAug 20, 2008
  46. Stephan BeyerAug 22, 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.