{"thread":{"id":"38302","subject":"A better git log --graph?","startedAt":"2015-01-07T14:23:00Z","lastAt":"2015-01-08T11:59:05Z","messageCount":6,"participants":["Yuri D'Elia","Johan Herland","Junio C Hamano","John Szakmeister"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"254400","messageId":"m8jfg5$dsp$1@ger.gmane.org","threadId":"38302","inReplyTo":null,"subject":"A better git log --graph?","fromName":"Yuri D'Elia","fromEmail":"wavexx@thregr.org","sentAt":"2015-01-07T14:23:00Z","receivedAt":"2015-01-07T14:23:00Z","isPatch":false,"sender":{"key":"wavexx@thregr.org","avatar":null},"body":"Hi everyone,\n\ngit log --graph is hard for me to parse mentally when developing a\nproject which has a lot of branches.\n\nAll the tools I've been using seem to just parse log --graph's output,\nand thus are no better at showing history.\n\nI would love to have a graph mode where each branch is assigned a\ncolumn, and stays there. If my log section shows the history of 3\nbranches, column 1 should always refer to master, 2 to the hypothetical\n\"development\" branch and 3 to \"feature\".\n\nOf course the mode will waste more horizontal space, but it would be\nimmediately more apparent which branch is merging into which.\n\nI saw this idea proposed a couple of times in the mailing list, but I\nsaw no \"action\" behind the proposal. Since I don't have time to work on\nit, has anyone already started some work that he would like to share as\na starting point? Even just to have a felling if it's worth the effort.\n\nDoes anybody know of another tool to graph the history using something\nthat is not based on git log --graph?\n\nI've seen a couple of graphviz-based ones, but both failed to work out\nof the box for me.\n\nThanks a lot for any pointer.\n"},{"id":"254401","messageId":"CALKQrgdrS0RkKe-5UN_HabkLYsZ+GGL=3SNqb_ij3W5z1R6ZTg@mail.gmail.com","threadId":"38302","inReplyTo":"m8jfg5$dsp$1@ger.gmane.org","subject":"Re: A better git log --graph?","fromName":"Johan Herland","fromEmail":"johan@herland.net","sentAt":"2015-01-07T15:47:13Z","receivedAt":"2015-01-07T15:47:13Z","isPatch":false,"sender":{"key":"johan@herland.net","avatar":"https://avatars.githubusercontent.com/u/547031?v=4"},"body":"Have you looked at git show-branch --all?\n\n...Johan\n\nOn Wed, Jan 7, 2015 at 3:23 PM, Yuri D'Elia <wavexx@thregr.org> wrote:\n> Hi everyone,\n>\n> git log --graph is hard for me to parse mentally when developing a\n> project which has a lot of branches.\n>\n> All the tools I've been using seem to just parse log --graph's output,\n> and thus are no better at showing history.\n>\n> I would love to have a graph mode where each branch is assigned a\n> column, and stays there. If my log section shows the history of 3\n> branches, column 1 should always refer to master, 2 to the hypothetical\n> \"development\" branch and 3 to \"feature\".\n>\n> Of course the mode will waste more horizontal space, but it would be\n> immediately more apparent which branch is merging into which.\n>\n> I saw this idea proposed a couple of times in the mailing list, but I\n> saw no \"action\" behind the proposal. Since I don't have time to work on\n> it, has anyone already started some work that he would like to share as\n> a starting point? Even just to have a felling if it's worth the effort.\n>\n> Does anybody know of another tool to graph the history using something\n> that is not based on git log --graph?\n>\n> I've seen a couple of graphviz-based ones, but both failed to work out\n> of the box for me.\n>\n> Thanks a lot for any pointer.\n>\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n\n\n\n-- \nJohan Herland, <johan@herland.net>\nwww.herland.net\n"},{"id":"254405","messageId":"m8jn41$i41$1@ger.gmane.org","threadId":"38302","inReplyTo":"CALKQrgdrS0RkKe-5UN_HabkLYsZ+GGL=3SNqb_ij3W5z1R6ZTg@mail.gmail.com","subject":"Re: A better git log --graph?","fromName":"Yuri D'Elia","fromEmail":"wavexx@thregr.org","sentAt":"2015-01-07T16:33:04Z","receivedAt":"2015-01-07T16:33:04Z","isPatch":false,"sender":{"key":"wavexx@thregr.org","avatar":null},"body":"On 01/07/2015 04:47 PM, Johan Herland wrote:\n> Have you looked at git show-branch --all?\n\nI didn't. Helpful, but I need to get used to the output.\n\nThe first impression after looking at some random repository histories\nis that it's still not what I had in mind, though.\n"},{"id":"254406","messageId":"xmqq61cilfbc.fsf@gitster.dls.corp.google.com","threadId":"38302","inReplyTo":"CALKQrgdrS0RkKe-5UN_HabkLYsZ+GGL=3SNqb_ij3W5z1R6ZTg@mail.gmail.com","subject":"Re: A better git log --graph?","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2015-01-07T16:35:03Z","receivedAt":"2015-01-07T16:35:03Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johan Herland <johan@herland.net> writes:\n\n> Have you looked at git show-branch --all?\n>\n> ...Johan\n\nYeah, sounds vaguely like it.  Its display certainly is easier to\nread while the set of branches you have is minimum and everything\nfits in a window; that is exactly why I wrote it back when the\nbranches I was handling were toy-sized (I am not saying Git itself\nwas toy-sized---the work-in-progress on top of Git I was doing was).\n\n>\n> On Wed, Jan 7, 2015 at 3:23 PM, Yuri D'Elia <wavexx@thregr.org> wrote:\n>> Hi everyone,\n>>\n>> git log --graph is hard for me to parse mentally when developing a\n>> project which has a lot of branches.\n>>\n>> All the tools I've been using seem to just parse log --graph's output,\n>> and thus are no better at showing history.\n>>\n>> I would love to have a graph mode where each branch is assigned a\n>> column, and stays there. If my log section shows the history of 3\n>> branches, column 1 should always refer to master, 2 to the hypothetical\n>> \"development\" branch and 3 to \"feature\".\n>>\n>> Of course the mode will waste more horizontal space, but it would be\n>> immediately more apparent which branch is merging into which.\n>>\n>> I saw this idea proposed a couple of times in the mailing list, but I\n>> saw no \"action\" behind the proposal. Since I don't have time to work on\n>> it, has anyone already started some work that he would like to share as\n>> a starting point? Even just to have a felling if it's worth the effort.\n>>\n>> Does anybody know of another tool to graph the history using something\n>> that is not based on git log --graph?\n>>\n>> I've seen a couple of graphviz-based ones, but both failed to work out\n>> of the box for me.\n>>\n>> Thanks a lot for any pointer.\n>>\n>> --\n>> To unsubscribe from this list: send the line \"unsubscribe git\" in\n>> the body of a message to majordomo@vger.kernel.org\n>> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n"},{"id":"254460","messageId":"54AE6C77.8060303@thregr.org","threadId":"38302","inReplyTo":"95FA7666-4031-48FE-B9F7-DC8BB969426C@gmail.com","subject":"Re: A better git log --graph?","fromName":"Yuri D'Elia","fromEmail":"wavexx@thregr.org","sentAt":"2015-01-08T11:39:35Z","receivedAt":"2015-01-08T11:39:35Z","isPatch":false,"sender":{"key":"wavexx@thregr.org","avatar":null},"body":"On 01/08/2015 08:52 AM, Kyle J. McKay wrote:\n> Since --graph is text-based, this response may not be on-topic hence  \n> no cc: to the list.\n\nI see --graph as an important tool to get an overview on how the\ndevelopment is being done. I don't mind having a graphical tool for the\njob, and I was even suggesting if there was a graphviz-based tool that\ncould do a better job.\n\nI have a couple of projects where we made heavy use of topic branches,\ncherrypicks and whatnot. Not the best way to work, but I realized I just\nneeded a graphical overview of the layout to streamline a bit the\ndevelopment.\n\nI normally use tig, but the drawn graph, even when turning on bar\ndrawing, is really poor.\n\n> I assume that you've tried gitk?  It has a graphic viewer for the log,  \n> but I also find it difficult to tell what's going on in its graph  \n> although it's somewhat better than the --graph graph.  It does not  \n> parse --graph output.\n\nI usually never use frontends. The notable exception is \"tig\" when I\nwant to get a feeling of the status of several branches and/or \"blame\"\nsome files. It haves a lot of typing. That being said, I tried gitk, but\nassumed it was also parsing --graph layout.\n\nNow looking again, I notice some differencies, but it doesn't give me a\nbetter picture.\n\n> A better repository to view it on is the scons mirror (http://repo.or.cz/scons \n> ) as it doesn't have nearly the number of branches/merges as Git  \n> (direct link is <http://repo.or.cz/git-browser/by-commit.html?r=scons.git \n>  >).\n\nIt's better, but still not something I would feel like using.\n\nGithub's network \"graph\" is a bit better in my mind, but it also has his\nown share of problems, namely trying his own logic to reduce the height\nof the graph recyling the row for multiple branches.\n\n> However, I find its graphs much easier to grok as it draws --first- \n> parent links in a much thicker line style and they stay the same color  \n> so it's very easy to see forks, merges and where a fork was re-merged  \n> into a main branch.\n\nYes, this does make a lot of difference when just looking at it. It\nimmediately becomes much more apparent.\n\nI'm wondering if just turning on the bold attribute in --graph --color\nwould help improve the output.\n\n> P.S. I'm not 100%, but I think that fossil shows the kinds of graphs  \n> you're looking for (see a sample at <http://sqlite.org/src/timeline?y=ci&n=200 \n>  >) -- each branch head stays in the same column and non-first-parent  \n> links are thinner lines.\n\nNow that's *really* readable for me! Isn't it?\nI never used fossil so this is the first time I see it.\n\nThe symbols are really well chosen as well.\n\nCan we have something like this in git?\nIt might entirely be that it breaks for 200 branches, but hell, for\nsmaller projects it's a boon.\n\n> P.P.S. In any case if this isn't too much off-topic for your original  \n> message, feel free to include any parts of the above message in a  \n> reply to the list.\n\nIt was very helpful, so it's done.\n"},{"id":"254461","messageId":"CAEBDL5XgVAKp0AAxtKPx20BTkO-F9P62=5MxHVdtBVWTXoNRTw@mail.gmail.com","threadId":"38302","inReplyTo":"54AE6C77.8060303@thregr.org","subject":"Re: A better git log --graph?","fromName":"John Szakmeister","fromEmail":"john@szakmeister.net","sentAt":"2015-01-08T11:59:05Z","receivedAt":"2015-01-08T11:59:05Z","isPatch":false,"sender":{"key":"john@szakmeister.net","avatar":"https://avatars.githubusercontent.com/u/448087?v=4"},"body":"On Thu, Jan 8, 2015 at 6:39 AM, Yuri D'Elia <wavexx@thregr.org> wrote:\n[snip]\n> I usually never use frontends. The notable exception is \"tig\" when I\n> want to get a feeling of the status of several branches and/or \"blame\"\n> some files. It haves a lot of typing. That being said, I tried gitk, but\n> assumed it was also parsing --graph layout.\n\nTry \"gitk --date-order\".  I find it gives me the picture I really want\nto see.  I've aliased it to \"git k\" in my gitconfig because I find it\nvery valuable.\n\n-John\n"}]}