From: "Johannes Sixt" <j...@kdbg.org>
Am 27.12.2014 um 19:49 schrieb Philip Oakley:
Hi,

In ee9be06 (perl: detect new files in MakeMaker builds, 2012-07-27)
there is a step to detect if there has been an update to the PM.* files,
however it appears that the logic is inverted in the comparison.

I need some extra eye's on this to be sure I have it right (I'm trying
to debug an old Windows breakage...).

The resultant output of a make dry run included (on my m/c)..:

 find perl -type f -name '*.pm' | sort >perl/PM.stamp+ && \
  { cmp perl/PM.stamp+ perl/PM.stamp >/dev/null 2>/dev/null || mv
perl/PM.stamp+ perl/PM.stamp; } && \
  rm -f perl/PM.stamp+
 make -C perl  PERL_PATH='/usr/bin/perl' prefix='/c/Documents and
Settings/Philip' perl.mak

Shouldn't it be `{ ! cmp ` so that when the files are not identical, the
move is performed?

https://github.com/git/git/blob/ee9be06770223238c6a22430eb874754dd22dfb0/Makefile#L2097

The existing code looks correct to me. cmp succeeds when the files are
identical and fails when they are different: When it succeeds (files are
equal), the mv is not executed. When it fails, either because a file
does not exist or they are different, the mv is executed.

Thanks. The inverse logic had me confused.
It's like 7400's again, for those that remember;-)

I was getting errors from
`cd $git_dir && make -n MSVC=1 V=1 2>MakeDryErrs.txt 1>MakeDry.txt` (borrowed from 'msvc-build') which reported the PM.stamp as a problem, with the quoted code being the last part of the MakeDry.txt (and no PM.stamp seen).

Now that I've been poking and investigating the error's stopped! It's all getting rather frustrating. Time to go again on a clean and rebuild..

Philip
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to