{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":203444244,"defaultBranch":"master","name":"git-gui","ownerLogin":"prati0100","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-08-20T19:48:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8817931?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1695481719.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"5ffeca27f29b5b5d36bfcc76f30e064a76d2178e","ref":"refs/heads/ml/hook-fixes","pushedAt":"2023-09-23T15:08:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"prati0100","name":"Pratyush Yadav","path":"/prati0100","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8817931?s=80&v=4"},"commit":{"message":"git-gui - re-enable use of hook scripts\n\nEarlier, commit aae9560a introduced search in $PATH to find executables\nbefore running them, avoiding an issue where on Windows a same named\nfile in the current directory can be executed in preference to anything\nin a directory in $PATH. This search is intended to find an absolute\npath for a bare executable ( e.g, a function \"foo\") by finding the first\ninstance of \"foo\" in a directory given in $PATH, and this search works\ncorrectly. The search is explicitly avoided for an executable named\nwith an absolute path (e.g., /bin/sh), and that works as well.\n\nUnfortunately, the search is also applied to commands named with a\nrelative path. A hook script (or executable) $HOOK is usually located\nrelative to the project directory as .git/hooks/$HOOK. The search for\nthis will generally fail as that relative path will (probably) not exist\non any directory in $PATH. This means that git hooks in general now fail\nto run. Considerable mayhem could occur should a directory on $PATH be\ngit controlled. If such a directory includes .git/hooks/$HOOK, that\nrepository's $HOOK will be substituted for the one in the current\nproject, with unknown consequences.\n\nThis lookup failure also occurs in worktrees linked to a remote .git\ndirectory using git-new-workdir. However, a worktree using a .git file\npointing to a separate git directory apparently avoids this: in that\ncase the hook command is resolved to an absolute path before being\npassed down to the code introduced in aae9560a.\n\nFix this by replacing the test for an \"absolute\" pathname to a check for\na command name having more than one pathname component. This limits the\nsearch and absolute pathname resolution to bare commands. The new test\nuses tcl's \"file split\" command. Experiments on Linux and Windows, using\ntclsh, show that command names with relative and absolute paths always\ngive at least two components, while a bare command gives only one.\n\n\t Linux: puts [file split {foo}] ==> foo\n\t Linux: puts [file split {/foo}] ==> / foo\n\t Linux: puts [file split {.git/foo}] ==> .git foo\n\t Windows: puts [file split {foo}] ==> foo\n\t Windows: puts [file split {c:\\foo}] ==> c:/ foo\n\t Windows: puts [file split {.git\\foo}] ==> .git foo\n\nThe above results show the new test limits search and replacement\nto bare commands on both Linux and Windows.\n\nSigned-off-by: Mark Levedahl \nSigned-off-by: Pratyush Yadav ","shortMessageHtmlLink":"git-gui - re-enable use of hook scripts"}},{"before":"e25cbdf3576f07bda742a4f13d9380a815e43502","after":"3f851e25ef3fb47b61261cb051abba546bc98e78","ref":"refs/heads/master","pushedAt":"2023-09-19T12:38:42.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"prati0100","name":"Pratyush Yadav","path":"/prati0100","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8817931?s=80&v=4"},"commit":{"message":"Merge branch 'jc/readme-screenshots'\n\nAdd some screenshots to the README to give a quick overview of how\ngit-gui and git-gui blame look like.\n\n* jc/readme-screenshots:\n Add screenshots to the README","shortMessageHtmlLink":"Merge branch 'jc/readme-screenshots'"}},{"before":"1b66824096079b44c83c10d31b1e9e479af0d73a","after":"8eb648199561612b0855ae05bc4288db92d92953","ref":"refs/heads/jc/readme-screenshots","pushedAt":"2023-09-19T12:36:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"prati0100","name":"Pratyush Yadav","path":"/prati0100","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8817931?s=80&v=4"},"commit":{"message":"Add screenshots to the README\n\nThe README is written in Markdown which supports images. Having a couple\nof screenshots in the README (and thus on the project page on Github)\nwould help new users immediately understand the value of git-gui.\n\nThe screenshots are chosen to illustrate some of the main features.\n\nThe images are scaled down and compressed with `optipng -v -o7 *.png` to\nensure they don't waste space despite being binary files.\n\nSigned-off-by: Otto Kekäläinen \nSigned-off-by: Pratyush Yadav ","shortMessageHtmlLink":"Add screenshots to the README"}},{"before":null,"after":"1b66824096079b44c83c10d31b1e9e479af0d73a","ref":"refs/heads/jc/readme-screenshots","pushedAt":"2023-09-12T16:45:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"prati0100","name":"Pratyush Yadav","path":"/prati0100","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8817931?s=80&v=4"},"commit":{"message":"Add screenshots to the README\n\nThe README is written in Markdown which supports images. Having a couple\nof screenshots in the README (and thus on the project page on Github)\nwould help new users immediately understand the value of git-gui.\n\nThe screenshots are chosen to illustrate some of the main features.\n\nThe images are scaled down and compressed with `optipng -v -o7 *.png` to\nensure they don't waste space despite being binary files.\n\nSigned-off-by: Pratyush Yadav ","shortMessageHtmlLink":"Add screenshots to the README"}},{"before":"a5005ded43149a67290c9b8e83d585daf23716ef","after":"e25cbdf3576f07bda742a4f13d9380a815e43502","ref":"refs/heads/master","pushedAt":"2023-08-24T14:48:18.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"prati0100","name":"Pratyush Yadav","path":"/prati0100","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8817931?s=80&v=4"},"commit":{"message":"Merge branch 'ml/cygwin-fixes'\n\nRemove some code supporting ancient Cygwin Tcl/Tk versions. Also fix\nexploring working directory and making desktop shortcuts on Cygwin.\n\n* ml/cygwin-fixes:\n git-gui - use mkshortcut on Cygwin\n git-gui - use cygstart to browse on Cygwin\n git-gui - remove obsolete Cygwin specific code\n git gui Makefile - remove Cygwin modifications","shortMessageHtmlLink":"Merge branch 'ml/cygwin-fixes'"}},{"before":"ac0d66c176e1b09e49406d139b294ca2b6bc75ff","after":"b85c5a4ec66f18fdaa550fdf7801f48ebbc4292f","ref":"refs/heads/ml/cygwin-fixes","pushedAt":"2023-08-24T14:20:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"prati0100","name":"Pratyush Yadav","path":"/prati0100","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8817931?s=80&v=4"},"commit":{"message":"git-gui - use mkshortcut on Cygwin\n\ngit-gui enables the \"Repository->Create Desktop Icon\" item on Cygwin,\noffering to create a shortcut that starts git-gui on the current\nrepository. The code in do_cygwin_shortcut invokes function\nwin32_create_lnk to create the shortcut. This latter function is shared\nbetween Cygwin and Git For Windows and expects Windows rather than unix\npathnames, though do_cygwin_shortcut provides unix pathnames. Also, this\nfunction tries to invoke the Windows Script Host to run a javascript\nsnippet, but this fails under Cygwin's Tcl. So, win32_create_lnk just\ndoes not support Cygwin.\n\nHowever, Cygwin's default installation provides /bin/mkshortcut for\ncreating desktop shortcuts. This is compatible with exec under Cygwin's\nTcl, understands Cygwin's unix pathnames, and avoids the need for shell\nescapes to encode troublesome paths. So, teach git-gui to use mkshortcut\non Cygwin, leaving win32_create_lnk unchanged and for exclusive use by\nGit For Windows.\n\nNotes: \"CHERE_INVOKING=1\" is recognized by Cygwin's /etc/profile and\nprevents a \"chdir $HOME\", leaving the shell in the working directory\nspecified by the shortcut. That directory is written directly by\nmkshortcut eliminating any problems with shell escapes and quoting.\n\nThe code being replaced includes the full pathname of the git-gui\ncreating the shortcut, but that git-gui might not be compatible with the\ngit found after /etc/profile sets the path, and might have a pathname\nthat defies encoding using shell escapes that can survive the multiple\nincompatible interpreters involved in the chain of creating and using\nthis shortcut. The new code uses bare \"git gui\" as the command to\nexecute, thus using the system git to launch the system git-gui, and\navoiding both issues.\n\nSigned-off-by: Mark Levedahl \nAcked-by: Johannes Schindelin \nSigned-off-by: Pratyush Yadav ","shortMessageHtmlLink":"git-gui - use mkshortcut on Cygwin"}},{"before":null,"after":"ac0d66c176e1b09e49406d139b294ca2b6bc75ff","ref":"refs/heads/ml/cygwin-fixes","pushedAt":"2023-08-24T14:14:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"prati0100","name":"Pratyush Yadav","path":"/prati0100","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8817931?s=80&v=4"},"commit":{"message":"git-gui - use mkshortcut on Cygwin\n\ngit-gui enables the \"Repository->Create Desktop Icon\" item on Cygwin,\noffering to create a shortcut that starts git-gui on the current\nrepository. The code in do_cygwin_shortcut invokes function\nwin32_create_lnk to create the shortcut. This latter function is shared\nbetween Cygwin and Git For Windows and expects Windows rather than unix\npathnames, though do_cygwin_shortcut provides unix pathnames. Also, this\nfunction tries to invoke the Windows Script Host to run a javascript\nsnippet, but this fails under Cygwin's Tcl. So, win32_create_lnk just\ndoes not support Cygwin.\n\nHowever, Cygwin's default installation provides /bin/mkshortcut for\ncreating desktop shortcuts. This is compatible with exec under Cygwin's\nTcl, understands Cygwin's unix pathnames, and avoids the need for shell\nescapes to encode troublesome paths. So, teach git-gui to use mkshortcut\non Cygwin, leaving win32_create_lnk unchanged and for exclusive use by\nGit For Windows.\n\nNotes: \"CHERE_INVOKING=1\" is recognized by Cygwin's /etc/profile and\nprevents a \"chdir $HOME\", leaving the shell in the working directory\nspecified by the shortcut. That directory is written directly by\nmkshortcut eliminating any problems with shell escapes and quoting.\n\nThe code being replaced includes the full pathname of the git-gui\ncreating the shortcut, but that git-gui might not be compatible with the\ngit found after /etc/profile sets the path, and might have a pathname\nthat defies encoding using shell escapes that can survive the multiple\nincompatible interpreters involved in the chain of creating and using\nthis shortcut. The new code uses bare \"git gui\" as the command to\nexecute, thus using the system git to launch the system git-gui, and\navoiding both issues.\n\nSigned-off-by: Mark Levedahl ","shortMessageHtmlLink":"git-gui - use mkshortcut on Cygwin"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADhz-ABQA","startCursor":null,"endCursor":null}},"title":"Activity · prati0100/git-gui"}