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

Re: [PATCH 2/2] Fix t3404 assumption that `wc -l` does not use whitespace.

From
JSJörg Sommer <joerg@alea.gnuu.de>
Date
Apr 28, 2008, 11:40 UTC
Message-ID
<slrng1bdsf.25r.joerg@alea.gnuu.de>
In-Reply-To
<alpine.DEB.1.00.0804281112500.2949@eeepc-johanness>
Hi,
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 12 quoted lines
> On Sun, 27 Apr 2008, Junio C Hamano wrote:
>
>> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>> 
>> > ...  It did not help that I hated the fact that that series changed 
>> > the original design without even understanding it.
>> 
>> Care to elaborate on this point further?  I do not get it.
>
> The original implementation of -p was modeled closely after filter-branch, 
> in that it created a subdirectory (dotest/rewritten) containing the new 
> commit names for those commits that were rewritten.

But that wasn't the way rebase -i works. You had to jump in before pick_one does anything which clearly shows you did something different from the default way.

> Now, whenever a commit was picked, the parents would be looked up in 
> dotest/rewritten, and replaced with the rewritten name (or left unchanged 
> if they were not rewritten).
This approach doesn't work when you change the order of commits.
Take the commit A, B and C in this order and reorder them to A C B:
1. pick A, A^ was not rewritten, nothing changed, A stays the same
2. pick C, C^ was not rewritten, nothing changed, C stays the same
3. pick B, B^ was not rewritten, nothing changed, B stays the same

Depending on your handling of the new tip of the branch you loose C or, as your code did, nothing changed, because you made the assumption the new HEAD is the rewritten old HEAD.

> Basically, the output of rebase -i -p is ugly now, because you have _two_ 
> ways of specifying things,
Show 11 quoted lines
> I have the feeling that I have to repeat my point again, so that it is not 
> ignored -- again.  Maybe an example would help:
>
> -- snip --
> pick abcdefg This is the first commit to be picked
> reset cdefghij
> pick zyxwvux A commit in a side-branch
> merge recursive abcdefg
> -- snap --
>
> I am convinced that this syntax does not need much explanation.
But above you said this syntax + mark is “ugly”. Strange.
> A patch implementing a syntax like this would have won my unilateral 
> approval

I doubt this. You refused any changes to your idea and your code from the beginning. You didn't answer questions and doesn't take part on the discussion [1] about the new syntax.

Bye, Jörg.
[1] <7vabkoufzq.fsf@gitster.siamese.dyndns.org>
-- 
Es gibt nichts schöneres als dem Schweigen eines Dummkopfes zuzuhören.
   	       		      	  	        (Helmut Quatlinger)
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 16 of 23 in “Fix t3404 assumption that `wc -l` does not use whitespace.”
  1. 2/2 Fix t3404 assumption that `wc -l` does not use whitespace.Brian Gernhardt, Apr 27, 2008
  2. Johannes SchindelinApr 27, 2008
  3. Brian GernhardtApr 27, 2008
  4. Jeff KingApr 28, 2008
  5. Mike RalphsonApr 28, 2008
  6. Jeff KingMay 13, 2008
  7. Mike RalphsonMay 13, 2008
  8. Mike RalphsonMay 15, 2008
  9. Jeff KingMay 15, 2008
  10. Jeff KingMay 15, 2008
  11. Junio C HamanoMay 15, 2008
  12. Mike RalphsonMay 16, 2008
  13. Brian GernhardtApr 28, 2008
  14. Junio C HamanoApr 27, 2008
  15. Johannes SchindelinApr 28, 2008
  16. Jörg SommerApr 28, 2008
  17. Johannes SchindelinApr 28, 2008
  18. Jörg SommerApr 28, 2008
  19. Johannes SchindelinApr 28, 2008
  20. Junio C HamanoApr 28, 2008
  21. Johannes SchindelinApr 28, 2008
  22. Junio C HamanoApr 28, 2008
  23. Johannes SchindelinApr 28, 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.