test-histedit-commute.t
382 lines
| 10.4 KiB
| text/troff
|
Tads3Lexer
/ tests / test-histedit-commute.t
Mads Kiilerich
|
r17085 | $ . "$TESTDIR/histedit-helpers.sh" | ||
$ cat >> $HGRCPATH <<EOF | ||||
> [extensions] | ||||
> histedit= | ||||
> EOF | ||||
$ initrepo () | ||||
> { | ||||
> hg init r | ||||
> cd r | ||||
> for x in a b c d e f ; do | ||||
> echo $x > $x | ||||
> hg add $x | ||||
> hg ci -m $x | ||||
> done | ||||
> } | ||||
$ initrepo | ||||
log before edit | ||||
$ hg log --graph | ||||
@ changeset: 5:652413bf663e | ||||
| tag: tip | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
o changeset: 4:e860deea161a | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
o changeset: 3:055a42cdd887 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
o changeset: 2:177f92b77385 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
o changeset: 1:d2ae7f538514 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
o changeset: 0:cb9a9f314b8b | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: a | ||||
show the edit commands offered | ||||
$ HGEDITOR=cat hg histedit 177f92b77385 | ||||
pick 177f92b77385 2 c | ||||
pick 055a42cdd887 3 d | ||||
pick e860deea161a 4 e | ||||
pick 652413bf663e 5 f | ||||
# Edit history between 177f92b77385 and 652413bf663e | ||||
# | ||||
Adrian Zgorzałek
|
r20503 | # Commits are listed from least to most recent | ||
# | ||||
Mads Kiilerich
|
r17085 | # Commands: | ||
# p, pick = use commit | ||||
# e, edit = use commit, but stop for amending | ||||
Matt Mackall
|
r20511 | # f, fold = use commit, but combine it with the one above | ||
Mads Kiilerich
|
r17085 | # d, drop = remove commit from history | ||
# m, mess = edit message without changing commit content | ||||
# | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
edit the history | ||||
Pierre-Yves David
|
r19019 | (use a hacky editor to check histedit-last-edit.txt backup) | ||
$ EDITED="$TESTTMP/editedhistory" | ||||
$ cat > $EDITED <<EOF | ||||
> pick 177f92b77385 c | ||||
> pick e860deea161a e | ||||
> pick 652413bf663e f | ||||
> pick 055a42cdd887 d | ||||
> EOF | ||||
Mads Kiilerich
|
r17086 | $ HGEDITOR="cat \"$EDITED\" > " hg histedit 177f92b77385 2>&1 | fixbundle | ||
Mads Kiilerich
|
r17085 | 0 files updated, 0 files merged, 3 files removed, 0 files unresolved | ||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
rules should end up in .hg/histedit-last-edit.txt: | ||||
$ cat .hg/histedit-last-edit.txt | ||||
pick 177f92b77385 c | ||||
pick e860deea161a e | ||||
pick 652413bf663e f | ||||
pick 055a42cdd887 d | ||||
log after edit | ||||
$ hg log --graph | ||||
Pierre-Yves David
|
r18437 | @ changeset: 5:07114f51870f | ||
Mads Kiilerich
|
r17085 | | tag: tip | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 4:8ade9693061e | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 3:d8249471110a | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
o changeset: 2:177f92b77385 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
o changeset: 1:d2ae7f538514 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
o changeset: 0:cb9a9f314b8b | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: a | ||||
put things back | ||||
Pierre-Yves David
|
r19019 | $ hg histedit 177f92b77385 --commands - 2>&1 << EOF | fixbundle | ||
Mads Kiilerich
|
r17085 | > pick 177f92b77385 c | ||
Pierre-Yves David
|
r18437 | > pick 07114f51870f d | ||
> pick d8249471110a e | ||||
> pick 8ade9693061e f | ||||
Mads Kiilerich
|
r17085 | > EOF | ||
0 files updated, 0 files merged, 3 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg log --graph | ||||
Pierre-Yves David
|
r18437 | @ changeset: 5:7eca9b5b1148 | ||
Mads Kiilerich
|
r17085 | | tag: tip | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 4:915da888f2de | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 3:10517e47bbbb | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
o changeset: 2:177f92b77385 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
o changeset: 1:d2ae7f538514 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
o changeset: 0:cb9a9f314b8b | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: a | ||||
slightly different this time | ||||
Pierre-Yves David
|
r19019 | $ hg histedit 177f92b77385 --commands - << EOF 2>&1 | fixbundle | ||
Pierre-Yves David
|
r18437 | > pick 10517e47bbbb d | ||
> pick 7eca9b5b1148 f | ||||
> pick 915da888f2de e | ||||
Mads Kiilerich
|
r17085 | > pick 177f92b77385 c | ||
> EOF | ||||
0 files updated, 0 files merged, 4 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg log --graph | ||||
Pierre-Yves David
|
r18437 | @ changeset: 5:38b92f448761 | ||
Mads Kiilerich
|
r17085 | | tag: tip | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 4:de71b079d9ce | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 3:be9ae3a309c6 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 2:799205341b6b | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
o changeset: 1:d2ae7f538514 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
o changeset: 0:cb9a9f314b8b | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: a | ||||
keep prevents stripping dead revs | ||||
Pierre-Yves David
|
r19019 | $ hg histedit 799205341b6b --keep --commands - 2>&1 << EOF | fixbundle | ||
Pierre-Yves David
|
r18437 | > pick 799205341b6b d | ||
> pick be9ae3a309c6 f | ||||
> pick 38b92f448761 c | ||||
> pick de71b079d9ce e | ||||
Mads Kiilerich
|
r17085 | > EOF | ||
0 files updated, 0 files merged, 2 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg log --graph | ||||
Pierre-Yves David
|
r18437 | @ changeset: 7:803ef1c6fcfd | ||
Mads Kiilerich
|
r17085 | | tag: tip | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 6:ece0b8d93dda | ||
| parent: 3:be9ae3a309c6 | ||||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
Pierre-Yves David
|
r18437 | | o changeset: 5:38b92f448761 | ||
Mads Kiilerich
|
r17085 | | | user: test | ||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: c | ||||
| | | ||||
Pierre-Yves David
|
r18437 | | o changeset: 4:de71b079d9ce | ||
Mads Kiilerich
|
r17085 | |/ user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 3:be9ae3a309c6 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 2:799205341b6b | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
o changeset: 1:d2ae7f538514 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
o changeset: 0:cb9a9f314b8b | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: a | ||||
try with --rev | ||||
Pierre-Yves David
|
r19019 | $ hg histedit --commands - --rev -2 2>&1 <<EOF | fixbundle | ||
> pick de71b079d9ce e | ||||
> pick 38b92f448761 c | ||||
> EOF | ||||
Mads Kiilerich
|
r17085 | abort: may not use changesets other than the ones listed | ||
$ hg log --graph | ||||
Pierre-Yves David
|
r18437 | @ changeset: 7:803ef1c6fcfd | ||
Mads Kiilerich
|
r17085 | | tag: tip | ||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 6:ece0b8d93dda | ||
| parent: 3:be9ae3a309c6 | ||||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c | ||||
| | ||||
Pierre-Yves David
|
r18437 | | o changeset: 5:38b92f448761 | ||
Mads Kiilerich
|
r17085 | | | user: test | ||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: c | ||||
| | | ||||
Pierre-Yves David
|
r18437 | | o changeset: 4:de71b079d9ce | ||
Mads Kiilerich
|
r17085 | |/ user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: e | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 3:be9ae3a309c6 | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: f | ||||
| | ||||
Pierre-Yves David
|
r18437 | o changeset: 2:799205341b6b | ||
Mads Kiilerich
|
r17085 | | user: test | ||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: d | ||||
| | ||||
o changeset: 1:d2ae7f538514 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: b | ||||
| | ||||
o changeset: 0:cb9a9f314b8b | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: a | ||||
Augie Fackler
|
r21950 | Verify that revsetalias entries work with histedit: | ||
$ cat >> $HGRCPATH <<EOF | ||||
> [revsetalias] | ||||
> grandparent(ARG) = p1(p1(ARG)) | ||||
> EOF | ||||
$ echo extra commit >> c | ||||
$ hg ci -m 'extra commit to c' | ||||
$ HGEDITOR=cat hg histedit 'grandparent(.)' | ||||
pick ece0b8d93dda 6 c | ||||
pick 803ef1c6fcfd 7 e | ||||
pick 9c863c565126 8 extra commit to c | ||||
# Edit history between ece0b8d93dda and 9c863c565126 | ||||
# | ||||
# Commits are listed from least to most recent | ||||
# | ||||
# Commands: | ||||
# p, pick = use commit | ||||
# e, edit = use commit, but stop for amending | ||||
# f, fold = use commit, but combine it with the one above | ||||
# d, drop = remove commit from history | ||||
# m, mess = edit message without changing commit content | ||||
# | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Mads Kiilerich
|
r17085 | |||
should also work if a commit message is missing | ||||
$ BUNDLE="$TESTDIR/missing-comment.hg" | ||||
$ hg init missing | ||||
$ cd missing | ||||
$ hg unbundle $BUNDLE | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 3 changesets with 3 changes to 1 files | ||||
(run 'hg update' to get a working copy) | ||||
$ hg co tip | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg log --graph | ||||
@ changeset: 2:bd22688093b3 | ||||
| tag: tip | ||||
| user: Robert Altman <robert.altman@telventDTN.com> | ||||
| date: Mon Nov 28 16:40:04 2011 +0000 | ||||
| summary: Update file. | ||||
| | ||||
o changeset: 1:3b3e956f9171 | ||||
| user: Robert Altman <robert.altman@telventDTN.com> | ||||
| date: Mon Nov 28 16:37:57 2011 +0000 | ||||
| | ||||
o changeset: 0:141947992243 | ||||
user: Robert Altman <robert.altman@telventDTN.com> | ||||
date: Mon Nov 28 16:35:28 2011 +0000 | ||||
summary: Checked in text file | ||||
$ hg histedit 0 | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cd .. | ||||