tests/test-histedit-merge-tools.t
author Raphaël Gomès <rgomes@octobus.net>
Tue, 02 Jul 2019 17:15:03 +0200
changeset 42609 326fdce22fb2
parent 42052 15d2afa31e57
child 45768 5effb1992c17
permissions -rw-r--r--
rust: switch hg-core and hg-cpython to rust 2018 edition Many interesting changes have happened in Rust since the Oxidation Plan was introduced, like the 2018 edition and procedural macros: - Opting in to the 2018 edition is a clear benefit in terms of future proofing, new (nice to have) syntactical sugar notwithstanding. It also has a new non-lexical, non-AST based borrow checker that has fewer bugs(!) and allows us to write correct code that in some cases would have been rejected by the old one. - Procedural macros allow us to use the PyO3 crate which maintainers have expressed the clear goal of compiling on stable, which would help in code maintainability compared to rust-cpython. In this patch are the following changes: - Removing most `extern crate` uses - Updating `use` clauses (`crate` keyword, nested `use`) - Removing `mod.rs` in favor of an aptly named module file Like discussed in the mailing list ( https://www.mercurial-scm.org/pipermail/mercurial-devel/2019-July/132316.html ), until Rust integration in Mercurial is considered to be out of the experimental phase, the maximum version of Rust allowed is whatever the latest version Debian packages. Differential Revision: https://phab.mercurial-scm.org/D6597
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42052
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
     1
Test histedit extension: Merge tools
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
     2
====================================
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
     3
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
     4
Initialization
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
     5
---------------
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
     6
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
     7
  $ . "$TESTDIR/histedit-helpers.sh"
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
     8
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
     9
  $ cat >> $HGRCPATH <<EOF
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    10
  > [alias]
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    11
  > logt = log --template '{rev}:{node|short} {desc|firstline}\n'
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    12
  > [extensions]
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    13
  > histedit=
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    14
  > mockmakedate = $TESTDIR/mockmakedate.py
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    15
  > [ui]
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    16
  > pre-merge-tool-output-template='pre-merge message for {node}\n'
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    17
  > EOF
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    18
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    19
Merge conflict
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    20
--------------
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    21
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    22
  $ hg init r
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    23
  $ cd r
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    24
  $ echo foo > file
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    25
  $ hg add file
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    26
  $ hg ci -m "First" -d "1 0"
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    27
  $ echo bar > file
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    28
  $ hg ci -m "Second" -d "2 0"
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    29
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    30
  $ hg logt --graph
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    31
  @  1:2aa920f62fb9 Second
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    32
  |
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    33
  o  0:7181f42b8fca First
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    34
  
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    35
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    36
Invert the order of the commits, but fail the merge.
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    37
  $ hg histedit --config ui.merge=false --commands - 2>&1 <<EOF | fixbundle
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    38
  > pick 2aa920f62fb9 Second
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    39
  > pick 7181f42b8fca First
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    40
  > EOF
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    41
  merging file
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    42
  pre-merge message for b90fa2e91a6d11013945a5f684be45b84a8ca6ec
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    43
  merging file failed!
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    44
  Fix up the change (pick 7181f42b8fca)
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    45
  (hg histedit --continue to resume)
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    46
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    47
  $ hg histedit --abort | fixbundle
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    48
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    49
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    50
Invert the order of the commits, and pretend the merge succeeded.
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    51
  $ hg histedit --config ui.merge=true --commands - 2>&1 <<EOF | fixbundle
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    52
  > pick 2aa920f62fb9 Second
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    53
  > pick 7181f42b8fca First
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    54
  > EOF
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    55
  merging file
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    56
  pre-merge message for b90fa2e91a6d11013945a5f684be45b84a8ca6ec
15d2afa31e57 histedit: narrow the scope of discarded ui output
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff changeset
    57
  7181f42b8fca: skipping changeset (no changes)