[Buildroot] [PATCH 2/2] support/scripts/setlocalversion: ignore user settings for Mercurial
Peter Korsgaard
peter at korsgaard.com
Mon Feb 18 16:13:26 UTC 2019
>>>>> "Thomas" == Thomas De Schampheleire <patrickdepinguin at gmail.com> writes:
> From: Thomas De Schampheleire <thomas.de_schampheleire at nokia.com>
> setlocalversion will use 'hg id' to determine whether or not the current
> revision is tagged. If there is no tag, the Mercurial revision is printed,
> otherwise nothing is printed.
> The problem is that the user may have custom configuration settings (in
> their ~/.hgrc file or similar) that changes the output of 'hg id' in a way
> that the script does not expect. In such cases, the Mercurial revision may
> not be printed or printed incorrectly.
> It is good practice to ignore the user environment when calling Mercurial
> commands from a well-defined script, by setting the environment variable
> HGRCPATH to the empty string. See also 'hg help environment'.
> In the particular case of Nokia, a custom extension adds dynamic tags in the
> repository, i.e. tags that are stored in a file external to the repository
> and only visible when the extension is active. These tags should not
> influence the behavior of setlocalversion as they are not official Buildroot
> tags, i.e. even if a revision is tagged, the Mercurial revision should still
> be printed.
> Note that this still does not solve the problem where an organization adds
> _real_ tags in their Buildroot repository. For example, there might be a
> moving tag 'last-validated' or tags indicating in which product release that
> Buildroot revision was used. In these cases, setlocalversion will still not
> behave as expected, i.e. show the Mercurial revision.
> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire at nokia.com>
Committed to 2018.02.x and 2018.11.x, thanks.
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list