{"thread":{"id":"60852","subject":"git-gui desktop launcher","startedAt":"2024-02-05T20:12:12Z","lastAt":"2024-02-12T21:17:51Z","messageCount":11,"participants":["Tobias Boesch","brian m. carlson","Johannes Sixt","Marc Branchaud","Junio C Hamano","Dragan Simic"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"487949","messageId":"beeab03c564e94861ab339d26c4e135b879a1ccd.camel@googlemail.com","threadId":"60852","inReplyTo":null,"subject":"git-gui desktop launcher","fromName":"Tobias Boesch","fromEmail":"tobias.boesch@googlemail.com","sentAt":"2024-02-05T20:12:10Z","receivedAt":"2024-02-05T20:12:12Z","isPatch":false,"sender":{"key":"tobias.boesch@googlemail.com","avatar":null},"body":"Hello everyone,\n\nquoting from downstream issue:\nhttps://gitlab.archlinux.org/archlinux/packaging/packages/git/-/issues/5\n\n-------------------------\n\n\"As far as I can see git gui cannot easily be used by me on arch.\nA .desktop entry is missing for me.\nI created one that opens git gui.\nIt also adds an entry in the \"Open With...\" menu of file managers (I\ntested only with Nautilus). Opeing git gui with this entry git gui is\nopened in the folder where the menu was opened.\nIf it is a git repository git gui open it. If it is no git repository\ngit gui opens just as if it was called from the desktop launcher.\nSince it took a while to create it and adds value for me I would like\nto share it to be added to the git package by default.\nIt is far from being perfect. It's a first working version. For me\npersonally it is enough.\nBefore tweaking it further to fit the packaging standards I would like\nto ask if is desired to be added.\n\n.desktop file proposal\n\n[Desktop Entry]\nName=git gui\nComment=A portable graphical interface to Git\nExec=/bin/bash -c 'if [[ \"$0\" = \"/bin/bash\" ]]; then git gui; else cd\n\"$0\" && git gui; fi' %F\nIcon=/usr/share/git-gui/lib/git-gui.ico\nType=Application\nTerminal=false\nCategories=Development;\n\n\nI think upstream has any interest to add this. Therefore I ask here.\"\n\n-------------------------\n\nThe arch package maintainer proposed to try to to add this to upstream\nbefore just putting it into the arch package.\nHere I am asking if it could be added to git.\n\nIf it's worth to add it, I would take the time to improve it if there\nare suggestions or comments on the current version.\n\nBest wishes and thanks for developing git.\nTobias\n"},{"id":"487959","messageId":"ZcFhNPRprfMqeRu1@tapette.crustytoothpaste.net","threadId":"60852","inReplyTo":"beeab03c564e94861ab339d26c4e135b879a1ccd.camel@googlemail.com","subject":"Re: git-gui desktop launcher","fromName":"brian m. carlson","fromEmail":"sandals@crustytoothpaste.net","sentAt":"2024-02-05T22:29:08Z","receivedAt":"2024-02-05T22:29:10Z","isPatch":false,"sender":{"key":"sandals@crustytoothpaste.net","avatar":"https://avatars.githubusercontent.com/u/497054?v=4"},"body":"On 2024-02-05 at 20:12:10, Tobias Boesch wrote:\n> Hello everyone,\n> \n> quoting from downstream issue:\n> https://gitlab.archlinux.org/archlinux/packaging/packages/git/-/issues/5\n> \n> -------------------------\n> \n> \"As far as I can see git gui cannot easily be used by me on arch.\n> A .desktop entry is missing for me.\n> I created one that opens git gui.\n> It also adds an entry in the \"Open With...\" menu of file managers (I\n> tested only with Nautilus). Opeing git gui with this entry git gui is\n> opened in the folder where the menu was opened.\n> If it is a git repository git gui open it. If it is no git repository\n> git gui opens just as if it was called from the desktop launcher.\n> Since it took a while to create it and adds value for me I would like\n> to share it to be added to the git package by default.\n> It is far from being perfect. It's a first working version. For me\n> personally it is enough.\n> Before tweaking it further to fit the packaging standards I would like\n> to ask if is desired to be added.\n> \n> .desktop file proposal\n> \n> [Desktop Entry]\n> Name=git gui\n\nI don't know whether this is the official name of the project or not.\nPerhaps someone else can comment on what the capitalization and\npunctuation of this entry should be.\n\n> Comment=A portable graphical interface to Git\n> Exec=/bin/bash -c 'if [[ \"$0\" = \"/bin/bash\" ]]; then git gui; else cd\n> \"$0\" && git gui; fi' %F\n\nIt's not guaranteed that bash even exists on the system, let alone that\nit's in /bin.  For example, this wouldn't work on most of the BSDs.\nThis would need to be templated using SHELL_PATH and written in POSIX\nsh (e.g., no `[[`).\n\n> Icon=/usr/share/git-gui/lib/git-gui.ico\n\nThis would also need to be given an appropriate location based on the\nbuild parameters.\n\n> Type=Application\n> Terminal=false\n> Categories=Development;\n> \n> \n> I think upstream has any interest to add this. Therefore I ask here.\"\n> \n> -------------------------\n> \n> The arch package maintainer proposed to try to to add this to upstream\n> before just putting it into the arch package.\n> Here I am asking if it could be added to git.\n\nIf you wanted to send a suitable patch for the file such that it were\nappropriately built as part of the build process and installed, then we\ncould probably accept it. Such patches are usually created by using\n`git format-patch` on one or multiple commits and then sent using `git\nsend-email`.  You can take a look at `Documentation/SubmittingPatches`\nfor more details.\n\nI think such functionality would be generally useful, and probably be\nbeneficial to a wide variety of distributors.\n-- \nbrian m. carlson (he/him or they/them)\nToronto, Ontario, CA\n"},{"id":"488045","messageId":"993e6823-7fa7-4130-8c0a-69ed31da5fbe@kdbg.org","threadId":"60852","inReplyTo":"beeab03c564e94861ab339d26c4e135b879a1ccd.camel@googlemail.com","subject":"Re: git-gui desktop launcher","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2024-02-06T06:50:46Z","receivedAt":"2024-02-06T07:27:03Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 05.02.24 um 21:12 schrieb Tobias Boesch:\n> Hello everyone,\n> \n> quoting from downstream issue:\n> https://gitlab.archlinux.org/archlinux/packaging/packages/git/-/issues/5\n> \n> -------------------------\n> \n> \"As far as I can see git gui cannot easily be used by me on arch.\n> A .desktop entry is missing for me.\n> I created one that opens git gui.\n> It also adds an entry in the \"Open With...\" menu of file managers (I\n> tested only with Nautilus). Opeing git gui with this entry git gui is\n> opened in the folder where the menu was opened.\n> If it is a git repository git gui open it. If it is no git repository\n> git gui opens just as if it was called from the desktop launcher.\n> Since it took a while to create it and adds value for me I would like\n> to share it to be added to the git package by default.\n> It is far from being perfect. It's a first working version. For me\n> personally it is enough.\n> Before tweaking it further to fit the packaging standards I would like\n> to ask if is desired to be added.\n> \n> .desktop file proposal\n\nThank you, this is certainly helpful. To get a .desktop file accepted,\nyou would have to submit it in patch form. Additionally, since there is\na dependence on the install location, it must be included in the build\nprocess.\n\n> \n> [Desktop Entry]\n> Name=git gui\n\nWhen I launch the program on my openSUSE desktop, the titlebar uses the\nname \"Git Gui\". IMO, that would make it more consistent.\n\n> Comment=A portable graphical interface to Git\n\nI have two gripes with this Comment:\n\n- That the program is portable is irrelevant for the user. The word need\nnot occur in this Comment.\n\n- I had hoped for a more precise description. In particular, when a\nprogram is advertised as \"graphical interface to Git\", then I would\nexpect that it can do a bit more than initialize repositories and make\ncommits. At a minimum, I would expect a history viewer; but Git Gui\ndoesn't have one. Unless you count the two \"Visualize\" entries in the\n\"Repository\" menu that invoke gitk as such. So, I dunno.\n\n> Exec=/bin/bash -c 'if [[ \"$0\" = \"/bin/bash\" ]]; then git gui; else cd\n> \"$0\" && git gui; fi' %F\n> Icon=/usr/share/git-gui/lib/git-gui.ico\n> Type=Application\n> Terminal=false\n> Categories=Development;\n> \n> \n> I think upstream has any interest to add this. Therefore I ask here.\"\n> \n> -------------------------\n> \n> The arch package maintainer proposed to try to to add this to upstream\n> before just putting it into the arch package.\n> Here I am asking if it could be added to git.\n> \n> If it's worth to add it, I would take the time to improve it if there\n> are suggestions or comments on the current version.\n> \n> Best wishes and thanks for developing git.\n> Tobias\n\n-- Hannes\n\n"},{"id":"488073","messageId":"e7483f01-8bbb-48d9-8e17-3fbaef5c62c0@xiplink.com","threadId":"60852","inReplyTo":"993e6823-7fa7-4130-8c0a-69ed31da5fbe@kdbg.org","subject":"Re: git-gui desktop launcher","fromName":"Marc Branchaud","fromEmail":"marcnarc@xiplink.com","sentAt":"2024-02-06T13:57:39Z","receivedAt":"2024-02-06T13:57:43Z","isPatch":false,"sender":{"key":"marcnarc@xiplink.com","avatar":"https://avatars.githubusercontent.com/u/14980203?v=4"},"body":"\nOn 2024-02-06 01:50, Johannes Sixt wrote:\n> \n>> Comment=A portable graphical interface to Git\n> \n> I have two gripes with this Comment:\n> \n> - That the program is portable is irrelevant for the user. The word need\n> not occur in this Comment.\n> \n> - I had hoped for a more precise description. In particular, when a\n> program is advertised as \"graphical interface to Git\", then I would\n> expect that it can do a bit more than initialize repositories and make\n> commits. At a minimum, I would expect a history viewer; but Git Gui\n> doesn't have one. Unless you count the two \"Visualize\" entries in the\n> \"Repository\" menu that invoke gitk as such. So, I dunno.\n\nPerhaps\n\tA graphical tool for creating Git commits\n?\n\n\t\tM.\n"},{"id":"488087","messageId":"xmqqle7xh1hc.fsf@gitster.g","threadId":"60852","inReplyTo":"ZcFhNPRprfMqeRu1@tapette.crustytoothpaste.net","subject":"Re: git-gui desktop launcher","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-02-06T18:49:35Z","receivedAt":"2024-02-06T18:49:38Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"brian m. carlson\" <sandals@crustytoothpaste.net> writes:\n\n> I think such functionality would be generally useful, and probably be\n> beneficial to a wide variety of distributors.\n\nHow have the various distros been packaging their binaries?  Would\nthis change affect what they have done already?\n\nAs long as it does not conflict, I am all for it (i.e. we do it once\nand everybody benefits).\n\nThanks.\n\n"},{"id":"488088","messageId":"c6be276bfc3c219e1a0ca1619f56c165@manjaro.org","threadId":"60852","inReplyTo":"xmqqle7xh1hc.fsf@gitster.g","subject":"Re: git-gui desktop launcher","fromName":"Dragan Simic","fromEmail":"dsimic@manjaro.org","sentAt":"2024-02-06T19:12:05Z","receivedAt":"2024-02-06T19:12:07Z","isPatch":false,"sender":{"key":"dsimic@manjaro.org","avatar":null},"body":"On 2024-02-06 19:49, Junio C Hamano wrote:\n> \"brian m. carlson\" <sandals@crustytoothpaste.net> writes:\n> \n>> I think such functionality would be generally useful, and probably be\n>> beneficial to a wide variety of distributors.\n> \n> How have the various distros been packaging their binaries?  Would\n> this change affect what they have done already?\n> \n> As long as it does not conflict, I am all for it (i.e. we do it once\n> and everybody benefits).\n\nAFAICT, Linux distributions provided their own version(s) of the\n.desktop file.  Perhaps the version provided by Fedora [1] could be\nconsulted, for example, to see what's already expected there, and\nto provide parity in the version supplied by us.\n\n[1] \nhttps://koji.fedoraproject.org/koji/fileinfo?rpmID=37302272&filename=git-gui.desktop\n"},{"id":"488093","messageId":"e897282f-ac33-4f1e-903a-b6fb69e0c55e@googlemail.com","threadId":"60852","inReplyTo":"ZcFhNPRprfMqeRu1@tapette.crustytoothpaste.net","subject":"Re: git-gui desktop launcher","fromName":"Tobias Boesch","fromEmail":"tobias.boesch@googlemail.com","sentAt":"2024-02-06T21:14:04Z","receivedAt":"2024-02-06T21:14:07Z","isPatch":false,"sender":{"key":"tobias.boesch@googlemail.com","avatar":null},"body":"5 Feb 2024 23:29:10 brian m. carlson <sandals@crustytoothpaste.net>:\n\n> On 2024-02-05 at 20:12:10, Tobias Boesch wrote:\n>>\n>> .desktop file proposal\n>>\n>> [Desktop Entry]\n>> Name=git gui\n>\n> I don't know whether this is the official name of the project or not.\n> Perhaps someone else can comment on what the capitalization and\n> punctuation of this entry should be.\n>\n\nFrom the official documentation [1] it reads \"git-gui\"\n\n[1] https://git-scm.com/docs/git-gui\n\n>> Comment=A portable graphical interface to Git\n>> Exec=/bin/bash -c 'if [[ \"$0\" = \"/bin/bash\" ]]; then git gui; else cd\n>> \"$0\" && git gui; fi' %F\n>\n> It's not guaranteed that bash even exists on the system, let alone that\n> it's in /bin.  For example, this wouldn't work on most of the BSDs.\n> This would need to be templated using SHELL_PATH and written in POSIX\n> sh (e.g., no `[[`).\n>\n\nI see. I'll try to look into it. If someone knows how to do that let me know.\n\n>> Icon=/usr/share/git-gui/lib/git-gui.ico\n>\n> This would also need to be given an appropriate location based on the\n> build parameters.\n>\n\nIs it about the build parameters of the build of git(-gui), or about the downstream distros are building?\nSo git leaves this empty and the packagers full this out?\n\n>> Type=Application\n>> Terminal=false\n>> Categories=Development;\n>>\n>>\n>> I think upstream has any interest to add this. Therefore I ask here.\"\n>>\n>> -------------------------\n>>\n>> The arch package maintainer proposed to try to to add this to upstream\n>> before just putting it into the arch package.\n>> Here I am asking if it could be added to git.\n>\n> If you wanted to send a suitable patch for the file such that it were\n> appropriately built as part of the build process and installed, then we\n> could probably accept it. Such patches are usually created by using\n> `git format-patch` on one or multiple commits and then sent using `git\n> send-email`.  You can take a look at `Documentation/SubmittingPatches`\n> for more details.\n>\n\nThat is the plan. I don't know if I get the installation part fine for testing it, but sending a patch should be possible. Sure.\n\n> I think such functionality would be generally useful, and probably be\n> beneficial to a wide variety of distributors.\n> --\n\nNice to hear. Thanks\n"},{"id":"488107","messageId":"ZcKy1GVhJDvl6N35@tapette.crustytoothpaste.net","threadId":"60852","inReplyTo":"e897282f-ac33-4f1e-903a-b6fb69e0c55e@googlemail.com","subject":"Re: git-gui desktop launcher","fromName":"brian m. carlson","fromEmail":"sandals@crustytoothpaste.net","sentAt":"2024-02-06T22:29:40Z","receivedAt":"2024-02-06T22:29:48Z","isPatch":false,"sender":{"key":"sandals@crustytoothpaste.net","avatar":"https://avatars.githubusercontent.com/u/497054?v=4"},"body":"On 2024-02-06 at 21:14:04, Tobias Boesch wrote:\n> 5 Feb 2024 23:29:10 brian m. carlson <sandals@crustytoothpaste.net>:\n> \n> > It's not guaranteed that bash even exists on the system, let alone that\n> > it's in /bin.  For example, this wouldn't work on most of the BSDs.\n> > This would need to be templated using SHELL_PATH and written in POSIX\n> > sh (e.g., no `[[`).\n> >\n> \n> I see. I'll try to look into it. If someone knows how to do that let me know.\n> \n> >> Icon=/usr/share/git-gui/lib/git-gui.ico\n> >\n> > This would also need to be given an appropriate location based on the\n> > build parameters.\n> >\n> \n> Is it about the build parameters of the build of git(-gui), or about the downstream distros are building?\n> So git leaves this empty and the packagers full this out?\n\nNo, this would be built by a Makefile target.  You'd provide a template\nfile and adjust it based on something like the `RUNTIME_PREFIX` value,\nwhich is used to adjust locations for data.\n\nThere's examples for scripts, such as git-instaweb, which you can use as\nan example of how to generate a target file based on the input.  This\ncan also be used to work with `SHELL_PATH` as I mentioned above.\n-- \nbrian m. carlson (he/him or they/them)\nToronto, Ontario, CA\n"},{"id":"488465","messageId":"6111b76ff145c2a1b24c09596b7e4d63f0089815.camel@googlemail.com","threadId":"60852","inReplyTo":"993e6823-7fa7-4130-8c0a-69ed31da5fbe@kdbg.org","subject":"Re: git-gui desktop launcher","fromName":"Tobias Boesch","fromEmail":"tobias.boesch@googlemail.com","sentAt":"2024-02-12T20:23:11Z","receivedAt":"2024-02-12T20:23:14Z","isPatch":false,"sender":{"key":"tobias.boesch@googlemail.com","avatar":null},"body":"On Tue, 2024-02-06 at 07:50 +0100, Johannes Sixt wrote:\n> Am 05.02.24 um 21:12 schrieb Tobias Boesch:\n> > Hello everyone,\n> > \n> > quoting from downstream issue:\n> > https://gitlab.archlinux.org/archlinux/packaging/packages/git/-/issues/5\n> > \n> > -------------------------\n> > \n> > \"As far as I can see git gui cannot easily be used by me on arch.\n> > A .desktop entry is missing for me.\n> > I created one that opens git gui.\n> > It also adds an entry in the \"Open With...\" menu of file managers\n> > (I\n> > tested only with Nautilus). Opeing git gui with this entry git gui\n> > is\n> > opened in the folder where the menu was opened.\n> > If it is a git repository git gui open it. If it is no git\n> > repository\n> > git gui opens just as if it was called from the desktop launcher.\n> > Since it took a while to create it and adds value for me I would\n> > like\n> > to share it to be added to the git package by default.\n> > It is far from being perfect. It's a first working version. For me\n> > personally it is enough.\n> > Before tweaking it further to fit the packaging standards I would\n> > like\n> > to ask if is desired to be added.\n> > \n> > .desktop file proposal\n> \n> Thank you, this is certainly helpful. To get a .desktop file\n> accepted,\n> you would have to submit it in patch form. Additionally, since there\n> is\n> a dependence on the install location, it must be included in the\n> build\n> process.\n> \n\nI plan to work on this. It might take some time since I cannot spend\nmuch time on it.\n\n> > \n> > [Desktop Entry]\n> > Name=git gui\n> \n> When I launch the program on my openSUSE desktop, the titlebar uses\n> the\n> name \"Git Gui\". IMO, that would make it more consistent.\n> \n\n\"Git Gui\" is fine for me. I thought I took the name from the official\ndocs at https://git-scm.com/docs/git-gui, but there is called \"git-\ngui\".\n\n> > Comment=A portable graphical interface to Git\n> \n> I have two gripes with this Comment:\n> \n> - That the program is portable is irrelevant for the user. The word\n> need\n> not occur in this Comment.\n> \n> - I had hoped for a more precise description. In particular, when a\n> program is advertised as \"graphical interface to Git\", then I would\n> expect that it can do a bit more than initialize repositories and\n> make\n> commits. At a minimum, I would expect a history viewer; but Git Gui\n> doesn't have one. Unless you count the two \"Visualize\" entries in the\n> \"Repository\" menu that invoke gitk as such. So, I dunno.\n> \n\nThis is the one line desciption of the official documentation.\nI would like to keep this description, to be consistent with the docs.\n\n> > Exec=/bin/bash -c 'if [[ \"$0\" = \"/bin/bash\" ]]; then git gui; else\n> > cd\n> > \"$0\" && git gui; fi' %F\n> > Icon=/usr/share/git-gui/lib/git-gui.ico\n> > Type=Application\n> > Terminal=false\n> > Categories=Development;\n> > \n> > \n> > I think upstream has any interest to add this. Therefore I ask\n> > here.\"\n> > \n> > -------------------------\n> > \n> > The arch package maintainer proposed to try to to add this to\n> > upstream\n> > before just putting it into the arch package.\n> > Here I am asking if it could be added to git.\n> > \n> > If it's worth to add it, I would take the time to improve it if\n> > there\n> > are suggestions or comments on the current version.\n> > \n> > Best wishes and thanks for developing git.\n> > Tobias\n> \n> -- Hannes\n> \n"},{"id":"488467","messageId":"eb122f205692ef4848e3adf792d67067bb52dd1c.camel@googlemail.com","threadId":"60852","inReplyTo":"c6be276bfc3c219e1a0ca1619f56c165@manjaro.org","subject":"Re: git-gui desktop launcher","fromName":"Tobias Boesch","fromEmail":"tobias.boesch@googlemail.com","sentAt":"2024-02-12T20:35:09Z","receivedAt":"2024-02-12T20:35:12Z","isPatch":false,"sender":{"key":"tobias.boesch@googlemail.com","avatar":null},"body":"On Tue, 2024-02-06 at 20:12 +0100, Dragan Simic wrote:\n> \n> AFAICT, Linux distributions provided their own version(s) of the\n> .desktop file.  Perhaps the version provided by Fedora [1] could be\n> consulted, for example, to see what's already expected there, and\n> to provide parity in the version supplied by us.\n> \n> [1] \n> https://koji.fedoraproject.org/koji/fileinfo?rpmID=37302272&filename=git-gui.desktop\n\nThe file contents of the fedora desktop launcher is here:\n/home/tobiasb/.local/share/applications/git gui.desktop\n\nIt differs\n- in the program name. \"Git GUI\" instead of \"Git Gui\".\n- It leaves out the \"portable\" in the description ;-).\n- I has no option to be launched from a location in file browser (open\nwith...)\n\nI will adopt mine to match their file as good as possible.\n"},{"id":"488471","messageId":"79989c064af19f5a7ef036d7ee0caf02@manjaro.org","threadId":"60852","inReplyTo":"eb122f205692ef4848e3adf792d67067bb52dd1c.camel@googlemail.com","subject":"Re: git-gui desktop launcher","fromName":"Dragan Simic","fromEmail":"dsimic@manjaro.org","sentAt":"2024-02-12T21:17:43Z","receivedAt":"2024-02-12T21:17:51Z","isPatch":false,"sender":{"key":"dsimic@manjaro.org","avatar":null},"body":"Hello Tobias,\n\nOn 2024-02-12 21:35, Tobias Boesch wrote:\n> On Tue, 2024-02-06 at 20:12 +0100, Dragan Simic wrote:\n>> \n>> AFAICT, Linux distributions provided their own version(s) of the\n>> .desktop file.  Perhaps the version provided by Fedora [1] could be\n>> consulted, for example, to see what's already expected there, and\n>> to provide parity in the version supplied by us.\n>> \n>> [1] \n>> https://koji.fedoraproject.org/koji/fileinfo?rpmID=37302272&filename=git-gui.desktop\n> \n> The file contents of the fedora desktop launcher is here:\n> /home/tobiasb/.local/share/applications/git gui.desktop\n> \n> It differs\n> - in the program name. \"Git GUI\" instead of \"Git Gui\".\n\nTo me, \"GUI\" looks much better than \"Gui\" in a window title.\n\n> - It leaves out the \"portable\" in the description ;-).\n\nPerhaps Fedora is right there, because it refers to a version\npackaged for a specific architecture.\n\n> - I has no option to be launched from a location in file browser (open\n> with...)\n\nMaybe it could be better to take that approach and add the\n\"Open with...\" feature later, just to play it safe.\n\n> I will adopt mine to match their file as good as possible.\n\nGood luck and have fun! :)\n"}]}