gitk uses themed widgets with a user selected theme, but also invokes tk_setPalette to configure colors for the non-themed widgets including the menubar. However, themes in general are expected to configure those colors already. The builtin themes (default, alt, clam, classic on unix/X11) all have compatible colors, and need no such reconfiguration, and (most, if not all) available themes set the options database for this purpose as well. Furthermore, gitk in the past avoided invoking tk_setPalette on Windows to avoid some issues. So, let's stop calling tk_setPalette everywhere, and just rely upon the selected theme (possibly user installed) to have set all needed colors. Note: if a user installs more than one theme using $themeloader, the last one installed will have defined the colors to be used. Those colors will probably be incorrect for any other set, including Tk's builtin set. Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Gitk - The Git Repository Browser
Gitk is a graphical Git repository browser. It displays the commit history of a Git repository as a graph, showing the relationships between commits, branches, and tags.
Usage
To view the history of the current repository:
gitk
To view the history of specific files or directories:
gitk path/to/file
gitk path/to/directory
To view a specific branch or range of commits:
gitk branch-name
gitk v1.0..v2.0
For more usage examples and options, see the gitk manual.
Building
Gitk is a Tcl/Tk application. It requires Tcl/Tk to be installed on your system.
Running directly
Gitk can be run from the source directory without installation:
./gitk
This allows for quick testing of changes.
Installation
To install system-wide, you can use either make or meson:
# Install to default location ($HOME/bin)
make install
# Install to system-wide location
sudo make install prefix=/usr/local
# Install to custom location
make install prefix=/opt/gitk
# Using Meson
meson setup builddir
meson compile -C builddir
meson install -C builddir
Both build systems will handle setting the correct Tcl/Tk interpreter path and installing translation files.
Contributing
Contributions are welcome! The preferred method for submitting patches is via email to the Git mailing list, as this allows for more thorough review and broader community feedback. However, GitHub pull requests are also accepted.
All commits must be signed off (use git commit --signoff) and should
have commit messages prefixed with gitk:.
Email Patches
Send patches to git@vger.kernel.org and CC j6t@kdbg.org. See the Git project's patch submission guidelines for detailed instructions on creating and sending patches.
License
Gitk is distributed under the GNU General Public License, either version 2, or (at your option) any later version.