[pull] master from git:master#181
Merged
pull[bot] merged 18 commits intoturkdevops:masterfrom Mar 22, 2026
Merged
Conversation
The drawtags procedure currently uses headfgcolor for all label text, ignoring the tagfgcolor setting. The call to create the outline polygon for (non-tag) heads currently has the color for headoutlinecolor hardcoded to black. This patch maintains the variables for the non-tag refs so that heads are colored differently from non-head (non-tag) refs. The outline and fill colors for the non-head refs remain hardcoded to the prior values, black & #ddddff. Signed-off-by: Shannon Barber <sgbarber@gmail.com> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
When reviewing a change before staging, it is desirable to see text after
tabstops aligned the same way as in the text editor. However, since there
is always an additional character in column one in patch text ('+', '-',
or space), the alignment is broken if text before the first tab character
is just long enough to push the stop to the next tab position.
Commit a43c5f5 (git-gui: add configurable tab size to the diff view,
2012-02-12) added infrastructure that manipulates the tabstop positions
of the Tk text widget. However, it does so only when a 3-way diff is
shown and only so that it takes into account the one additional markup at
the beginning of lines. This only achieved that alignment does not get
worse for 3-way diffs compared to regular patch text, but left misaligned
text in regular patch text unmodified.
Use and modify this infrastructure to shift tabstops by one position for
regular patch text and two positions for 3-way diffs. Existing code
already resets the tabstops to an unshifted position when contents of
untracked files are displayed.
Signed-off-by: Chris Idema <github_chris_idema@proton.me>
[j6t: extend commit message]
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
The GIT-VERSION-GEN script sets up GIT_CEILING_DIRECTORIES so that we won't accidentally parse version information from an unrelated parent repository. The ceiling is derived from the source directory by simply appendign "/.." to it, which mean that we'll only consider the current directory for repository discovery. This works alright in the case where git-gui is built as a standalone project, but it breaks when git-gui is embedded into a _related_ parent project. This is for example how git-gui is distributed via Git. Interestingly enough, the version information is still derived properly when building git-gui via Git's Makefile. In that case we eventually end up specifying the ceiling directory as "./.." as we use relative paths there, and that seems to not restrict the repository discovery. But when building via Meson we specify the source directory as an absolute path, and if so the repository discovery _is_ stopped. The consequence is that we won't be able to derive the version in that case. Fix the issue by adding a new optional parameter to GIT-VERSION-GEN that allows the caller to override the parent project directory and wire up new build options for Meson and Make that allows users to specify it. Note that by default we won't set the parent project directory. This isn't required for Meson anyway as we already use absolute paths there, but for our Makefile it means that we still end up with "./.." as ceiling directory, which is ineffective. But using e.g. pwd(1) as the default value would break downstream's version generation, unless we updated git-gui and the Makefile at the same point in time. Signed-off-by: Patrick Steinhardt <ps@pks.im>
Meson detects the path of the target shell via `find_program("sh")`,
which essentially does a lookup via `PATH`. We know that almost all
systems have "/bin/sh" available though, which makes it the superior
choice as a default value.
Adapt `find_program()` to prefer "/bin/sh" over any other "sh"
executable.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
In e749c87 (git-gui: provide question helper for retry fallback on Windows, 2025-08-28) we have introudced a new "git-gui--askyesno" helper script. While the script is conceptually similar to our existing helper script "git-gui--askpass", we don't massage it via "generate-script.sh". This means that build options like the path to the wish shell are not propagated correctly. Fix this issue. Signed-off-by: Patrick Steinhardt <ps@pks.im>
The new "git-gui--askyesno" helper script has only been wired up for our Makefile, not for Meson. Wire it up properly to bring both build systems on par with each other again. Signed-off-by: Patrick Steinhardt <ps@pks.im>
* 'pks-meson-fixes' of github.com:pks-gitlab/git-gui: git-gui: wire up "git-gui--askyesno" with Meson git-gui: massage "git-gui--askyesno" with "generate-script.sh" git-gui: prefer shell at "/bin/sh" with Meson git-gui: fix use of GIT_CEILING_DIRECTORIES Signed-off-by: Johannes Sixt <j6t@kdbg.org>
As a dark-theme user, I use the Preferences dialog to set colors for gitk. The only color I cannot change via that dialog is the link foreground color, which leads to using the default link color on a dark background that makes it hard to read. Make the link foreground color also configurable in the Gitk Preferences dialog's Color tab, so users won't need to dig into the code/manual to check if it is configurable and can simply set the color there. Signed-off-by: Wang Zichong <wangzichong@deepin.org> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
File information in the translation files is only helpful for the translators, but is not needed to compile the message catalogs. On top of that, file information is rather volatile and leads to large patches that do not carry essential information. For this reason, Git project has opted to remove the file information from its translation files. Let's do that in this project, too. Rewrite the update-po target to generate *.po files that do contain file information for the benefit of translators. Configure a clean filter under the name "gettext-no-location", which is the same that the Git project uses. It is expected that translators have already configured their repository suitably. Nevertheless, write a reminder as part of the update-po target. Apply the clean-filter to the translation files. Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Comment lines are stripped by wash_commit_message, but there is no indication in the UI that they are special and will be removed. Grey these lines out to indicate that they will be removed. Signed-off-by: Wolfgang Faust <contrib-git@wolfgangfaust.com> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Use "Gitk" instead of the placeholder "PACKAGE" in the header of the
generated po/gitk.pot file. In particular, the "Project-Id-Version"
field in the header entry should be set to:
"Project-Id-Version: Gitk\n"
New PO files generated from this POT file will inherit that package
name.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
"po/gitk.pot" is generated from the source for translation maintenance. Ignore it in the working tree so regenerating the template does not introduce unnecessary noise in `git status`. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Commit f697d08 (gitk: i18n: use "Gitk" as package name in POT file, 2026-03-19) updated the generated POT template to use "Gitk" in its Project-Id-Version header. Several existing PO files still carry older header values such as "git" or "git-gui", so they do not consistently identify themselves as Gitk translations. Update the Project-Id-Version field in all Gitk PO files so that they identify the Gitk project consistently. The "Project-Id-Version" field in the PO header helps tools identify which project a PO file belongs to. For example, Git's "git-po-helper" uses it to choose project-specific checks and POT handling rules. Without this change, some Gitk PO files are misidentified because their headers still refer to other projects. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
* sb/heed-ref-decoration-settings: gitk: use config settings for head/tag colors
* js/i18n-no-location: gitk: commit translation files without file information
* 'jx/i18n-fix' of github.com:jiangxin/gitk: gitk: l10n: make PO headers identify the Gitk project gitk: ignore generated POT file gitk: i18n: use "Gitk" as package name in POT file Signed-off-by: Johannes Sixt <j6t@kdbg.org>
* 'master' of https://github.com/j6t/gitk: gitk: l10n: make PO headers identify the Gitk project gitk: ignore generated POT file gitk: i18n: use "Gitk" as package name in POT file gitk: commit translation files without file information gitk: support link color in the Preferences dialog gitk: use config settings for head/tag colors
* 'master' of https://github.com/j6t/git-gui: git-gui: grey out comment lines in commit message git-gui: wire up "git-gui--askyesno" with Meson git-gui: massage "git-gui--askyesno" with "generate-script.sh" git-gui: prefer shell at "/bin/sh" with Meson git-gui: fix use of GIT_CEILING_DIRECTORIES git-gui: shift tabstops to account for the first column of patch text
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )