Commit Graph

10 Commits

Author SHA1 Message Date
Phil Cohen
3e592b81ae filemerge: add number of textual conflicts in each file to error message
Summary:
When you get an error, let's print the number of conflicts in each file. This will give the user some sense of how much work they have to do.

The code change is entirely in `filemerge.py`, and `tests/test-merge-conflict-count.t` adds a new test.

Reviewed By: quark-zju

Differential Revision: D9815243

fbshipit-source-id: 1b73a1db293902ac7242997a7d6ae09478344068
2018-10-22 12:47:41 -07:00
Phil Cohen
917604f2f5 tests: fold tglog into tinit; standardize
Summary:
Like D9323267, hg tests commonly reinvent common aliases to render the DAG, and they often differ very slightly. This makes adding a test require more boilerplate, and reading a test in a foreign new area slightly more overhead.

Let's standardize these to reduce the copypasta.

It's necessary to define this as a shell function instead of an hgrc alias to prevent tests that list aliases from printing it. Plus that enforces a nice separation of test/stdlib logic.

Bookmarks and branches are easy enough to add since they're empty if not used. A good number added `{phase}` -- I renamed this to `tglogp`.

Reviewed By: quark-zju

Differential Revision: D9347072

fbshipit-source-id: 6aac7de3e65d2295a7ebecd2ab30901709af3ff1
2018-08-16 10:53:43 -07:00
Jun Wu
5346a46bb5 rebase: on abort, don't strip commits that didn't need rebased (issue5822)
Summary:
Backports:

```
  # HG changeset patch
  # User Martin von Zweigbergk <martinvonz@google.com>
  # Date 1521175251 25200
  #      Thu Mar 15 21:40:51 2018 -0700
  # Branch stable
  # Node ID a046d6890761b6a99475f0e5bf9cce74715897ec
  # Parent  b9a6ee2066f9636265d812a3a8b82b02bc3223aa
  rebase: avoid defining two lists with the same contents

  In abort(), there's "dstates" and "rebased" that are identical, which
  they seem to have been since 0806823370d8 (rebase: properly calculate
  descendant set when aborting (issue3332), 2012-03-22). Let's
  de-duplicate. I don't know what "dstates" means, but "rebased" makes
  sense (it's the list of rebased revisions), so let's pick that.

  Differential Revision: https://phab.mercurial-scm.org/D2878

  # HG changeset patch
  # User Martin von Zweigbergk <martinvonz@google.com>
  # Date 1521178507 25200
  #      Thu Mar 15 22:35:07 2018 -0700
  # Branch stable
  # Node ID 177f3b90335fc49c23a8880de57dc865f0832849
  # Parent  a046d6890761b6a99475f0e5bf9cce74715897ec
  rebase: on abort, don't strip commits that didn't need rebased (issue5822)

  I clearly missed adding this condition in 78496ac30025 (rebase: allow
  rebase even if some revisions need no rebase (BC) (issue5422),
  2017-05-11). Perhaps I should have opted for the "revdone" solution I
  mentioned there...

  Differential Revision: https://phab.mercurial-scm.org/D2879
```

Differential Revision: D7517675

fbshipit-source-id: c08206700f2a26a36785adf9df93176449a58376
2018-04-13 21:51:51 -07:00
Jun Wu
96a9afa2a5 drawdag: inline drawdag
Summary:
Since we have `debugbuilddag` as a builtin command, and `drawdag` is
pretty useful for writing clean test cases. Let's inline it. This would
simplify many tests since `drawdag=..." is no longer needed.

Reviewed By: DurhamG

Differential Revision: D6827925

fbshipit-source-id: b749f57fd5c55b2cb000dd2da2c2f9bc2386a519
2018-04-13 21:50:59 -07:00
Phil Cohen
86be3bceed tests: add commit hashes to log commands in rebase tests
Commit hashes are a useful way to ensure the content of commits made in the
tests are not changing, even if we don't query every aspect of every commit.
(And some properties, like extras, are rarely printed at all.)

Many of the rebase log -G calls didn't show hashes; by adding hashes to places
that weren't showing them we can help protect those tests from unwanted
changes.

Differential Revision: https://phab.mercurial-scm.org/D1650
2017-12-10 21:57:37 -08:00
Boris Feld
50cd57c3da config: use 'experimental.evolution.allowunstable'
Extract 'experimental.evolution' = allowunstable as
'experimental.evolution.allowunstable'.

We keep the new option in the 'experimental.evolution' namespace in order to
stay coherent with other options ('experimental.evolution.bundle-obsmarker'
and 'experimental.evolution.track-operation') ease the renaming as possibly
'evolution.allowunstable'.

Differential Revision: https://phab.mercurial-scm.org/D1150
2017-09-28 18:56:40 +01:00
Boris Feld
a95ef2baa9 config: use 'experimental.evolution.create-markers'
Extract 'experimental.evolution' = createmarkers as
'experimental.evolution.createmarkers'.

We keep the new option in the 'experimental.evolution' namespace in order to
stay coherent with other options ('experimental.evolution.bundle-obsmarker'
and 'experimental.evolution.track-operation') ease the renaming as possibly
'evolution.createmarkers'.

Differential Revision: https://phab.mercurial-scm.org/D1149
2017-09-28 18:19:06 +01:00
Jun Wu
075caa84b6 rebase: remove messages for nullmerge and revignored (BC)
These states will be removed to make the code cleaner and more robust.
Remove their messages first to make review easier.

Differential Revision: https://phab.mercurial-scm.org/D25
2017-07-08 20:38:34 -07:00
Boris Feld
c886c86073 test: update evolution config
evolution* config has been rewritten in stabilization* in the previous patch,
update tests file to use the new names.

Differential Revision: https://phab.mercurial-scm.org/D249
2017-08-04 18:41:16 +02:00
Martin von Zweigbergk
ecac8d45a0 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
This allows you to do e.g. "hg rebase -d @ -r 'draft()'" even if some
drafts are already based off of @. You'd still need to exclude
obsolete and troubled revisions, though. We will deal with those cases
later.

Implemented by treating state[rev]==rev as "no need to rebase". I
considered adding another fake revision number like revdone=-6. That
would make the code clearer in a few places, but would add extra code
in other places.

I moved the existing test out of test-rebase-base.t and into a new
file and added more tests there, since not all are using --base.
2017-05-11 11:37:18 -07:00