Mercurial > hg-stable
changeset 34076:6fb5a06b92c6
amend: add tests for amending only some files from commit to be amended
We do not have robust enough tests for scenarios where only some files in a
changeset are amended. This presents an interesting scenario because the
working copy could have modified versions of the remaining files in the
pre-amend changeset. Therefore, I have added some tests to ensure that amend
behaves as expected in these scenarios.
Test Plan:
Ensured that the test "test-commit-amend.t" passes.
Differential Revision: https://phab.mercurial-scm.org/D596
author | Saurabh Singh <singhsrb@fb.com> |
---|---|
date | Fri, 01 Sep 2017 12:34:34 -0700 |
parents | 4bf1889456f3 |
children | e267d4ee4f2d |
files | tests/test-commit-amend.t |
diffstat | 1 files changed, 93 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-commit-amend.t Sat Sep 02 21:49:45 2017 +0900 +++ b/tests/test-commit-amend.t Fri Sep 01 12:34:34 2017 -0700 @@ -1174,3 +1174,96 @@ new mode 100755 #endif + +Test amend with file inclusion options +-------------------------------------- + +These tests ensure that we are always amending some files that were part of the +pre-amend commit. We want to test that the remaining files in the pre-amend +commit were not changed in the amended commit. We do so by performing a diff of +the amended commit against its parent commit. + $ cd .. + $ hg init testfileinclusions + $ cd testfileinclusions + $ echo a > a + $ echo b > b + $ hg commit -Aqm "Adding a and b" + +Only add changes to a particular file + $ echo a >> a + $ echo b >> b + $ hg commit --amend -I a + $ hg diff --git -r null -r . + diff --git a/a b/a + new file mode 100644 + --- /dev/null + +++ b/a + @@ -0,0 +1,2 @@ + +a + +a + diff --git a/b b/b + new file mode 100644 + --- /dev/null + +++ b/b + @@ -0,0 +1,1 @@ + +b + + $ echo a >> a + $ hg commit --amend b + $ hg diff --git -r null -r . + diff --git a/a b/a + new file mode 100644 + --- /dev/null + +++ b/a + @@ -0,0 +1,2 @@ + +a + +a + diff --git a/b b/b + new file mode 100644 + --- /dev/null + +++ b/b + @@ -0,0 +1,2 @@ + +b + +b + +Exclude changes to a particular file + $ echo b >> b + $ hg commit --amend -X a + $ hg diff --git -r null -r . + diff --git a/a b/a + new file mode 100644 + --- /dev/null + +++ b/a + @@ -0,0 +1,2 @@ + +a + +a + diff --git a/b b/b + new file mode 100644 + --- /dev/null + +++ b/b + @@ -0,0 +1,3 @@ + +b + +b + +b + +Check the addremove flag + $ echo c > c + $ rm a + $ hg commit --amend -A + removing a + adding c + $ hg diff --git -r null -r . + diff --git a/b b/b + new file mode 100644 + --- /dev/null + +++ b/b + @@ -0,0 +1,3 @@ + +b + +b + +b + diff --git a/c b/c + new file mode 100644 + --- /dev/null + +++ b/c + @@ -0,0 +1,1 @@ + +c