Page MenuHomePhabricator

Survive extra "obsolete:" log output from the Mercurial evolve extension
ClosedPublic

Authored by epriestley on Mar 26 2018, 9:10 PM.
Tags
None
Referenced Files
F14055265: D19262.diff
Sat, Nov 16, 9:59 AM
F14042871: D19262.diff
Tue, Nov 12, 6:44 AM
F14027552: D19262.diff
Fri, Nov 8, 7:53 AM
F13985351: D19262.id.diff
Sun, Oct 20, 7:54 PM
Unknown Object (File)
Oct 9 2024, 9:15 AM
Unknown Object (File)
Sep 12 2024, 6:54 PM
Unknown Object (File)
Sep 12 2024, 6:54 PM
Unknown Object (File)
Sep 12 2024, 6:54 PM

Details

Summary
Test Plan

I spent all of three minutes trying to install the evolve extension without success and gave up, but this probably does the right thing based on the example output in the Bugzilla issue.

Diff Detail

Repository
rARC Arcanist
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Mar 26 2018, 9:10 PM
epriestley requested review of this revision.
This revision was automatically updated to reflect the committed changes.

Per https://bugzilla.mozilla.org/show_bug.cgi?id=1448137#c5, I think the parser should be modified to not barf on unexpected input lines. Otherwise this will continue to break when Mercurial adds new labels to hg log output. Using HGPLAIN does offer you some protection here. But it is no guarantee against future additions.

I think that's generally okay -- time between the report reaching the upstream and a patch being available was about 90 minutes, and new versions of hg don't appear everywhere in the wild at once.

If there's an extra line because, e.g., the working copy is an old working copy with a branch that contains a newline (which I think was possible in era of T5304#62959) it's probably good that we break explicitly rather than continue with mangled information.

If you ever feel like trying to setup evolve again the instructions we use:

  1. Clone the evolve repository https://www.mercurial-scm.org/repo/evolve/ (assume running clone in ~/Projects/)
  2. Update .hg/hgrc or ~/.hgrc to contain
[extensions]
evolve=~/Projects/evolve/hgext3rd/evolve

Ah, thanks! The instructions I hit first were based on pip, which I don't have set up, but the clone + configure approach is better for me anyway.