git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/1] Use correct /dev/null for UNIX and Windows

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Oct 31, 2018, 11:14 UTC
Message-ID
<nycvar.QRO.7.76.6.1810311210410.4546@tvgsbejvaqbjf.bet>
In-Reply-To
<xmqqo9bawvpf.fsf@gitster-ct.c.googlers.com>
Hi,
On Wed, 31 Oct 2018, Junio C Hamano wrote:
Show 7 quoted lines
> > From: chris <chris@webstech.net>
> 
> Please make this line read like
> 
> 	From: Chris Webster <chris@webstech.net>
> 
> i.e. the author should be the person who is signing off that patch.

This is most likely recorded as the commit's author in the commit object... Chris, to fix it, make sure that your `user.name` is configured correctly, and then call `git commit --amend --reset-author`.

Show 17 quoted lines
> > Use File::Spec->devnull() for output redirection to avoid messages
> > when Windows version of Perl is first in path.  The message 'The
> > system cannot find the path specified.' is displayed each time git is
> > run to get colors.
> >
> > Signed-off-by: Chris. Webster <chris@webstech.net>
> > ---
> >  contrib/diff-highlight/DiffHighlight.pm | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> There are a handful more instances of /dev/null found if you do
> 
> 	$ git grep /dev/null -- \*.pl \*.pm
> 
> The one in perl/Git.pm must be shared by scripts written in Perl, so
> it may be worth giving the same tweak to it, like this patch does to
> the highlight script.

I do not think that perl/Git.pm is intended to run with any random Perl interpreter. It has to be one that has been verified to work correctly with the Perl code in perl/, and that code is notoriously reliant on POSIX behavior, hence our choice to go with MSYS2 Perl (there *is* a MINGW Perl package in Git for Windows' SDK, but it will most likely not work, in particular because of the missing Subversion bindings).

So I would restrict the search to contrib/\*.pl, contrib/\*.perl and contrib/\*.pm. The stuff in contrib/ is supposed to be semi-independent from the particular Git one is using (and from whatever Perl is shipped with it, if any).

Ciao, Johannes

Show 25 quoted lines
> > diff --git a/contrib/diff-highlight/DiffHighlight.pm b/contrib/diff-highlight/DiffHighlight.pm
> > index 536754583..7440aa1c4 100644
> > --- a/contrib/diff-highlight/DiffHighlight.pm
> > +++ b/contrib/diff-highlight/DiffHighlight.pm
> > @@ -4,6 +4,11 @@ use 5.008;
> >  use warnings FATAL => 'all';
> >  use strict;
> >  
> > +# Use the correct value for both UNIX and Windows (/dev/null vs nul)
> > +use File::Spec;
> > +
> > +my $NULL = File::Spec->devnull();
> > +
> >  # Highlight by reversing foreground and background. You could do
> >  # other things like bold or underline if you prefer.
> >  my @OLD_HIGHLIGHT = (
> > @@ -134,7 +139,7 @@ sub highlight_stdin {
> >  # fallback, which means we will work even if git can't be run.
> >  sub color_config {
> >  	my ($key, $default) = @_;
> > -	my $s = `git config --get-color $key 2>/dev/null`;
> > +	my $s = `git config --get-color $key 2>$NULL`;
> >  	return length($s) ? $s : $default;
> >  }
> 
Previous: Junio C HamanoNext: Chris. Webster via GitGitGadget
Message 7 of 18 in “DiffHighlight.pm: Use correct /dev/null for UNIX and Windows”
  1. 0/1 DiffHighlight.pm: Use correct /dev/null for UNIX and WindowsChris. Webster via GitGitGadget, Oct 30, 2018
  2. 1/1 Use correct /dev/null for UNIX and Windowschris via GitGitGadget, Oct 30, 2018
  3. Jeff KingOct 31, 2018
  4. Junio C HamanoOct 31, 2018
  5. Junio C HamanoOct 31, 2018
  6. Junio C HamanoOct 31, 2018
  7. Johannes SchindelinOct 31, 2018
  8. 0/1 DiffHighlight.pm: Use correct /dev/null for UNIX and WindowsChris. Webster via GitGitGadget, Oct 31, 2018
  9. Chris WebsterOct 31, 2018
  10. Junio C HamanoOct 31, 2018
  11. Johannes SchindelinOct 31, 2018
  12. Junio C HamanoNov 1, 2018
  13. Johannes SchindelinNov 6, 2018
  14. Chris WebsterMay 7, 2019
  15. Philip OakleyMay 12, 2019
  16. Fwd: [PATCH v2 1/1] diff-highlight: Use correct /dev/null for UNIX and WindowsGit Gadget, May 8, 2019
  17. Junio C HamanoMay 9, 2019
  18. Johannes SchindelinMay 9, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.