##// END OF EJS Templates
subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)...
subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API) Color extension achieves colorization by overriding the class of "ui" object just before command execution. Before this patch, "diff()" of abstractsubrepo and classes derived from it has no "ui" argument, so "diff()" of hgsubrepo uses "self._repo.ui" to invoke "cmdutil.diffordiffstat()". For separation of configuration between repositories, revision 573bec4ab7ba changed the initialization source of "self._repo.ui" from "ui"(overridden) to "baseui"(plain) of parent repository. And this caused break of colorization. This patch adds "ui" argument to "diff()" of abstractsubrepo and classes derived from it to pass "ui" object of caller side.

File last commit:

r17647:d34ba499 default
r18006:0c10cf81 2.4.1 stable
Show More
test-histedit-fold-non-commute.t
184 lines | 4.6 KiB | text/troff | Tads3Lexer
/ tests / test-histedit-fold-non-commute.t
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 $ . "$TESTDIR/histedit-helpers.sh"
$ cat >> $HGRCPATH <<EOF
> [extensions]
> graphlog=
> histedit=
> EOF
$ initrepo ()
> {
> hg init $1
> cd $1
> for x in a b c d e f ; do
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 > echo $x$x$x$x$x > $x
> hg add $x
> done
> hg ci -m 'Initial commit'
> for x in a b c d e f ; do
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 > echo $x > $x
> hg ci -m $x
> done
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 > echo 'I can haz no commute' > e
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 > hg ci -m 'does not commute with e'
> cd ..
> }
$ initrepo r
$ cd r
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 Initial generation of the command files
$ EDITED="$TESTTMP/editedhistory"
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 3 >> $EDITED
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 4 >> $EDITED
$ hg log --template 'fold {node|short} {rev} {desc}\n' -r 7 >> $EDITED
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 5 >> $EDITED
$ hg log --template 'pick {node|short} {rev} {desc}\n' -r 6 >> $EDITED
$ cat $EDITED
pick 65a9a84f33fd 3 c
pick 00f1c5383965 4 d
fold 39522b764e3d 7 does not commute with e
pick 7b4e2f4b7bcd 5 e
pick 500cac37a696 6 f
Mads Kiilerich
tests: convert histedit tests to .t...
r17085
log before edit
$ hg log --graph
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 @ changeset: 7:39522b764e3d
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 | tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: does not commute with e
|
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 o changeset: 6:500cac37a696
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 | user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: f
|
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 o changeset: 5:7b4e2f4b7bcd
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 | user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: e
|
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 o changeset: 4:00f1c5383965
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 | user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: d
|
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 o changeset: 3:65a9a84f33fd
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 | user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: c
|
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 o changeset: 2:da6535b52e45
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 | user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: b
|
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 o changeset: 1:c1f09da44841
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: a
|
o changeset: 0:1715188a53c7
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 user: test
date: Thu Jan 01 00:00:00 1970 +0000
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 summary: Initial commit
Mads Kiilerich
tests: convert histedit tests to .t...
r17085
edit the history
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 $ HGEDITOR="cat \"$EDITED\" > " hg histedit 3 2>&1 | fixbundle
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 merging e
warning: conflicts during merge.
merging e incomplete! (edit conflicts, then use 'hg resolve --mark')
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 abort: Fix up the change and run hg histedit --continue
fix up
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 $ echo 'I can haz no commute' > e
$ hg resolve --mark e
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 $ cat > cat.py <<EOF
> import sys
> print open(sys.argv[1]).read()
> print
> print
> EOF
$ HGEDITOR="python cat.py" hg histedit --continue 2>&1 | fixbundle | grep -v '2 files removed'
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 d
***
does not commute with e
Patrick Mezard
histedit: end folding message with an LF...
r17241
Pierre-Yves David
histedit: fold in memory...
r17644 HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
HG: user: test
HG: branch 'default'
HG: changed d
HG: changed e
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 merging e
warning: conflicts during merge.
merging e incomplete! (edit conflicts, then use 'hg resolve --mark')
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 abort: Fix up the change and run hg histedit --continue
just continue this time
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 $ hg revert -r 'p1()' e
$ hg resolve --mark e
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 $ hg histedit --continue 2>&1 | fixbundle
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
log after edit
$ hg log --graph
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 @ changeset: 5:2696a654c663
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 | tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: f
|
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 o changeset: 4:ec2c1cf833a8
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 | user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: d
|
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 o changeset: 3:65a9a84f33fd
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 | user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: c
|
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 o changeset: 2:da6535b52e45
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 | user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: b
|
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 o changeset: 1:c1f09da44841
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: a
|
o changeset: 0:1715188a53c7
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 user: test
date: Thu Jan 01 00:00:00 1970 +0000
Pierre-Yves David
histedit-test: ensure that non commute test will never commute...
r17646 summary: Initial commit
Mads Kiilerich
tests: convert histedit tests to .t...
r17085
contents of e
$ hg cat e
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 I can haz no commute
Mads Kiilerich
tests: convert histedit tests to .t...
r17085
manifest
$ hg manifest
a
b
c
d
e
f
$ cd ..