<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/gitk-git, branch v2.48.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.48.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.48.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2025-05-28T19:17:05Z</updated>
<entry>
<title>Sync with 2.47.3</title>
<updated>2025-05-28T19:17:05Z</updated>
<author>
<name>Taylor Blau</name>
<email>me@ttaylorr.com</email>
</author>
<published>2025-05-28T19:17:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=856b515a4612e41f00b80b64b6504422a8d8bba1'/>
<id>urn:sha1:856b515a4612e41f00b80b64b6504422a8d8bba1</id>
<content type='text'>
* maint-2.47:
  Git 2.47.3
  Git 2.46.4
  Git 2.45.4
  Git 2.44.4
  Git 2.43.7
  wincred: avoid buffer overflow in wcsncat()
  bundle-uri: fix arbitrary file writes via parameter injection
  config: quote values containing CR character
  git-gui: sanitize 'exec' arguments: convert new 'cygpath' calls
  git-gui: do not mistake command arguments as redirection operators
  git-gui: introduce function git_redir for git calls with redirections
  git-gui: pass redirections as separate argument to git_read
  git-gui: pass redirections as separate argument to _open_stdout_stderr
  git-gui: convert git_read*, git_write to be non-variadic
  git-gui: override exec and open only on Windows
  gitk: sanitize 'open' arguments: revisit recently updated 'open' calls
  git-gui: use git_read in githook_read
  git-gui: sanitize $PATH on all platforms
  git-gui: break out a separate function git_read_nice
  git-gui: assure PATH has only absolute elements.
  git-gui: remove option --stderr from git_read
  git-gui: cleanup git-bash menu item
  git-gui: sanitize 'exec' arguments: background
  git-gui: avoid auto_execok in do_windows_shortcut
  git-gui: sanitize 'exec' arguments: simple cases
  git-gui: avoid auto_execok for git-bash menu item
  git-gui: treat file names beginning with "|" as relative paths
  git-gui: remove unused proc is_shellscript
  git-gui: remove git config --list handling for git &lt; 1.5.3
  git-gui: remove special treatment of Windows from open_cmd_pipe
  git-gui: remove HEAD detachment implementation for git &lt; 1.5.3
  git-gui: use only the configured shell
  git-gui: remove Tcl 8.4 workaround on 2&gt;@1 redirection
  git-gui: make _shellpath usable on startup
  git-gui: use [is_Windows], not bad _shellpath
  git-gui: _which, only add .exe suffix if not present
  gitk: encode arguments correctly with "open"
  gitk: sanitize 'open' arguments: command pipeline
  gitk: collect construction of blameargs into a single conditional
  gitk: sanitize 'open' arguments: simple commands, readable and writable
  gitk: sanitize 'open' arguments: simple commands with redirections
  gitk: sanitize 'open' arguments: simple commands
  gitk: sanitize 'exec' arguments: redirect to process
  gitk: sanitize 'exec' arguments: redirections and background
  gitk: sanitize 'exec' arguments: redirections
  gitk: sanitize 'exec' arguments: 'eval exec'
  gitk: sanitize 'exec' arguments: simple cases
  gitk: have callers of diffcmd supply pipe symbol when necessary
  gitk: treat file names beginning with "|" as relative paths
</content>
</entry>
<entry>
<title>Sync with 2.44.4</title>
<updated>2025-05-28T18:51:38Z</updated>
<author>
<name>Taylor Blau</name>
<email>me@ttaylorr.com</email>
</author>
<published>2025-05-28T18:51:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3e10fb5eb496fe602a36d26f9589aaa9d3a03d4c'/>
<id>urn:sha1:3e10fb5eb496fe602a36d26f9589aaa9d3a03d4c</id>
<content type='text'>
* maint-2.44:
  Git 2.44.4
  Git 2.43.7
  wincred: avoid buffer overflow in wcsncat()
  bundle-uri: fix arbitrary file writes via parameter injection
  config: quote values containing CR character
  git-gui: sanitize 'exec' arguments: convert new 'cygpath' calls
  git-gui: do not mistake command arguments as redirection operators
  git-gui: introduce function git_redir for git calls with redirections
  git-gui: pass redirections as separate argument to git_read
  git-gui: pass redirections as separate argument to _open_stdout_stderr
  git-gui: convert git_read*, git_write to be non-variadic
  git-gui: override exec and open only on Windows
  gitk: sanitize 'open' arguments: revisit recently updated 'open' calls
  git-gui: use git_read in githook_read
  git-gui: sanitize $PATH on all platforms
  git-gui: break out a separate function git_read_nice
  git-gui: assure PATH has only absolute elements.
  git-gui: remove option --stderr from git_read
  git-gui: cleanup git-bash menu item
  git-gui: sanitize 'exec' arguments: background
  git-gui: avoid auto_execok in do_windows_shortcut
  git-gui: sanitize 'exec' arguments: simple cases
  git-gui: avoid auto_execok for git-bash menu item
  git-gui: treat file names beginning with "|" as relative paths
  git-gui: remove unused proc is_shellscript
  git-gui: remove git config --list handling for git &lt; 1.5.3
  git-gui: remove special treatment of Windows from open_cmd_pipe
  git-gui: remove HEAD detachment implementation for git &lt; 1.5.3
  git-gui: use only the configured shell
  git-gui: remove Tcl 8.4 workaround on 2&gt;@1 redirection
  git-gui: make _shellpath usable on startup
  git-gui: use [is_Windows], not bad _shellpath
  git-gui: _which, only add .exe suffix if not present
  gitk: encode arguments correctly with "open"
  gitk: sanitize 'open' arguments: command pipeline
  gitk: collect construction of blameargs into a single conditional
  gitk: sanitize 'open' arguments: simple commands, readable and writable
  gitk: sanitize 'open' arguments: simple commands with redirections
  gitk: sanitize 'open' arguments: simple commands
  gitk: sanitize 'exec' arguments: redirect to process
  gitk: sanitize 'exec' arguments: redirections and background
  gitk: sanitize 'exec' arguments: redirections
  gitk: sanitize 'exec' arguments: 'eval exec'
  gitk: sanitize 'exec' arguments: simple cases
  gitk: have callers of diffcmd supply pipe symbol when necessary
  gitk: treat file names beginning with "|" as relative paths

Signed-off-by: Taylor Blau &lt;me@ttaylorr.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'js/fix-open-exec'</title>
<updated>2025-05-23T21:04:30Z</updated>
<author>
<name>Johannes Sixt</name>
<email>j6t@kdbg.org</email>
</author>
<published>2025-05-14T17:56:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=27fbab4898620183e608865beffd960139c04d58'/>
<id>urn:sha1:27fbab4898620183e608865beffd960139c04d58</id>
<content type='text'>
This addresses CVE-2025-27613, Gitk can create and truncate a user's
files:

When a user clones an untrusted repository and runs gitk without
additional command arguments, files for which the user has write
permission can be created and truncated. The option "Support per-file
encoding" must have been enabled before in Gitk's Preferences.  This
option is disabled by default.

The same happens when "Show origin of this line" is used in the main
window (regardless of whether "Support per-file encoding" is enabled or
not).

Signed-off-by: Johannes Sixt &lt;j6t@kdbg.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ah/fix-open-with-stdin'</title>
<updated>2025-05-23T21:04:30Z</updated>
<author>
<name>Johannes Sixt</name>
<email>j6t@kdbg.org</email>
</author>
<published>2025-05-14T16:27:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4e7e3b792e6973e09de6ddc191b86bbc245c53dd'/>
<id>urn:sha1:4e7e3b792e6973e09de6ddc191b86bbc245c53dd</id>
<content type='text'>
This addresses CVE-2025-27614, Arbitrary command execution with Gitk:

A Git repository can be crafted in such a way that with some social
engineering a user who has cloned the repository can be tricked into
running any script (e.g., Bourne shell, Perl, Python, ...) supplied by
the attacker by invoking `gitk filename`, where `filename` has a
particular structure. The script is run with the privileges of the user.

Signed-off-by: Johannes Sixt &lt;j6t@kdbg.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of https://github.com/j6t/gitk</title>
<updated>2025-01-06T14:52:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-01-06T14:52:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e63e62171b489dad8ae9d8bd4675b1938bff92c8'/>
<id>urn:sha1:e63e62171b489dad8ae9d8bd4675b1938bff92c8</id>
<content type='text'>
* 'master' of https://github.com/j6t/gitk:
  gitk: Update Bulgarian translation (327t)
</content>
</entry>
<entry>
<title>Merge https://github.com/j6t/gitk</title>
<updated>2024-12-18T00:17:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2024-12-18T00:17:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d882f382b3d939d90cfa58d17b17802338f05d66'/>
<id>urn:sha1:d882f382b3d939d90cfa58d17b17802338f05d66</id>
<content type='text'>
* 'master' of https://github.com/j6t/gitk:
  gitk: offer "Copy commit ID to X11 selection" only on X11
  gitk: support auto-copy comit ID to primary clipboard
  gitk: prefs dialog: refine Auto-select UI
  gitk: UI text: change "SHA1 ID" to "Commit ID"
  gitk: add text wrapping preferences
  gitk: make headings of preferences bold
  gitk: check main window visibility before waiting for it to show
  gitk: sv.po: Update Swedish translation (323t)
</content>
</entry>
<entry>
<title>Makefile(s): avoid recipe prefix in conditional statements</title>
<updated>2024-04-08T21:42:32Z</updated>
<author>
<name>Taylor Blau</name>
<email>me@ttaylorr.com</email>
</author>
<published>2024-04-08T15:51:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=728b9ac0c3b93aaa4ea80280c591deb198051785'/>
<id>urn:sha1:728b9ac0c3b93aaa4ea80280c591deb198051785</id>
<content type='text'>
In GNU Make commit 07fcee35 ([SV 64815] Recipe lines cannot contain
conditional statements, 2023-05-22) and following, conditional
statements may no longer be preceded by a tab character (which Make
refers to as the recipe prefix).

There are a handful of spots in our various Makefile(s) which will break
in a future release of Make containing 07fcee35. For instance, trying to
compile the pre-image of this patch with the tip of make.git results in
the following:

    $ make -v | head -1 &amp;&amp; make
    GNU Make 4.4.90
    config.mak.uname:842: *** missing 'endif'.  Stop.

The kernel addressed this issue in 82175d1f9430 (kbuild: Replace tabs
with spaces when followed by conditionals, 2024-01-28). Address the
issues in Git's tree by applying the same strategy.

When a conditional word (ifeq, ifneq, ifdef, etc.) is preceded by one or
more tab characters, replace each tab character with 8 space characters
with the following:

    find . -type f -not -path './.git/*' -name Makefile -or -name '*.mak' |
      xargs perl -i -pe '
        s/(\t+)(ifn?eq|ifn?def|else|endif)/" " x (length($1) * 8) . $2/ge unless /\\$/
      '

The "unless /\\$/" removes any false-positives (like "\telse \"
appearing within a shell script as part of a recipe).

After doing so, Git compiles on newer versions of Make:

    $ make -v | head -1 &amp;&amp; make
    GNU Make 4.4.90
    GIT_VERSION = 2.44.0.414.gfac1dc44ca9
    [...]

    $ echo $?
    0

Reported-by: Dario Gjorgjevski &lt;dario.gjorgjevski@gmail.com&gt;
Signed-off-by: Taylor Blau &lt;me@ttaylorr.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>doc: switch links to https</title>
<updated>2023-11-26T01:07:05Z</updated>
<author>
<name>Josh Soref</name>
<email>jsoref@gmail.com</email>
</author>
<published>2023-11-24T03:35:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d05b08cd52cfda627f1d865bdfe6040a2c9521b5'/>
<id>urn:sha1:d05b08cd52cfda627f1d865bdfe6040a2c9521b5</id>
<content type='text'>
These sites offer https versions of their content.
Using the https versions provides some protection for users.

Signed-off-by: Josh Soref &lt;jsoref@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>doc: update links to current pages</title>
<updated>2023-11-26T01:07:05Z</updated>
<author>
<name>Josh Soref</name>
<email>jsoref@gmail.com</email>
</author>
<published>2023-11-24T03:35:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=65175d9ea26bebeb9d69977d0e75efc0e88dbced'/>
<id>urn:sha1:65175d9ea26bebeb9d69977d0e75efc0e88dbced</id>
<content type='text'>
It's somewhat traditional to respect sites' self-identification.

Signed-off-by: Josh Soref &lt;jsoref@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge gitk changes into js/gitk-fixes-from-gfw</title>
<updated>2023-05-08T16:16:57Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2023-05-08T16:16:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=99e70f3077a585ed32f37b8ecc863083796d3e72'/>
<id>urn:sha1:99e70f3077a585ed32f37b8ecc863083796d3e72</id>
<content type='text'>
* .tmp-gitk:
  gitk: escape file paths before piping to git log
  gitk: prevent overly long command lines
</content>
</entry>
</feed>
