[GSoC Project RFC] "git log --oneline" improvements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey everyone,


I am Parth Gala. I am second year major in Electronics and Communications
Engineering at Dwarkadas J. Sanghvi College of Engineering. I am interested
in participating for GSoC 2020 under the Git organisation.

First of all I would like to apologise for sending in my participation so
late. I lost 2 crucial weeks of discussion from the end of Feb due to some
personal problems. I was initially interested in working on the rewrite of
submodule from shell to C, but after checking the mailing list I saw that
Shourya Shukla had already taken it up and had started work on it, so I
felt it wise to leave it to him. So all the reading that I did for
submodules had to be repeated for this project.

I went through the discussions here[1] and here[2] and what I could
conclude from [1] is, the 'git log --oneline' command currently shows the
decorations of a commit before the commit message but after the shortened
hash due to which the alignment of the messages is disturbed like this,

    3f07dac29 (HEAD -> master) pathspec: don't error out on all-exclusionary pathspec patterns
    ca4a562f2 pathspec magic: add '^' as alias for '!'
    02555c1b2 ls-remote: add "--diff" option to show only refs that differ
    6e3a7b339 (tag: v2.12.0-rc0, origin/master, origin/HEAD) Git 2.12-rc0
    fafca0f72 Merge branch 'cw/log-updates-for-all-refs-really'
    74dee5cfa Merge branch 'pl/complete-diff-submodule-diff'
    36acf4123 Merge branch 'rs/object-id'

And if the decorations were to be shown after the message and you were
checking the logs just to see the status of a branch rather than the
contents then you would again be at a disadvantage, since you would want
to have them visible right next to the hashes. Besides decorations at the
end would have the inconvenience of being truncated at the end of the line
on smaller screens.

This format for --oneline with decorations was decided upon,

  b9df16a4c (HEAD -> master)
            pathspec: don't error out on all-exclusionary pathspec patterns
  91a491f05 pathspec magic: add '^' as alias for '!'
  c8e05fd6d ls-remote: add "--diff" option to show only refs that differ
  20769079d (tag: v2.12.0-rc2, origin/master, origin/HEAD)
            Git 2.12-rc2
  076c05393 Hopefully the final batch of mini-topics before the final

In [2] such formats with date and timestamp are discussed along with
compatibility for --graph option as well,

  === 2015-09-17 ===
  * ee6ad5f4 12:16 jch (tag: v2.5.3) Git 2.5.3
    === 2015-09-09 ===
  * b9d66899 14:22 js  am --skip/--abort: merge HEAD/ORIG_HEAD tree into index
  |   === 2015-09-04 ===
  | * 27ea6f85 10:46 jch (tag: v2.5.2) Git 2.5.2
  * 74b67638 10:36 jch (tag: v2.4.9) Git 2.4.9
                       ..........
  * ecad27cf 10:32 jch (tag: v2.3.9) Git 2.3.9

So these are the two main formats to be enhanced along with as many options
of log as possible. What are your views on this ?

Also, I had submitted a patch series here[3] but I felt it was trivial so
took upon a bug fix[4] which is yet to be sent to the mailing list for
discussions.

I am currently drafting my proposal which I will send for discussion
after having received comments here.

Thanks :-),

Parth.

[1] : https://lore.kernel.org/git/xmqqeg42fslw.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxx/T/#t [2] : https://lore.kernel.org/git/CA+55aFwT2HUBzZO8Gpt9tHoJtdRxv9oe3TDoSH5jcEOixRNBXg@xxxxxxxxxxxxxx/T/#t [3] : https://public-inbox.org/git/pull.545.git.1581535151.gitgitgadget@xxxxxxxxx/#t
[4] : https://github.com/gitgitgadget/git/pull/582



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux