File: test-histedit-merge-tools.t

package info (click to toggle)
mercurial 5.6.1-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 38,792 kB
  • sloc: python: 196,559; ansic: 45,504; tcl: 3,715; lisp: 1,483; sh: 1,475; cpp: 864; javascript: 649; makefile: 581; xml: 36; sql: 30
file content (57 lines) | stat: -rw-r--r-- 1,481 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Test histedit extension: Merge tools
====================================

Initialization
---------------

  $ . "$TESTDIR/histedit-helpers.sh"

  $ cat >> $HGRCPATH <<EOF
  > [alias]
  > logt = log --template '{rev}:{node|short} {desc|firstline}\n'
  > [extensions]
  > histedit=
  > mockmakedate = $TESTDIR/mockmakedate.py
  > [ui]
  > pre-merge-tool-output-template='pre-merge message for {node}\n'
  > EOF

Merge conflict
--------------

  $ hg init r
  $ cd r
  $ echo foo > file
  $ hg add file
  $ hg ci -m "First" -d "1 0"
  $ echo bar > file
  $ hg ci -m "Second" -d "2 0"

  $ hg logt --graph
  @  1:2aa920f62fb9 Second
  |
  o  0:7181f42b8fca First
  

Invert the order of the commits, but fail the merge.
  $ hg histedit --config ui.merge=false --commands - 2>&1 <<EOF | fixbundle
  > pick 2aa920f62fb9 Second
  > pick 7181f42b8fca First
  > EOF
  merging file
  pre-merge message for b90fa2e91a6d11013945a5f684be45b84a8ca6ec
  merging file failed!
  Fix up the change (pick 7181f42b8fca)
  (hg histedit --continue to resume)

  $ hg histedit --abort | fixbundle
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved

Invert the order of the commits, and pretend the merge succeeded.
  $ hg histedit --config ui.merge=true --commands - 2>&1 <<EOF | fixbundle
  > pick 2aa920f62fb9 Second
  > pick 7181f42b8fca First
  > EOF
  merging file
  pre-merge message for b90fa2e91a6d11013945a5f684be45b84a8ca6ec
  7181f42b8fca: skipping changeset (no changes)