[PATCH] tests: enable obsolete markers when invoking system hg to avoid warnings
Matt Harbison
mharbison72 at gmail.com
Thu Jun 29 22:54:43 EDT 2017
On Thu, 29 Jun 2017 15:58:50 -0400, Adam Simpkins <simpkins at fb.com> wrote:
> On Jun 29, Matt Harbison wrote:
>> # HG changeset patch
>> # User Matt Harbison <matt_harbison at yahoo.com>
>> # Date 1498708353 14400
>> # Wed Jun 28 23:52:33 2017 -0400
>> # Node ID fea411e4e1f3c098dc8928e08bc2ce57091ffb05
>> # Parent b9ea297237606ab49ea81aa80b44ede8f49ecc5b
>> tests: enable obsolete markers when invoking system hg to avoid warnings
>>
>> A couple of tests started spitting out 'obsolete feature not
>> enabled...' after
>> 6c113a7dec52. I only noticed because I have evolve enabled globally-
>> enabling
>> it in the local repo also avoids the warning.
>>
>> diff --git a/tests/helpers-testrepo.sh b/tests/helpers-testrepo.sh
>> --- a/tests/helpers-testrepo.sh
>> +++ b/tests/helpers-testrepo.sh
>> @@ -11,7 +11,7 @@
>> syshg () {
>> (
>> syshgenv
>> - exec hg "$@"
>> + hg "$@" --config experimental.evolution=createmarkers
>> )
>> }
>
> I think there's something else going wrong here that I don't
> understand yet. This doesn't seem like the right fix to me, and I'd
> like to help track down what's actually going wrong.
>
> The goal of syshg is to run "hg" with the exact same settings used
> when you manually run "hg" by hand from your shell. We shouldn't need
> to pass in "--config experimental.evolution=createmarkers" unless you
> always manually pass in that flag when interacting with your
> repository.
I don't. I've got 'evolve=' in my %USERPROFILE%/mercurial.ini.
> It seems like for some reason syshgenv isn't completely restoring the
> configuration as desired.
>
> Can you try running "hg config --debug | grep createmarkers" from your
> shell and report the output, to try and help identify where this
> setting normally comes from for you?
>
It reports nothing. The breakage actually bisected to:
changeset: 36927:acfce52518c4
user: Jun Wu <quark at fb.com>
date: Wed Jun 28 13:45:51 2017 -0700
summary: tests: do not use system hg if it does not have "files"
command
but prior to that, I got:
--- c:/Users/Matt/projects/hg/tests/test-check-commit.t
+++ c:/Users/Matt/projects/hg/tests/test-check-commit.t.err
@@ -17,5 +17,6 @@
> echo
> fi
> done
+ c:\Users\Matt\projects\hg\tests/helpers-testrepo.sh: line 14: exec: hg:
not found
This is the last commit that runs clean, and the next dropped the custom
HGRCPATH that enabled markers.
changeset: 36922:fa9a90d5ad89
user: Adam Simpkins <simpkins at fb.com>
date: Tue Jun 27 17:24:31 2017 -0700
summary: tests: save the original PATH and PYTHONPATH variables
Here's the output from within the test itself:
$ syshg showconfig --debug
+ read config from:
C:\Users\Matt\AppData\Local\Temp\hgtests.vx_csu\child1\.hgrc
+ repo: bundle.mainreporoot=c:\Users\Matt\projects\hg
+ C:\Users\Matt\AppData\Local\Temp\hgtests.vx_csu\child1\.hgrc:8:
devel.all-warnings=true
+ C:\Users\Matt\AppData\Local\Temp\hgtests.vx_csu\child1\.hgrc:9:
devel.default-date=0 0
+ C:\Users\Matt\AppData\Local\Temp\hgtests.vx_csu\child1\.hgrc:11:
largefiles.usercache=$TESTTMP\.cache/largefiles
+ c:\Users\Matt\projects\hg\.hg\hgrc:2:
paths.default=https://www.mercurial-scm.org/repo/hg
+ c:\Users\Matt\projects\hg\.hg\hgrc:3:
paths.committed=https://www.mercurial-scm.org/repo/hg-committed
+ c:\Users\Matt\projects\hg\.hg\hgrc:4: paths.old=https://selenic.com/hg
+ c:\Users\Matt\projects\hg\.hg\hgrc:5:
paths.crew=http://hg.intevation.org/mercurial/crew
+ c:\Users\Matt\projects\hg\.hg\hgrc:6:
paths.clowncopter=http://hg.netv6.net/clowncopter/
+ C:\Users\Matt\AppData\Local\Temp\hgtests.vx_csu\child1\.hgrc:2:
ui.slash=True
+ C:\Users\Matt\AppData\Local\Temp\hgtests.vx_csu\child1\.hgrc:3:
ui.interactive=False
+ C:\Users\Matt\AppData\Local\Temp\hgtests.vx_csu\child1\.hgrc:4:
ui.mergemarkers=detailed
+ C:\Users\Matt\AppData\Local\Temp\hgtests.vx_csu\child1\.hgrc:5:
ui.promptecho=True
+ c:\Users\Matt\projects\hg\.hg\hgrc:9: ui.username=Matt Harbison
<matt_harbison at yahoo.com>
+ c:\Users\Matt\projects\hg\.hg\hgrc:10: ui.ignore=localignore.txt
+ --verbose: ui.verbose=False
+ --debug: ui.debug=True
+ --quiet: ui.quiet=False
+ C:\Users\Matt\AppData\Local\Temp\hgtests.vx_csu\child1\.hgrc:13:
web.address=localhost
+ C:\Users\Matt\AppData\Local\Temp\hgtests.vx_csu\child1\.hgrc:14:
web.ipv6=False
So both c:\Program Files\Mercurial\hgrc.d and the user level *.ini are
missing.
More information about the Mercurial-devel
mailing list