annotate tests/test-push-validation.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 9910f60a37ee
children f2719b387380
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
1 $ hg init test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
2 $ cd test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
3
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
4 $ cat > .hg/hgrc <<EOF
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
5 > [server]
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
6 > validate=1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
7 > EOF
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
8
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
9 $ echo alpha > alpha
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
10 $ echo beta > beta
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
11 $ hg addr
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
12 adding alpha
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
13 adding beta
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
14 $ hg ci -m 1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
15
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
16 $ cd ..
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
17 $ hg clone test test-clone
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
18 updating to branch default
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
19 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
20
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
21 $ cd test-clone
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
22 $ cp .hg/store/data/beta.i tmp
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
23 $ echo blah >> beta
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
24 $ hg ci -m '2 (corrupt)'
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
25 $ mv tmp .hg/store/data/beta.i
10418
5fc090ba08a6 localrepo: add optional validation (defaults to off) for incoming changes
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
26
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
27 Expected to fail:
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
28
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
29 $ hg verify
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
30 checking changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
31 checking manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
32 crosschecking files in changesets and manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
33 checking files
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
34 beta@1: dddc47b3ba30 in manifests not found
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
35 2 files, 2 changesets, 2 total revisions
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
36 1 integrity errors encountered!
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
37 (first damaged changeset appears to be 1)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12279
diff changeset
38 [1]
10418
5fc090ba08a6 localrepo: add optional validation (defaults to off) for incoming changes
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
39
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
40 Expected to fail:
10418
5fc090ba08a6 localrepo: add optional validation (defaults to off) for incoming changes
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
41
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
42 $ hg push
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
43 pushing to $TESTTMP/test (glob)
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
44 searching for changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
45 adding changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
46 adding manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
47 adding file changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
48 transaction abort!
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
49 rollback completed
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
50 abort: missing file data for beta:dddc47b3ba30e54484720ce0f4f768a0f4b6efb9 - run hg verify
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12279
diff changeset
51 [255]
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10469
diff changeset
52