annotate tests/test-histedit-merge-tools.t @ 43961:b69d5f3a41d0

rust-index: add a struct wrapping the C index Implementing the full index logic in one go is journey larger than we would like. To achieve a smoother transition, we start with a simple Rust wrapper that delegates allwork to the current C implementation. Once we will have a fully working index object in Rust, we can easily start using more and more Rust Code with it. The object in this patch is functional and tested. However, multiple of the currently existing rust (in the `hg-cpython` crate) requires a `Graph`. Right now we build this `Graph` (as cindex::Index) using the C index passed as a PyObject. They will have to be updated to be made compatible. Differential Revision: https://phab.mercurial-scm.org/D7655
author Georges Racinet <georges.racinet@octobus.net>
date Mon, 23 Dec 2019 10:02:50 -0800
parents 15d2afa31e57
children 5effb1992c17
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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)