<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-gui/Makefile, branch v2.47.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.47.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.47.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2024-04-08T21:42:32Z</updated>
<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>Merge https://github.com/prati0100/git-gui</title>
<updated>2023-08-24T16:57:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2023-08-24T16:57:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a793520380eb0f9b4a970ace0e9ee41c0ccb82aa'/>
<id>urn:sha1:a793520380eb0f9b4a970ace0e9ee41c0ccb82aa</id>
<content type='text'>
* https://github.com/prati0100/git-gui:
  git-gui - use mkshortcut on Cygwin
  git-gui - use cygstart to browse on Cygwin
  git-gui - remove obsolete Cygwin specific code
  git gui Makefile - remove Cygwin modifications
  Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4
  Work around Tcl's default `PATH` lookup
  Move the `_which` function (almost) to the top
  Move is_&lt;platform&gt; functions to the beginning
  is_Cygwin: avoid `exec`ing anything
  windows: ignore empty `PATH` elements
  git-gui: Fix a typo in README
</content>
</entry>
<entry>
<title>Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4</title>
<updated>2022-11-30T22:24:12Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2022-11-30T08:23:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=67b36879fc06581131fa7e57c9ee1e560ea9d1fc'/>
<id>urn:sha1:67b36879fc06581131fa7e57c9ee1e560ea9d1fc</id>
<content type='text'>
Since GNU make 4.4 the semantics of the $(MAKEFLAGS) variable has
changed in a backward-incompatible way, as its "NEWS" file notes:

  Previously only simple (one-letter) options were added to the MAKEFLAGS
  variable that was visible while parsing makefiles.  Now, all options are
  available in MAKEFLAGS.  If you want to check MAKEFLAGS for a one-letter
  option, expanding "$(firstword -$(MAKEFLAGS))" is a reliable way to return
  the set of one-letter options which can be examined via findstring, etc.

This upstream change meant that e.g.:

	make man

Would become very noisy, because in shared.mak we rely on extracting
"s" from the $(MAKEFLAGS), which now contains long options like
"--jobserver-auth=fifo:&lt;path&gt;", which we'll conflate with the "-s"
option.

So, let's change this idiom we've been carrying since [1], [2] and [3]
as the "NEWS" suggests.

Note that the "-" in "-$(MAKEFLAGS)" is critical here, as the variable
will always contain leading whitespace if there are no short options,
but long options are present. Without it e.g. "make --debug=all" would
yield "--debug=all" as the first word, but with it we'll get "-" as
intended. Then "-s" for "-s", "-Bs" for "-s -B" etc.

1. 0c3b4aac8ec (git-gui: Support of "make -s" in: do not output
   anything of the build itself, 2007-03-07)
2. b777434383b (Support of "make -s": do not output anything of the
   build itself, 2007-03-07)
3. bb2300976ba (Documentation/Makefile: make most operations "quiet",
   2009-03-27)

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge https://github.com/prati0100/git-gui</title>
<updated>2020-12-18T23:07:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-12-18T23:07:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f4d8e191230b3d233005720085092b97e9bf32f1'/>
<id>urn:sha1:f4d8e191230b3d233005720085092b97e9bf32f1</id>
<content type='text'>
* https://github.com/prati0100/git-gui:
  git-gui: use gray background for inactive text widgets
  git-gui: Fix selected text colors
  Makefile: conditionally include GIT-VERSION-FILE
  git-gui: fix colored label backgrounds when using themed widgets
  git-gui: ssh-askpass: add a checkbox to show the input text
  git-gui: update Russian translation
  git-gui: use commit message template
  git-gui: Only touch GITGUI_MSG when needed
</content>
</entry>
<entry>
<title>Merge branch 'jn/reproducible-build' of ../git-gui into jn/reproducible-build</title>
<updated>2017-11-22T05:57:52Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-11-22T05:57:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=da10ea373b80cc8bf8efca5acb1d11ecf410fb0c'/>
<id>urn:sha1:da10ea373b80cc8bf8efca5acb1d11ecf410fb0c</id>
<content type='text'>
* 'jn/reproducible-build' of ../git-gui:
  git-gui: sort entries in optimized tclIndex
</content>
</entry>
<entry>
<title>Merge branch 'js/msgfmt-on-windows' of ../git-gui into js/git-gui-msgfmt-on-windows</title>
<updated>2017-07-25T20:42:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-07-25T20:42:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=90dbf226ba3fae0d932ae4e42d8d3122a47766bc'/>
<id>urn:sha1:90dbf226ba3fae0d932ae4e42d8d3122a47766bc</id>
<content type='text'>
* 'js/msgfmt-on-windows' of ../git-gui:
  git-gui (MinGW): make use of MSys2's msgfmt
  git gui: allow for a long recentrepo list
  git gui: de-dup selected repo from recentrepo history
  git gui: cope with duplicates in _get_recentrepo
  git-gui: remove duplicate entries from .gitconfig's gui.recentrepo
</content>
</entry>
<entry>
<title>Merge tag 'gitgui-0.21.0' of git://repo.or.cz/git-gui</title>
<updated>2016-10-20T16:33:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-10-20T16:33:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3eae3087008f7f2b2a9f7f357d069e9384007c8f'/>
<id>urn:sha1:3eae3087008f7f2b2a9f7f357d069e9384007c8f</id>
<content type='text'>
git-gui 0.21.0

* tag 'gitgui-0.21.0' of git://repo.or.cz/git-gui: (22 commits)
  git-gui: set version 0.21
  git-gui: Mark 'All' in remote.tcl for translation
  git-gui i18n: Updated Bulgarian translation (565,0f,0u)
  git-gui: avoid persisting modified author identity
  git-gui: handle the encoding of Git's output correctly
  git-gui: unicode file name support on windows
  git-gui: Update Russian translation
  git-gui: maintain backwards compatibility for merge syntax
  git-gui i18n: mark string in lib/error.tcl for translation
  git-gui: fix incorrect use of Tcl append command
  git-gui i18n: mark "usage:" strings for translation
  git-gui i18n: internationalize use of colon punctuation
  git-gui: ensure the file in the diff pane is in the list of selected files
  git-gui: support for $FILENAMES in tool definitions
  git-gui: fix initial git gui message encoding
  git-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command substitution
  git-gui (Windows): use git-gui.exe in `Create Desktop Shortcut`
  git-gui: fix detection of Cygwin
  Amend tab ordering and text widget border and highlighting.
  Allow keyboard control to work in the staging widgets.
  ...
</content>
</entry>
<entry>
<title>Merge tag 'gitgui-0.20.0' of http://repo.or.cz/r/git-gui</title>
<updated>2015-04-19T01:35:48Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-04-19T01:35:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1eb0545cce4a4ed652425798b87cb0e777c03b3f'/>
<id>urn:sha1:1eb0545cce4a4ed652425798b87cb0e777c03b3f</id>
<content type='text'>
git-gui 0.20.0

* tag 'gitgui-0.20.0' of http://repo.or.cz/r/git-gui:
  git-gui: set version 0.20
  git-gui: sv.po: Update Swedish translation (547t0f0u)
  git-gui i18n: Updated Bulgarian translation (547t,0f,0u)
  git-gui: Makes chooser set 'gitdir' to the resolved path
  git-gui: Fixes chooser not accepting gitfiles
  git-gui: reinstate support for Tcl 8.4
  git-gui: fix problem with gui.maxfilesdisplayed
  git-gui: fix verbose loading when git path contains spaces.
  git-gui/gitk: Do not depend on Cygwin's "kill" command on Windows
  git-gui: add configurable tab size to the diff view
  git-gui: Make git-gui lib dir configurable at runime
  git-gui i18n: Updated Bulgarian translation (520t,0f,0u)
  L10n: vi.po (543t): Init translation for Vietnamese
  git-gui: align the new recursive checkbox with the radiobuttons.
  git-gui: Add a 'recursive' checkbox in the clone menu.
</content>
</entry>
<entry>
<title>Merge git://repo.or.cz/git-gui</title>
<updated>2013-12-09T22:57:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-12-09T22:57:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3d252a9c598b87f86d3370fcf285a31973d6ceb6'/>
<id>urn:sha1:3d252a9c598b87f86d3370fcf285a31973d6ceb6</id>
<content type='text'>
* git://repo.or.cz/git-gui:
  git-gui: correct spelling errors in comments
  git-gui: add menu item to launch a bash shell on Windows.
  git-gui: corrected setup of git worktree under cygwin.
  git-gui: right half window is paned
  git-gui: Add gui.displayuntracked option
  git-gui: show the maxrecentrepo config option in the preferences dialog
  git-gui: added gui.maxrecentrepo to extend the number of remembered repos
  git-gui: Improve font rendering on retina macbooks
</content>
</entry>
<entry>
<title>Merge tag 'gitgui-0.18.0' of git://repo.or.cz/git-gui</title>
<updated>2013-06-17T03:06:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-06-17T03:06:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fb7dfaa710da6f9ebb854f70ffc1c78668a1e70c'/>
<id>urn:sha1:fb7dfaa710da6f9ebb854f70ffc1c78668a1e70c</id>
<content type='text'>
git-gui 0.18.0

* tag 'gitgui-0.18.0' of git://repo.or.cz/git-gui:
  git-gui 0.18
  git-gui: avoid an error message when removing the last remote
  git-gui: fix file name handling with non-empty prefix
  git-gui: bring wish process to front on Mac
  git-gui: change dialog button positions for Windows to suit platform.
  git-gui: allow "\ No newline at end of file" for linewise staging
  git-gui: fix the mergetool launcher for the Beyond Compare tool.
  Makefile: replace "echo 1&gt;..." with "echo &gt;..."
  French translation: copy -&gt; copie.
  git-gui: Fix parsing of &lt;rev&gt; &lt;path-which-not-present-in-worktree&gt;
</content>
</entry>
</feed>
