git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kyle Marek <kmarek@pdinc.us>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jason Pyeron <jpyeron@pdinc.us>,
	git@vger.kernel.org,
	Philippe Blain <levraiphilippeblain@gmail.com>
Subject: Re: [PATCH 1/2] revision: Denote root commits with '#'
Date: Mon, 18 Jan 2021 02:56:22 -0500	[thread overview]
Message-ID: <e0264a29-2112-f8c8-f066-2be445654d8e@pdinc.us> (raw)
In-Reply-To: <xmqq7dobmfrq.fsf@gitster.c.googlers.com>

On 1/17/21 4:10 PM, Junio C Hamano wrote:
> Kyle Marek<kmarek@pdinc.us>  writes:
>
>> This aids in identifying where an unrelated branch history starts when
>> using `git log --graph --oneline --all`
>>
>> Signed-off-by: Kyle Marek<kmarek@pdinc.us>
>> ---
>>   revision.c | 6 ++++--
>>   1 file changed, 4 insertions(+), 2 deletions(-)
> No tests?

I'm not very familiar with the code base. I now see the t/README file.

>> diff --git a/revision.c b/revision.c
>> index 9dff845bed..8556923de8 100644
>> --- a/revision.c
>> +++ b/revision.c
>> @@ -4191,9 +4191,11 @@ const char *get_revision_mark(const struct rev_info *revs, const struct commit *
>>   			return "<";
>>   		else
>>   			return ">";
>> -	} else if (revs->graph)
>> +	} else if (revs->graph) {
>> +		if (!commit->parents)
>> +			return "#";
>>   		return "*";
>> -	else if (revs->cherry_mark)
>> +	} else if (revs->cherry_mark)
>>   		return "+";
>>   	return "";
>>   }
> Here is what I tried to come up with, but somehow the "#" marker is
> not showing for me.
>
> The "counted plus --left-right" tests stress why a single "#" is not
> good enough.  I think the patch also needs to replace "<" and ">"
> for root commits that are left and right---in the tests, I used "L"
> to denote "root that is on the left side" (and "R" for the right
> side) instead of single "#", so that we do not to lose information.
>
> By the way, as I already said in the original thread, I do not think
> the '#' marking is a good idea; I'd rather see the root commit shown
> by shifting columns.

Sorry, I wasn't subscribed to the list until Jason CC'd me on his 
request. I also wasn't aware of --left-right.

I'll investigate the revision-mark shifting idea. I am concerned that it 
would get complicated if a graph edge extends around a revision that 
needs to be shifted, but I'm finding it difficult to produce this with 
--graph:

*   8d82d0a (HEAD -> master) Merge branch 'o1'
|\
| * 3479914 (o1) O1
| * a674e07 O1        <-- root commit
| * 2237b52 (t) T
| * f525fa5 T
|/
* f15f936 A
| * 9e289ed (u) U
|/
* ee911c8 initial     <-- root commit

vs:

*   8ee9b14 (HEAD -> master) Merge branch 'u'
|\
| * ed1990f (u) U
* |   277f31c Merge branch 'o1'
|\ \
| * | eaa71bb (o1) O1
| * | 9203a43 O1      <-- root commit
|  /
| | * bc2c4d9 (t) T
| | * 2d3c03b T
| |/
|/|
* | 6a26183 A
|/
* da85ccf initial     <-- root commit
  

Thoughts? Will git ever graph something like:

*
|\
| *
* |
|\ \
| * | <-- root commit
| * | <-- some head
|/ /
* /
|/
*     <-- root commit

-- 

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-                                                               -
- Kyle Marek                        PD Inc.http://www.pdinc.us  -
- Jr. Developer                     10 West 24th Street #100    -
- +1 (443) 269-1555 x361            Baltimore, Maryland 21218   -
-                                                               -
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


  reply	other threads:[~2021-01-18  7:57 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-14 18:30 add a blank line when a commit has no parent in log output? Jason Pyeron
2021-01-14 19:29 ` Philippe Blain
2021-01-14 20:44   ` Jason Pyeron
2021-01-17 11:03     ` [PATCH 0/2] Option to modify revision mark for root commits Kyle Marek
2021-01-17 11:03       ` [PATCH 1/2] revision: Denote root commits with '#' Kyle Marek
2021-01-17 21:10         ` Junio C Hamano
2021-01-18  7:56           ` Kyle Marek [this message]
2021-01-18 19:15             ` Junio C Hamano
2021-01-18 20:33               ` Junio C Hamano
2021-01-19  7:43                 ` Kyle Marek
2021-01-19 22:10                   ` Junio C Hamano
2021-01-20  3:25                     ` Kyle Marek
2021-01-20  6:47                       ` Junio C Hamano
2021-01-20 15:11                         ` Jason Pyeron
2021-01-20 21:52                           ` Junio C Hamano
2021-01-20 23:01                             ` Jason Pyeron
2021-01-23 18:07                               ` Junio C Hamano
2021-01-23 23:02                                 ` Jason Pyeron
2021-01-23 23:45                                   ` Junio C Hamano
2021-01-24  0:02                                     ` Jason Pyeron
2021-01-25  7:00                                       ` Junio C Hamano
2021-01-17 22:44         ` Junio C Hamano
2021-01-17 11:03       ` [PATCH 2/2] revision: implement --show-linear-break for --graph Kyle Marek
2021-01-17 22:56         ` Junio C Hamano
2021-01-18  2:09           ` Junio C Hamano
2021-01-18  7:56             ` Kyle Marek
2021-01-18 21:01               ` Junio C Hamano
2021-01-19  7:44                 ` Kyle Marek
2021-01-15  1:12 ` add a blank line when a commit has no parent in log output? Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e0264a29-2112-f8c8-f066-2be445654d8e@pdinc.us \
    --to=kmarek@pdinc.us \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jpyeron@pdinc.us \
    --cc=levraiphilippeblain@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).