public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
* README update proposition
@ 2026-01-16 11:22 Oskar Jaskólski
  2026-01-16 17:09 ` Junio C Hamano
  0 siblings, 1 reply; 2+ messages in thread
From: Oskar Jaskólski @ 2026-01-16 11:22 UTC (permalink / raw)
  To: git


[-- Attachment #1.1: Type: text/plain, Size: 467 bytes --]

Hello everyone!

Is it possible to apply the attached patch? I was trying to "build" git-gui,
but I was seeing the Tcl/Tk for the first time.. Now I know that `Tk` is
used to generate the GUI, and `Tcl` is the scripting language used by `Tk`.
The `wish` command is used to execute the `Tk` code.

I was thinking that I have to install all three dependencies but it turned
out that I need just to install one `tcl/tk` package.

Greetings,
Oskar Jaskólski

[-- Attachment #1.2: Type: text/html, Size: 544 bytes --]

[-- Attachment #2: 0001-git-gui-update-README-to-clarify-Tcl-Tk-dependencies.patch --]
[-- Type: application/octet-stream, Size: 1543 bytes --]

From 3c422f664032989a230ba3f4303485ccfa034660 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Oskar=20Jask=C3=B3lski?= <oskarrro90@gmail.com>
Date: Fri, 16 Jan 2026 12:08:21 +0100
Subject: [PATCH] git-gui: update README to clarify Tcl/Tk dependencies and
 build process
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Oskar Jaskólski <oskarrro90@gmail.com>
---
 README.md | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/README.md b/README.md
index 948e925..0efe1bb 100644
--- a/README.md
+++ b/README.md
@@ -16,15 +16,20 @@ standard Git installation.
 You need to have the following dependencies installed before you begin:
 
 - Git
-- Tcl
-- Tk
-- wish
-- Gitk (needed for browsing history)
+- wish (Tcl/Tk runtime required to run the Git GUI)
+- Gitk (optional, needed for browsing history)
 - msgfmt
 
-Most of Git GUI is written in Tcl, so there is no compilation involved. Still,
-some things do need to be done (mostly some substitutions), so you do need to
-"build" it.
+Git GUI is implemented in Tcl/Tk and is executed as a script via the `wish`
+runtime. If `wish` is available in your PATH, no separate Tcl or Tk installation
+is required.
+
+On most systems, `wish` is provided by the system Tcl/Tk package. If it is not
+available, see https://www.tcl-lang.org/software/tcltk/ for installation
+options.
+
+There is no compilation involved. The build step only performs minor
+substitutions.
 
 You can build Git GUI using:
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: README update proposition
  2026-01-16 11:22 README update proposition Oskar Jaskólski
@ 2026-01-16 17:09 ` Junio C Hamano
  0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2026-01-16 17:09 UTC (permalink / raw)
  To: Oskar Jaskólski; +Cc: git

Oskar Jaskólski <oskarrro90@gmail.com> writes:

> @@ -16,15 +16,20 @@ standard Git installation.
>  You need to have the following dependencies installed before you begin:
>  
>  - Git
> -- Tcl
> -- Tk
> -- wish
> -- Gitk (needed for browsing history)
> +- wish (Tcl/Tk runtime required to run the Git GUI)
> +- Gitk (optional, needed for browsing history)

Hiding the mention of Tcl/Tk may be a small regression for users
depending on what distribution is on.  On Debian based systems,
"wish" is merely a virtual package and the package to install is
"tk", for example.

Is Gitk truly "optional"?  When running git-gui there are a few menu
items that invoke gitk.  Does the rest of the document inform users
well enough to avoid touching these features?  I'd think that we
would rather want the README talk about giving a fairly complete
installation without such limitation.

The parenthesized explanation on "wish" is a good addition, though,
and we may want to keep it even if we were to drop everything else
in this patch.

> -Most of Git GUI is written in Tcl, so there is no compilation involved. Still,
> -some things do need to be done (mostly some substitutions), so you do need to
> -"build" it.
> +Git GUI is implemented in Tcl/Tk and is executed as a script via the `wish`
> +runtime. If `wish` is available in your PATH, no separate Tcl or Tk installation
> +is required.

If this were in the end-user instruction, being clear and concise
like the updated text is a very good thing, BUT because this is in
the building-and-installing section, I doubt this is a good change.

The build procedure (in git-gui/Makefile), would try to run "tclsh"
which is often found in the Tcl package, when it needs to use po2msg
on a system without msgfmt, which are all part of the install/build
procedure.  Again, if somebody already built git-gui for you, I
agree that all you need to have is "wish" and "gitk", but that is
not the target audience of this section, is it?

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-01-16 17:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-16 11:22 README update proposition Oskar Jaskólski
2026-01-16 17:09 ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox