{"thread":{"id":"24814","subject":"[feature request] gitweb: tags in history","startedAt":"2010-08-21T07:26:16Z","lastAt":"2010-08-21T18:50:40Z","messageCount":9,"participants":["Jean Delvare","Jakub Narebski","Lars Hjemli"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"148645","messageId":"20100821092616.5e57135b@hyperion.delvare","threadId":"24814","inReplyTo":null,"subject":"[feature request] gitweb: tags in history","fromName":"Jean Delvare","fromEmail":"khali@linux-fr.org","sentAt":"2010-08-21T07:26:16Z","receivedAt":"2010-08-21T07:26:16Z","isPatch":false,"sender":{"key":"khali@linux-fr.org","avatar":"https://gravatar.com/avatar/f8d1a5b65d416951f857a72a21321540bc2b4350e1c5243caa0c620f95b01b6e?d=mp&s=160"},"body":"Hi there,\n\nI have a feature request for gitweb. In the history view, I would like\nto be (optionally) able to see the tags, interlaced with the actual\ncommits. The idea is to get an immediate view of all commits that\nhappened between specific tags.\n\nThe actual format for displaying the tags can certainly be discussed, I\nhave no strong opinion on this myself. We may want to let the admin\nfilter which tags should show up that way, maybe even letting him/her\ndefine primary and secondary tag formats (think main releases vs.\nrelease candidates) for nicer output. Then we may want to group (or\nhide) tags when a file hasn't been modified in a long time. But these\nare implementation details, even the raw functionality would be quite\nuseful IMHO, and hopefully not too difficult to implement.\n\nAt the moment I am using a custom tool when I need to answer this kind\nof question, but being backed-up by quilt, it's quite slow and\ndisk-consuming. I would love to be able to get rid of it and use only\ngitweb.\n\nThanks,\n-- \nJean Delvare\n"},{"id":"148652","messageId":"m3wrrknzph.fsf@localhost.localdomain","threadId":"24814","inReplyTo":"20100821092616.5e57135b@hyperion.delvare","subject":"Re: [feature request] gitweb: tags in history","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2010-08-21T08:22:05Z","receivedAt":"2010-08-21T08:22:05Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Jean Delvare <khali@linux-fr.org> writes:\n\n> I have a feature request for gitweb. In the history view, I would like\n> to be (optionally) able to see the tags, interlaced with the actual\n> commits. The idea is to get an immediate view of all commits that\n> happened between specific tags.\n> \n> The actual format for displaying the tags can certainly be discussed, I\n> have no strong opinion on this myself. We may want to let the admin\n> filter which tags should show up that way, maybe even letting him/her\n> define primary and secondary tag formats (think main releases vs.\n> release candidates) for nicer output. Then we may want to group (or\n> hide) tags when a file hasn't been modified in a long time. But these\n> are implementation details, even the raw functionality would be quite\n> useful IMHO, and hopefully not too difficult to implement.\n\nCurrently in 'shortlog' view you can see 'ref' markers... which\ninclude tags.\n\nFor example 'shortlog' view for 'maint' branch has the following\nfragment:\n\n 2010-07-28 \t Matthieu Moy\t Document ls-files -t as semi-obsolete.\n 2010-07-27 \t Junio C Hamano\t Git 1.7.2.1  [v1.7.2.1]\n 2010-07-27 \t Junio C Hamano\t Sync with 1.7.1.2\n 2010-07-27 \t Junio C Hamano\t Git 1.7.1.2  [v1.7.1.2]\n 2010-07-27 \t Junio C Hamano\t Sync with 1.7.0 series\n 2010-07-27 \t Junio C Hamano\t Git 1.7.0.7  [v1.7.0.7]\n\nwhere e.g. [v1.7.2.1] is ref marker for 'v1.7.2.1' tag.\n\nIf you have something different in mind, please provide moackup,\neither as ASCII-art, or link to HTML or image.\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"148653","messageId":"20100821111555.11879d02@hyperion.delvare","threadId":"24814","inReplyTo":"m3wrrknzph.fsf@localhost.localdomain","subject":"Re: [feature request] gitweb: tags in history","fromName":"Jean Delvare","fromEmail":"khali@linux-fr.org","sentAt":"2010-08-21T09:15:55Z","receivedAt":"2010-08-21T09:15:55Z","isPatch":false,"sender":{"key":"khali@linux-fr.org","avatar":"https://gravatar.com/avatar/f8d1a5b65d416951f857a72a21321540bc2b4350e1c5243caa0c620f95b01b6e?d=mp&s=160"},"body":"Hi Jakub,\n\nOn Sat, 21 Aug 2010 01:22:05 -0700 (PDT), Jakub Narebski wrote:\n> Jean Delvare <khali@linux-fr.org> writes:\n> \n> > I have a feature request for gitweb. In the history view, I would like\n> > to be (optionally) able to see the tags, interlaced with the actual\n> > commits. The idea is to get an immediate view of all commits that\n> > happened between specific tags.\n> > \n> > The actual format for displaying the tags can certainly be discussed, I\n> > have no strong opinion on this myself. We may want to let the admin\n> > filter which tags should show up that way, maybe even letting him/her\n> > define primary and secondary tag formats (think main releases vs.\n> > release candidates) for nicer output. Then we may want to group (or\n> > hide) tags when a file hasn't been modified in a long time. But these\n> > are implementation details, even the raw functionality would be quite\n> > useful IMHO, and hopefully not too difficult to implement.\n> \n> Currently in 'shortlog' view you can see 'ref' markers... which\n> include tags.\n> \n> For example 'shortlog' view for 'maint' branch has the following\n> fragment:\n> \n>  2010-07-28 \t Matthieu Moy\t Document ls-files -t as semi-obsolete.\n>  2010-07-27 \t Junio C Hamano\t Git 1.7.2.1  [v1.7.2.1]\n>  2010-07-27 \t Junio C Hamano\t Sync with 1.7.1.2\n>  2010-07-27 \t Junio C Hamano\t Git 1.7.1.2  [v1.7.1.2]\n>  2010-07-27 \t Junio C Hamano\t Sync with 1.7.0 series\n>  2010-07-27 \t Junio C Hamano\t Git 1.7.0.7  [v1.7.0.7]\n> \n> where e.g. [v1.7.2.1] is ref marker for 'v1.7.2.1' tag.\n> \n> If you have something different in mind, please provide moackup,\n> either as ASCII-art, or link to HTML or image.\n\nYes, visually this would be very fine with me.\n\nBut shortlog is a repository-wide view, while I need the same for\nhistory which is a file-specific view. Things are obviously a little\nmore complex there, because for a given file, it is statistically\nunlikely that each commit affecting the file in question corresponds to\na tag. So we have to find the best tag to display in front of\neach commit (easiest bet would be the next tag time-wise) and maybe\nimprove a bit from there (for example by not showing the same tag\ntwice). But then again I would be very happy with a relatively raw\noutput for the time being.\n\nThanks,\n-- \nJean Delvare\n"},{"id":"148662","messageId":"201008211217.41859.jnareb@gmail.com","threadId":"24814","inReplyTo":"20100821111555.11879d02@hyperion.delvare","subject":"Re: [feature request] gitweb: tags in history","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2010-08-21T10:17:40Z","receivedAt":"2010-08-21T10:17:40Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On Sat, 21 Aug 2010, Jean Delvare wrote:\n> On Sat, 21 Aug 2010 01:22:05 -0700 (PDT), Jakub Narebski wrote:\n>> Jean Delvare <khali@linux-fr.org> writes:\n>> \n>>> I have a feature request for gitweb. In the history view, I would like\n                                                ^^^^^^^\n                                                    |\nI'm very sorry, somehow I didn't notice this part --/\n\n>>> to be (optionally) able to see the tags, interlaced with the actual\n>>> commits. The idea is to get an immediate view of all commits that\n>>> happened between specific tags.\n>>> \n>>> The actual format for displaying the tags can certainly be discussed, I\n>>> have no strong opinion on this myself. We may want to let the admin\n>>> filter which tags should show up that way, maybe even letting him/her\n>>> define primary and secondary tag formats (think main releases vs.\n>>> release candidates) for nicer output. Then we may want to group (or\n>>> hide) tags when a file hasn't been modified in a long time. But these\n>>> are implementation details, even the raw functionality would be quite\n>>> useful IMHO, and hopefully not too difficult to implement.\n>> \n>> Currently in 'shortlog' view you can see 'ref' markers... which\n>> include tags.\n>> \n>> For example 'shortlog' view for 'maint' branch has the following\n>> fragment:\n>> \n>>  2010-07-28 \t Matthieu Moy\t Document ls-files -t as semi-obsolete.\n>>  2010-07-27 \t Junio C Hamano\t Git 1.7.2.1  [v1.7.2.1]\n>>  2010-07-27 \t Junio C Hamano\t Sync with 1.7.1.2\n>>  2010-07-27 \t Junio C Hamano\t Git 1.7.1.2  [v1.7.1.2]\n>>  2010-07-27 \t Junio C Hamano\t Sync with 1.7.0 series\n>>  2010-07-27 \t Junio C Hamano\t Git 1.7.0.7  [v1.7.0.7]\n>> \n>> where e.g. [v1.7.2.1] is ref marker for 'v1.7.2.1' tag.\n>> \n>> If you have something different in mind, please provide moackup,\n>> either as ASCII-art, or link to HTML or image.\n> \n> Yes, visually this would be very fine with me.\n> \n> But shortlog is a repository-wide view, while I need the same for\n> history which is a file-specific view. Things are obviously a little\n> more complex there, because for a given file, it is statistically\n> unlikely that each commit affecting the file in question corresponds to\n> a tag.\n\nAt least in git repository the 'Git X.Y.Z' commit, which is tagged with\nvX.Y.Z signed tag, touches only Documentation/RelNotes-X.Y.Z (and\nchanges Documentation/RelNotes symlink to point to it, if needed),\nchanges DEF_VER in GIT-VERSION-GEN (fallback version), and updates\nDocumentation/git.txt (for example adding link to newest RelNotes).\n\nSo it is very unlikely that for a given file there would be any tag\nthat points to commit in history of a file.\n\n> So we have to find the best tag to display in front of \n> each commit (easiest bet would be the next tag time-wise) and maybe\n> improve a bit from there (for example by not showing the same tag\n> twice). But then again I would be very happy with a relatively raw\n> output for the time being.\n\nIt would be unfortunately more costly than ref markers in 'shortlog'\nand 'log' views, because it is not enough to get all refs and use\nreverse mapping (from commit to the tag that points to it).  There\nis decorate / name-rev, but it creates some performance cost.\n\nSo it wouldn't be easy to create a UI for this (ref markers are not\ngood, as they are meant to point directly to commit, not as 'tag\npagination'), and it wouldn't be very easy to get data that is needed\nfor that.\n\nBut this should be possible...\n-- \nJakub Narebski\nPoland\n"},{"id":"148671","messageId":"AANLkTi=JHzQm4hm-nuTyZq2CL_2z785KtMvVcmaqtgyF@mail.gmail.com","threadId":"24814","inReplyTo":"20100821111555.11879d02@hyperion.delvare","subject":"Re: [feature request] gitweb: tags in history","fromName":"Lars Hjemli","fromEmail":"hjemli@gmail.com","sentAt":"2010-08-21T16:31:54Z","receivedAt":"2010-08-21T16:31:54Z","isPatch":false,"sender":{"key":"hjemli@gmail.com","avatar":null},"body":"On Sat, Aug 21, 2010 at 11:15, Jean Delvare <khali@linux-fr.org> wrote:\n> On Sat, 21 Aug 2010 01:22:05 -0700 (PDT), Jakub Narebski wrote:\n>> Jean Delvare <khali@linux-fr.org> writes:\n>>\n>> > I have a feature request for gitweb. In the history view, I would like\n>> > to be (optionally) able to see the tags, interlaced with the actual\n>> > commits. The idea is to get an immediate view of all commits that\n>> > happened between specific tags.\n>> >\n....\n>\n> But shortlog is a repository-wide view, while I need the same for\n> history which is a file-specific view.\n\n<shameless plug>\nWith cgit, you can answer such questions by combining path limiting\nand range queries, e.g.\nhttp://hjemli.net/git/cgit/log/scan-tree.c?qt=range&q=v0.8.2..v0.8.3\nshows all commits affecting scan-tree.c between v0.8.2 and v0.8.3.\nMaybe gitweb could implement something similar?\n</shameless plug>\n\n-- \nlarsh\n"},{"id":"148673","messageId":"201008211921.22495.jnareb@gmail.com","threadId":"24814","inReplyTo":"AANLkTi=JHzQm4hm-nuTyZq2CL_2z785KtMvVcmaqtgyF@mail.gmail.com","subject":"Re: [feature request] gitweb: tags in history","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2010-08-21T17:21:21Z","receivedAt":"2010-08-21T17:21:21Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Lars Hjemli wrote:\n> On Sat, Aug 21, 2010 at 11:15, Jean Delvare <khali@linux-fr.org> wrote:\n>> On Sat, 21 Aug 2010 01:22:05 -0700 (PDT), Jakub Narebski wrote:\n>>> Jean Delvare <khali@linux-fr.org> writes:\n>>>\n>>>> I have a feature request for gitweb. In the history view, I would like\n>>>> to be (optionally) able to see the tags, interlaced with the actual\n>>>> commits. The idea is to get an immediate view of all commits that\n>>>> happened between specific tags.\n>>>>\n> ....\n>>\n>> But shortlog is a repository-wide view, while I need the same for\n>> history which is a file-specific view.\n> \n> <shameless plug>\n> With cgit, you can answer such questions by combining path limiting\n> and range queries, e.g.\n> http://hjemli.net/git/cgit/log/scan-tree.c?qt=range&q=v0.8.2..v0.8.3\n> shows all commits affecting scan-tree.c between v0.8.2 and v0.8.3.\n> Maybe gitweb could implement something similar?\n> </shameless plug>\n\nGitweb also supports range limiting in log-like views from some time,\nbut currently there is no UI for that, and you have to handcraft the URL,\ne.g.:\n\n  http://gitweb.example.com/repo.git?a=history;f=foo.c;hpb=v0.8.2;hb=v0.8.3\n\nor (in the path_info form)\n\n    http://gitweb.example.com/repo.git/history/v0.8.2..v0.8.3:/foo.c\n\n-- \nJakub Narebski\nPoland\n"},{"id":"148674","messageId":"AANLkTik+NBvdVkN-TvC_F5MWGZrtgEZMPOXr=Tsr1eA_@mail.gmail.com","threadId":"24814","inReplyTo":"201008211921.22495.jnareb@gmail.com","subject":"Re: [feature request] gitweb: tags in history","fromName":"Lars Hjemli","fromEmail":"hjemli@gmail.com","sentAt":"2010-08-21T17:47:12Z","receivedAt":"2010-08-21T17:47:12Z","isPatch":false,"sender":{"key":"hjemli@gmail.com","avatar":null},"body":"On Sat, Aug 21, 2010 at 19:21, Jakub Narebski <jnareb@gmail.com> wrote:\n> Lars Hjemli wrote:\n>> <shameless plug>\n>> With cgit, you can answer such questions by combining path limiting\n>> and range queries, e.g.\n>> http://hjemli.net/git/cgit/log/scan-tree.c?qt=range&q=v0.8.2..v0.8.3\n>> shows all commits affecting scan-tree.c between v0.8.2 and v0.8.3.\n>> Maybe gitweb could implement something similar?\n>> </shameless plug>\n>\n> Gitweb also supports range limiting in log-like views from some time,\n> but currently there is no UI for that, and you have to handcraft the URL,\n> e.g.:\n>\n>  http://gitweb.example.com/repo.git?a=history;f=foo.c;hpb=v0.8.2;hb=v0.8.3\n>\n> or (in the path_info form)\n>\n>    http://gitweb.example.com/repo.git/history/v0.8.2..v0.8.3:/foo.c\n\nNice, I didn't know gitweb supported this - maybe it's all Jean needs?\n\n-- \nlarsh\n"},{"id":"148675","messageId":"20100821200707.6cca565e@hyperion.delvare","threadId":"24814","inReplyTo":"AANLkTik+NBvdVkN-TvC_F5MWGZrtgEZMPOXr=Tsr1eA_@mail.gmail.com","subject":"Re: [feature request] gitweb: tags in history","fromName":"Jean Delvare","fromEmail":"khali@linux-fr.org","sentAt":"2010-08-21T18:07:07Z","receivedAt":"2010-08-21T18:07:07Z","isPatch":false,"sender":{"key":"khali@linux-fr.org","avatar":"https://gravatar.com/avatar/f8d1a5b65d416951f857a72a21321540bc2b4350e1c5243caa0c620f95b01b6e?d=mp&s=160"},"body":"On Sat, 21 Aug 2010 19:47:12 +0200, Lars Hjemli wrote:\n> On Sat, Aug 21, 2010 at 19:21, Jakub Narebski <jnareb@gmail.com> wrote:\n> > Lars Hjemli wrote:\n> >> <shameless plug>\n> >> With cgit, you can answer such questions by combining path limiting\n> >> and range queries, e.g.\n> >> http://hjemli.net/git/cgit/log/scan-tree.c?qt=range&q=v0.8.2..v0.8.3\n> >> shows all commits affecting scan-tree.c between v0.8.2 and v0.8.3.\n> >> Maybe gitweb could implement something similar?\n> >> </shameless plug>\n> >\n> > Gitweb also supports range limiting in log-like views from some time,\n> > but currently there is no UI for that, and you have to handcraft the URL,\n> > e.g.:\n> >\n> >  http://gitweb.example.com/repo.git?a=history;f=foo.c;hpb=v0.8.2;hb=v0.8.3\n> >\n> > or (in the path_info form)\n> >\n> >    http://gitweb.example.com/repo.git/history/v0.8.2..v0.8.3:/foo.c\n> \n> Nice, I didn't know gitweb supported this - maybe it's all Jean needs?\n\nWell, as long as there is no UI for it, it's not too useful: I'm can\nrun git on the command line for the same result (with git log.)\n\nAlso, it doesn't exactly suits my needs. I don't necessarily know in\nadvance the range in which the change happened. Quite often, the\nquestion I have to answer is the other way around, that is: when did a\ngiven change happen? Sometimes I know the commit ID and I can just call\n\"git name-rev\" (although it's somewhat slow and the output isn't\nfriendly), but sometimes I don't know even that, and this is when I'd\nlike to be able to just browse the history for a given file with\nall relevant tags printed. This also gives a more general picture\nof what happened to the file over time immediately, which is sometimes\nuseful.\n\nThanks,\n-- \nJean Delvare\n"},{"id":"148678","messageId":"AANLkTim=Qj1zco8j-3rAbgwsutfFO6_ikihpYKFtd7R5@mail.gmail.com","threadId":"24814","inReplyTo":"20100821200707.6cca565e@hyperion.delvare","subject":"Re: [feature request] gitweb: tags in history","fromName":"Lars Hjemli","fromEmail":"hjemli@gmail.com","sentAt":"2010-08-21T18:50:40Z","receivedAt":"2010-08-21T18:50:40Z","isPatch":false,"sender":{"key":"hjemli@gmail.com","avatar":null},"body":"On Sat, Aug 21, 2010 at 20:07, Jean Delvare <khali@linux-fr.org> wrote:\n> On Sat, 21 Aug 2010 19:47:12 +0200, Lars Hjemli wrote:\n>> On Sat, Aug 21, 2010 at 19:21, Jakub Narebski <jnareb@gmail.com> wrote:\n>> > Lars Hjemli wrote:\n>> >> <shameless plug>\n>> >> With cgit, you can answer such questions by combining path limiting\n>> >> and range queries, e.g.\n>> >> http://hjemli.net/git/cgit/log/scan-tree.c?qt=range&q=v0.8.2..v0.8.3\n>> >> shows all commits affecting scan-tree.c between v0.8.2 and v0.8.3.\n>> >> Maybe gitweb could implement something similar?\n>> >> </shameless plug>\n>> >\n>> > Gitweb also supports range limiting in log-like views from some time,\n>> > but currently there is no UI for that, and you have to handcraft the URL,\n>> > e.g.:\n>> >\n>> >  http://gitweb.example.com/repo.git?a=history;f=foo.c;hpb=v0.8.2;hb=v0.8.3\n>> >\n>> > or (in the path_info form)\n>> >\n>> >    http://gitweb.example.com/repo.git/history/v0.8.2..v0.8.3:/foo.c\n>>\n>> Nice, I didn't know gitweb supported this - maybe it's all Jean needs?\n>\n> Well, as long as there is no UI for it, it's not too useful: I'm can\n> run git on the command line for the same result (with git log.)\n>\n> Also, it doesn't exactly suits my needs. I don't necessarily know in\n> advance the range in which the change happened. Quite often, the\n> question I have to answer is the other way around, that is: when did a\n> given change happen? Sometimes I know the commit ID and I can just call\n> \"git name-rev\" (although it's somewhat slow and the output isn't\n> friendly), but sometimes I don't know even that, and this is when I'd\n> like to be able to just browse the history for a given file with\n> all relevant tags printed. This also gives a more general picture\n> of what happened to the file over time immediately, which is sometimes\n> useful.\n\nOk, this fundamentally does not mix well with the kind of output which\ngitweb/cgit generates (linear list of commits) - you'll need\n--topo-order and a visual indication of \"branch timelines\", i.e. gitk.\n\n-- \nlarsh\n"}]}