--- a/tests/test-split.t Wed Feb 21 12:39:17 2018 +0100
+++ b/tests/test-split.t Wed Feb 21 14:39:48 2018 +0100
@@ -642,7 +642,6 @@
summary: split10
-
Check prompt options
--------------------
@@ -765,3 +764,136 @@
? SPLIT4
? editor.sh
? num
+
+Test restricting the split to a subset of files
+-----------------------------------------------
+
+ $ hg add SPLIT3 SPLIT4
+ $ hg amend
+
+Only run on 2 files
+
+(remaining changes gathered with unmatched one)
+
+ $ hg split SPLIT2 SPLIT3 << EOF
+ > y
+ > n
+ > c
+ > EOF
+ 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
+ adding SPLIT2
+ adding SPLIT3
+ adding SPLIT4
+ diff --git a/SPLIT2 b/SPLIT2
+ new file mode 100644
+ examine changes to 'SPLIT2'? [Ynesfdaq?] y
+
+ diff --git a/SPLIT3 b/SPLIT3
+ new file mode 100644
+ examine changes to 'SPLIT3'? [Ynesfdaq?] n
+
+ continue splitting? [Ycdq?] c
+ $ hg status --change '.~1'
+ A SPLIT2
+ $ hg status --change '.'
+ A SPLIT3
+ A SPLIT4
+ $ hg fold --from '.~1'
+ 2 changesets folded
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+(no remaining changes)
+
+ $ hg split SPLIT2 SPLIT3 << EOF
+ > y
+ > n
+ > y
+ > y
+ > EOF
+ 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
+ adding SPLIT2
+ adding SPLIT3
+ adding SPLIT4
+ diff --git a/SPLIT2 b/SPLIT2
+ new file mode 100644
+ examine changes to 'SPLIT2'? [Ynesfdaq?] y
+
+ diff --git a/SPLIT3 b/SPLIT3
+ new file mode 100644
+ examine changes to 'SPLIT3'? [Ynesfdaq?] n
+
+ continue splitting? [Ycdq?] y
+ diff --git a/SPLIT3 b/SPLIT3
+ new file mode 100644
+ examine changes to 'SPLIT3'? [Ynesfdaq?] y
+
+ no more change to split
+ $ hg status --change '.~2'
+ A SPLIT2
+ $ hg status --change '.~1'
+ A SPLIT3
+ $ hg status --change '.'
+ A SPLIT4
+ $ hg fold --from '.~2'
+ 3 changesets folded
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+(only all matched selected)
+
+ $ hg split SPLIT2 SPLIT3 << EOF
+ > y
+ > y
+ > EOF
+ 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
+ adding SPLIT2
+ adding SPLIT3
+ adding SPLIT4
+ diff --git a/SPLIT2 b/SPLIT2
+ new file mode 100644
+ examine changes to 'SPLIT2'? [Ynesfdaq?] y
+
+ diff --git a/SPLIT3 b/SPLIT3
+ new file mode 100644
+ examine changes to 'SPLIT3'? [Ynesfdaq?] y
+
+ no more change to split
+ $ hg status --change '.~1'
+ A SPLIT2
+ A SPLIT3
+ $ hg status --change '.'
+ A SPLIT4
+ $ hg fold --from '.~1'
+ 2 changesets folded
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+Check that discard does not alter unmatched files
+
+ $ hg split SPLIT2 SPLIT3 << EOF
+ > y
+ > n
+ > d
+ > EOF
+ 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
+ adding SPLIT2
+ adding SPLIT3
+ adding SPLIT4
+ diff --git a/SPLIT2 b/SPLIT2
+ new file mode 100644
+ examine changes to 'SPLIT2'? [Ynesfdaq?] y
+
+ diff --git a/SPLIT3 b/SPLIT3
+ new file mode 100644
+ examine changes to 'SPLIT3'? [Ynesfdaq?] n
+
+ continue splitting? [Ycdq?] d
+ discarding remaining changes
+ no more change to split
+ $ hg status --change '.~1'
+ A SPLIT2
+ $ hg status --change '.'
+ A SPLIT4
+ $ hg fold --from '.~1'
+ 2 changesets folded
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ hg add SPLIT3
+ $ hg amend