Mercurial > hg
annotate tests/test-rebuildstate.t @ 16458:55982f62651f
commit: add option to amend the working dir parent
The --amend flag can be used to amend the parent of the working directory
with a new commit that contains the changes in the parent in addition to
those currently reported by "hg status", if there are any. The old commit
is stored in a backup bundle in ".hg/strip-backup"(see "hg help bundle"
and "hg help unbundle" on how to restore it).
Message, user and date are taken from the amended commit unless specified.
When a message isn't specified on the command line, the editor will open
with the message of the amended commit.
It is not possible to amend public changesets (see "hg help phases") or
changesets that have children.
Behind the scenes, first commit the update (if there is one) as a regular
child of the current parent. Then create a new commit on the parent's
parent with the updated contents. Then change the working copy parent
to this new combined changeset. Finally, strip the amended commit and
update commit created in the beginning.
An alternative (cleaner?) approach of doing this is suggested here:
http://selenic.com/pipermail/mercurial-devel/2012-March/038540.html
It is currently not possible to amend merge commits or recursively,
this can be added at a later time.
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Wed, 18 Apr 2012 01:20:16 +0300 |
parents | 9ab2b3b730ee |
children | f2719b387380 |
rev | line source |
---|---|
12121
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
1 basic test for hg debugrebuildstate |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
2 |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
3 $ hg init repo |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
4 $ cd repo |
5065
b304c2496f52
dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
5 |
12121
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
6 $ touch foo bar |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
7 $ hg ci -Am 'add foo bar' |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
8 adding bar |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
9 adding foo |
5065
b304c2496f52
dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
10 |
12121
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
11 $ touch baz |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
12 $ hg add baz |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
13 $ hg rm bar |
5065
b304c2496f52
dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
14 |
12121
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
15 $ hg debugrebuildstate |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
16 |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
17 state dump after |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
18 |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
19 $ hg debugstate --nodates | sort |
15440
9ab2b3b730ee
windows: use umask 022 in debugstate output
Mads Kiilerich <mads@kiilerich.com>
parents:
12121
diff
changeset
|
20 n 644 -1 bar |
9ab2b3b730ee
windows: use umask 022 in debugstate output
Mads Kiilerich <mads@kiilerich.com>
parents:
12121
diff
changeset
|
21 n 644 -1 foo |
5065
b304c2496f52
dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
22 |
12121
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
23 status |
5065
b304c2496f52
dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
24 |
12121
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
25 $ hg st -A |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
26 ! bar |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
27 ? baz |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
28 C foo |
8f258dd4ed02
tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6344
diff
changeset
|
29 |