Commit graph

8 commits

Author SHA1 Message Date
Taylor Blau
728b9ac0c3 Makefile(s): avoid recipe prefix in conditional statements
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 && 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 && make
    GNU Make 4.4.90
    GIT_VERSION = 2.44.0.414.gfac1dc44ca9
    [...]

    $ echo $?
    0

Reported-by: Dario Gjorgjevski <dario.gjorgjevski@gmail.com>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-04-08 14:42:32 -07:00
Junio C Hamano
ffac48d093 Merge git://ozlabs.org/~paulus/gitk
* 'master' of git://ozlabs.org/~paulus/gitk:
  gitk: Remove translated message from comments
  gitk: ru.po: Update Russian translation
  gitk: Update copyright notice to 2016
  gitk: Clear array 'commitinfo' on reload
  gitk: Remove closed file descriptors from $blobdifffd
  gitk: Turn off undo manager in the text widget
  gitk: Fix Japanese translation for "marked commit"
  gitk: Fix missing commits when using -S or -G
  gitk: Use explicit RGB green instead of "lime"
  gitk: Add Portuguese translation
  gitk: Makefile: create install bin directory
  gitk: Include commit title in branch dialog
  gitk: Allow checking out a remote branch
  gitk: Add a 'rename' option to the branch context menu
2017-01-18 10:27:59 -08:00
Junio C Hamano
9a6c84e6e9 Merge git://ozlabs.org/~paulus/gitk
* git://ozlabs.org/~paulus/gitk:
  gitk: Ignore gitk-wish buildproduct
2013-01-30 13:52:44 -08:00
Junio C Hamano
c7ea453618 Merge git://git.kernel.org/pub/scm/gitk/gitk
* git://git.kernel.org/pub/scm/gitk/gitk: (44 commits)
  gitk: Add a progress bar for checking out a head
  gitk: Show current row number and total number of rows
  gitk: Allow users to view diffs in external diff viewer
  gitk: Synchronize highlighting in file view for 'f' and 'b' commands
  gitk: Make updates go faster
  gitk: Disable "Reset %s branch to here" when on a detached head
  gitk: German translation again updated
  gitk: Update German translation
  gitk: Makefile/install: force permissions when installing files and dirs
  gitk: Initial Swedish translation.
  gitk: Spanish translation of gitk
  gitk: Fix handling of tree file list with special chars in names
  gitk: Reorganize processing of arguments for git log
  gitk: Fix problem with target row not being in scroll region
  gitk: Avoid a crash in selectline if commitinfo($id) isn't set
  gitk: Fix some corner cases in computing vrowmod and displayorder
  gitk: Correct a few strings and comments to say "git log"
  gitk: Don't filter view arguments through git rev-parse
  gitk: Fix problems with target row stuff
  gitk: Handle updating with path limiting better
  ...
2008-05-14 21:27:55 -07:00
Junio C Hamano
4698ef555a Merge git://git.kernel.org/pub/scm/gitk/gitk
* git://git.kernel.org/pub/scm/gitk/gitk:
  gitk: initial Italian translation
  gitk: Default to using po2msg.sh if msgfmt doesn't grok --tcl, -l and -d
  gitk: Avoid Tcl error when switching views
  [PATCH] gitk: Don't show local changes when we there is no work tree
  [PATCH] gitk: Add horizontal scrollbar to the diff view
  [PATCH] gitk: make autoselect optional
  [PATCH] gitk: Mark another string for translation
  [PATCH] Add an --argscmd flag to get the list of refs to show
  gitk: Only restore window size from ~/.gitk, not position
2008-03-14 17:49:40 -07:00
Junio C Hamano
887ad79865 Merge ../gitk
* ../gitk:
  gitk: Update German translation.
  gitk: Fix typo in user message.
  gitk: Fix the Makefile to cope with systems lacking msgfmt
2008-01-11 00:51:30 -08:00
Junio C Hamano
f85fd3f0d1 Merge branch 'master' of git://git.kernel.org/pub/scm/gitk/gitk
* 'master' of git://git.kernel.org/pub/scm/gitk/gitk:
  [PATCH] gitk: use user-configured background in view definition dialog
  [PATCH] gitk: Update German translation
  [PATCH] gitk: Update and fix Makefile
  gitk: Restore some widget options whose defaults changed in Tk 8.5
  gitk: Recode de.po to UTF-8
  [PATCH] gitk i18n: Recode gitk from latin1 to utf8 so that the (c) copyright character is valid utf8.
  [PATCH] gitk i18n: More markup -- various options menus
  [PATCH] gitk i18n: Initial German translation
  [PATCH] gitk i18n: Markup several strings for translation
  [PATCH] gitk i18n: Import msgcat for message string translation; load translation catalogs
  [PATCH] gitk i18n: Add Makefile with rules for po file creation and installation
2008-01-08 22:41:15 -08:00
Junio C Hamano
62ba5143ec Move gitk to its own subdirectory
This is to prepare for gitk i18n effort that makes gitk not a single file
project anymore.  We may use subproject to bind git.git and gitk.git more
loosely in the future, but we do not want to require everybody to have
subproject aware git to be able to pull from git.git yet.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-18 19:11:14 -08:00