mach try fuzzy has a weird interaction with more under MozillaBuild on Windows
Categories
(Developer Infrastructure :: Try, defect, P1)
Tracking
(firefox68 fixed)
| Tracking | Status | |
|---|---|---|
| firefox68 | --- | fixed |
People
(Reporter: bugzilla, Assigned: bugzilla)
References
Details
Attachments
(1 file)
STR:
start a MozillaBuild terminal and switch to your local source dir
./mach try fuzzy
select your jobs and press enter
Expected:
We can see something going on and the command eventually returns to the command prompt
Actual:
The terminal goes blank. Running process explorer shows that work is happening (and in fact my job is correctly submitted), but hg.exe has spawned more.com and appears to be blocked on that.
Once it looks like hg has entered a quiescent state, I can kill more.com and then I am finally returned to my command prompt.
Comment 2•7 years ago
|
||
It looks like Mercurial defaults to more on Windows if you don't have a pager configured:
https://www.mercurial-scm.org/repo/hg/file/0f2b8d51bfdf/mercurial/scmwindows.py#l19
https://www.mercurial-scm.org/repo/hg/file/0f2b8d51bfdf/mercurial/rcutil.py#l23
https://www.mercurial-scm.org/repo/hg/file/0f2b8d51bfdf/mercurial/ui.py#l1123
mach try fuzzy is calling check_working_directory:
https://searchfox.org/mozilla-central/rev/c21d6620d384dfb13ede6054015da05a6353b899/tools/tryselect/push.py#75-81
which winds up calling HgRepository.working_directory_clean:
https://searchfox.org/mozilla-central/rev/c21d6620d384dfb13ede6054015da05a6353b899/python/mozversioncontrol/mozversioncontrol/__init__.py#337-347
which effectively runs hg status .... We are setting HGPLAIN=1 in the environment of the hg process, which is supposed to disable paging:
https://searchfox.org/mozilla-central/rev/c21d6620d384dfb13ede6054015da05a6353b899/python/mozversioncontrol/mozversioncontrol/__init__.py#224
Per the Mercurial source:
https://www.mercurial-scm.org/repo/hg/file/0f2b8d51bfdf/mercurial/ui.py#l1114
https://www.mercurial-scm.org/repo/hg/file/0f2b8d51bfdf/mercurial/ui.py#l808
What version of Mercurial are you using? Do you have the pager extension explicitly enabled in your ~/.hgrc or ~/Mercurial.ini?
Updated•7 years ago
|
| Assignee | ||
Comment 3•7 years ago
|
||
(In reply to Ted Mielczarek [:ted] [:ted.mielczarek] from comment #2)
What version of Mercurial are you using?
4.8.2
Do you have the pager extension explicitly enabled in your ~/.hgrc or ~/Mercurial.ini?
Negative.
| Assignee | ||
Comment 4•7 years ago
|
||
I reproduced this again today, and using Process Explorer I examined the environment for hg. HGPLAIN is not present in its environment.
Comment 5•7 years ago
|
||
(In reply to Aaron Klotz [:aklotz] from comment #4)
I reproduced this again today, and using Process Explorer I examined the environment for hg. HGPLAIN is not present in its environment.
Interesting! Did you catch the commandline of the process? Is it running hg status?
| Assignee | ||
Comment 6•7 years ago
|
||
c:\Users\dblohm7\mozilla-build\python\Scripts\hg.exe push-to-try -m "FuzzyPushed via
mach try fuzzy"
| Assignee | ||
Comment 7•6 years ago
|
||
If there are a large number of untracked files in the working directory, hg
will attempt to print them all out with the default pager. This does not
interact very will with commands that are built atop this functionality. We
set HGPLAIN=1 so that the underlying hg will not attempt to use a pager.
| Assignee | ||
Updated•6 years ago
|
Comment 9•6 years ago
|
||
| bugherder | ||
Updated•3 years ago
|
Description
•