Commit Graph

4 Commits

Author SHA1 Message Date
Martijn Pieters
ec719be728 logtoprocess: make certain the fork exits
Summary:
Even if there is an exception in the subprocess call, make sure the fork
doesn't propagate that exception back up to mercurial.

Test Plan: Run $HG/tests/run-tests.py test-logtoprocess.t -i

Reviewers: quark, #sourcecontrol, ttung, durham

Reviewed By: ttung, durham

Subscribers: mjpieters

Differential Revision: https://phabricator.fb.com/D3139242

Signature: t1:3139242:1459880540:02ca2d80425d8d948059513990f8f2966ff74c6a
2016-04-08 12:40:32 +01:00
Jun Wu
af343f89df fix code that didn't pass test-check-code-hg.t
Summary:
Fix errors reported by test-check-code-hg.t

```
+  logtoprocess.py:45:
+   >         # https://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=vs.85).aspx
+   line too long
   Skipping statprof.py it has no-che?k-code (glob)
+  tests/test-logtoprocess.t:38:
+   > Use head to ensure we wait for all lines to be produced, and sort to avoid
+   trailing whitespace on non-output
+  tests/test-tweakdefaults-blame.t:41:
+   >   $ hg blame -p a
+   trailing whitespace on non-output
+  [1]
```

Test Plan: Run `test-check-code-hg.t` and make sure it pass

Reviewers: #sourcecontrol, rmcelroy, ttung

Reviewed By: rmcelroy

Subscribers: rmcelroy, mjpieters

Differential Revision: https://phabricator.fb.com/D3153195

Tasks: 10749152

Signature: t1:3153195:1460068592:eae6aa682c1f935f7812b72534dd761d898b62a7
2016-04-07 15:52:47 -07:00
Martijn Pieters
affec78d17 logtoprocess: execute processes asynchronously
Summary:
Create a Popen() object, and each time ui.log() is called poll these to clear
out any that are done. When dispatch ends, kill any that remain.

Test Plan: Run $HG/tests/run-tests.py test-logtoprocess.t

Reviewers: durham, #sourcecontrol, ttung, quark

Reviewed By: quark

Subscribers: ikostia, simonfar, mjpieters

Differential Revision: https://phabricator.fb.com/D3091363

Signature: t1:3091363:1459781710:4f04e37db3fb1f81abadfe168c5dbc00c376cda7
2016-04-04 15:56:15 +01:00
Martijn Pieters
ba36592fba New extension: handle any ui.log event in an external process.
Summary: This would allow us to trace various events in Mercurial via external commands.

Test Plan: run $HG/tests/runtest.py test-logtoprocess.t

Reviewers: #sourcecontrol, ttung, durham

Reviewed By: durham

Subscribers: quark, mjpieters

Differential Revision: https://phabricator.fb.com/D3082490

Signature: t1:3082490:1458686100:c727b033d97d0b15b294f8b2826cf20614caf269
2016-03-22 17:27:08 -07:00