##// END OF EJS Templates
phabricator: make user searches case-insensitive...
phabricator: make user searches case-insensitive User names in conduit are case insensitive, but when looking for "FOO" it would return "foo" instead and we'd think the user didn't exist. So lower case both the query and the response when comparing them. Differential Revision: https://phab.mercurial-scm.org/D5934

File last commit:

r41250:8633c716 default
r41854:570e62f1 default
Show More
test-amend.t
451 lines | 11.8 KiB | text/troff | Tads3Lexer
Jun Wu
amend: new extension providing the amend command...
r33404 #testcases obsstore-off obsstore-on
$ cat << EOF >> $HGRCPATH
> [extensions]
> amend=
> debugdrawdag=$TESTDIR/drawdag.py
> [diff]
> git=1
> EOF
#if obsstore-on
$ cat << EOF >> $HGRCPATH
> [experimental]
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 > evolution.createmarkers=True
Jun Wu
amend: new extension providing the amend command...
r33404 > EOF
#endif
Basic amend
$ hg init repo1
$ cd repo1
$ hg debugdrawdag <<'EOS'
> B
> |
> A
> EOS
$ hg update B -q
$ echo 2 >> B
Jun Wu
test-amend: match output using conditional test case name...
r34055 $ hg amend
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/112478962961-7e959a55-amend.hg (obsstore-off !)
Jun Wu
amend: new extension providing the amend command...
r33404 #if obsstore-off
$ hg log -p -G --hidden -T '{rev} {node|short} {desc}\n'
@ 1 be169c7e8dbe B
| diff --git a/B b/B
| new file mode 100644
| --- /dev/null
| +++ b/B
| @@ -0,0 +1,1 @@
| +B2
|
o 0 426bada5c675 A
diff --git a/A b/A
new file mode 100644
--- /dev/null
+++ b/A
@@ -0,0 +1,1 @@
+A
\ No newline at end of file
#else
$ hg log -p -G --hidden -T '{rev} {node|short} {desc}\n'
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 @ 2 be169c7e8dbe B
Jun Wu
amend: new extension providing the amend command...
r33404 | diff --git a/B b/B
| new file mode 100644
| --- /dev/null
| +++ b/B
| @@ -0,0 +1,1 @@
| +B2
|
| x 1 112478962961 B
|/ diff --git a/B b/B
| new file mode 100644
| --- /dev/null
| +++ b/B
| @@ -0,0 +1,1 @@
| +B
| \ No newline at end of file
|
o 0 426bada5c675 A
diff --git a/A b/A
new file mode 100644
--- /dev/null
+++ b/A
@@ -0,0 +1,1 @@
+A
\ No newline at end of file
#endif
Nothing changed
$ hg amend
nothing changed
[1]
Boris Feld
cmdutil: fix amend when passing a date...
r34123 $ hg amend -d "0 0"
nothing changed
[1]
$ hg amend -d "Thu Jan 01 00:00:00 1970 UTC"
nothing changed
[1]
Jun Wu
amend: new extension providing the amend command...
r33404 Matcher and metadata options
$ echo 3 > C
$ echo 4 > D
$ hg add C D
Jun Wu
test-amend: match output using conditional test case name...
r34055 $ hg amend -m NEWMESSAGE -I C
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/be169c7e8dbe-7684ddc5-amend.hg (obsstore-off !)
Jun Wu
amend: new extension providing the amend command...
r33404 $ hg log -r . -T '{node|short} {desc} {files}\n'
c7ba14d9075b NEWMESSAGE B C
$ echo 5 > E
$ rm C
Jun Wu
test-amend: match output using conditional test case name...
r34055 $ hg amend -d '2000 1000' -u 'Foo <foo@example.com>' -A C D
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/c7ba14d9075b-b3e76daa-amend.hg (obsstore-off !)
Jun Wu
amend: new extension providing the amend command...
r33404 $ hg log -r . -T '{node|short} {desc} {files} {author} {date}\n'
Yuya Nishihara
templater: restore the original string format of {date}...
r38318 14f6c4bcc865 NEWMESSAGE B D Foo <foo@example.com> 2000.01000
Jun Wu
amend: new extension providing the amend command...
r33404
Amend with editor
$ cat > $TESTTMP/prefix.sh <<'EOF'
> printf 'EDITED: ' > $TESTTMP/msg
> cat "$1" >> $TESTTMP/msg
> mv $TESTTMP/msg "$1"
> EOF
$ chmod +x $TESTTMP/prefix.sh
Jun Wu
test-amend: match output using conditional test case name...
r34055 $ HGEDITOR="sh $TESTTMP/prefix.sh" hg amend --edit
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/14f6c4bcc865-6591f15d-amend.hg (obsstore-off !)
Jun Wu
amend: new extension providing the amend command...
r33404 $ hg log -r . -T '{node|short} {desc}\n'
298f085230c3 EDITED: NEWMESSAGE
Jun Wu
test-amend: match output using conditional test case name...
r34055 $ HGEDITOR="sh $TESTTMP/prefix.sh" hg amend -e -m MSG
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/298f085230c3-d81a6ad3-amend.hg (obsstore-off !)
Jun Wu
amend: new extension providing the amend command...
r33404 $ hg log -r . -T '{node|short} {desc}\n'
974f07f28537 EDITED: MSG
$ echo FOO > $TESTTMP/msg
$ hg amend -l $TESTTMP/msg -m BAR
abort: options --message and --logfile are mutually exclusive
[255]
Jun Wu
test-amend: match output using conditional test case name...
r34055 $ hg amend -l $TESTTMP/msg
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/974f07f28537-edb6470a-amend.hg (obsstore-off !)
Jun Wu
amend: new extension providing the amend command...
r33404 $ hg log -r . -T '{node|short} {desc}\n'
507be9bdac71 FOO
Interactive mode
$ touch F G
$ hg add F G
Jun Wu
test-amend: match output using conditional test case name...
r34055 $ cat <<EOS | hg amend -i --config ui.interactive=1
Jun Wu
amend: new extension providing the amend command...
r33404 > y
> n
> EOS
diff --git a/F b/F
new file mode 100644
examine changes to 'F'? [Ynesfdaq?] y
diff --git a/G b/G
new file mode 100644
examine changes to 'G'? [Ynesfdaq?] n
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/507be9bdac71-c8077452-amend.hg (obsstore-off !)
Jun Wu
amend: new extension providing the amend command...
r33404 $ hg log -r . -T '{files}\n'
B D F
Amend in the middle of a stack
$ hg init $TESTTMP/repo2
$ cd $TESTTMP/repo2
$ hg debugdrawdag <<'EOS'
> C
> |
> B
> |
> A
> EOS
$ hg update -q B
$ echo 2 >> B
$ hg amend
abort: cannot amend changeset with children
[255]
#if obsstore-on
With allowunstable, amend could work in the middle of a stack
$ cat >> $HGRCPATH <<EOF
> [experimental]
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 > evolution.createmarkers=True
Boris Feld
config: use 'experimental.evolution.allowunstable'...
r34868 > evolution.allowunstable=True
Jun Wu
amend: new extension providing the amend command...
r33404 > EOF
$ hg amend
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new orphan changesets
Jun Wu
amend: new extension providing the amend command...
r33404 $ hg log -T '{rev} {node|short} {desc}\n' -G
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 @ 3 be169c7e8dbe B
Jun Wu
amend: new extension providing the amend command...
r33404 |
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 | * 2 26805aba1e60 C
Jun Wu
amend: new extension providing the amend command...
r33404 | |
| x 1 112478962961 B
|/
o 0 426bada5c675 A
Pulkit Goyal
amend: add a flag `-n/--note` to store note with amend...
r34796 Checking the note stored in the obsmarker
$ echo foo > bar
$ hg add bar
Pulkit Goyal
amend: error out if the note is greater than 255bytes...
r34890 $ hg amend --note 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
abort: cannot store a note of more than 255 bytes
[255]
Pulkit Goyal
amend: add a flag `-n/--note` to store note with amend...
r34796 $ hg amend --note "adding bar"
$ hg debugobsolete -r .
Boris Feld
obsolete: activate effect-flag by default...
r34962 112478962961147124edd43549aedd1a335e44bf be169c7e8dbe21cd10b3d79691cbe7f241e3c21c 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
be169c7e8dbe21cd10b3d79691cbe7f241e3c21c 16084da537dd8f84cfdb3055c633772269d62e1b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'note': 'adding bar', 'operation': 'amend', 'user': 'test'}
Jun Wu
amend: new extension providing the amend command...
r33404 #endif
Cannot amend public changeset
$ hg phase -r A --public
$ hg update -C -q A
Jun Wu
test-amend: match output using conditional test case name...
r34055 $ hg amend -m AMEND
Jun Wu
amend: new extension providing the amend command...
r33404 abort: cannot amend public changesets
Pulkit Goyal
rewriteutil: use precheck() in uncommit and amend commands...
r35244 (see 'hg help phases' for details)
Jun Wu
amend: new extension providing the amend command...
r33404 [255]
Amend a merge changeset
$ hg init $TESTTMP/repo3
$ cd $TESTTMP/repo3
$ hg debugdrawdag <<'EOS'
> C
> /|
> A B
> EOS
$ hg update -q C
Jun Wu
test-amend: match output using conditional test case name...
r34055 $ hg amend -m FOO
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/repo3/.hg/strip-backup/a35c07e8a2a4-15ff4612-amend.hg (obsstore-off !)
Jun Wu
amend: new extension providing the amend command...
r33404 $ rm .hg/localtags
$ hg log -G -T '{desc}\n'
@ FOO
|\
| o B
|
o A
Yuya Nishihara
tests: add more complete test for status changes on amend...
r35014
More complete test for status changes (issue5732)
-------------------------------------------------
Generates history of files having 3 states, r0_r1_wc:
r0: ground (content/missing)
r1: old state to be amended (content/missing, where missing means removed)
wc: changes to be included in r1 (content/missing-tracked/untracked)
$ hg init $TESTTMP/wcstates
$ cd $TESTTMP/wcstates
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" $TESTDIR/generate-working-copy-states.py state 2 1
Yuya Nishihara
tests: add more complete test for status changes on amend...
r35014 $ hg addremove -q --similarity 0
$ hg commit -m0
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" $TESTDIR/generate-working-copy-states.py state 2 2
Yuya Nishihara
tests: add more complete test for status changes on amend...
r35014 $ hg addremove -q --similarity 0
$ hg commit -m1
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" $TESTDIR/generate-working-copy-states.py state 2 wc
Yuya Nishihara
tests: add more complete test for status changes on amend...
r35014 $ hg addremove -q --similarity 0
$ hg forget *_*_*-untracked
$ rm *_*_missing-*
amend r1 to include wc changes
$ hg amend
saved backup bundle to * (glob) (obsstore-off !)
clean/modified/removed/added states of the amended revision
$ hg status --all --change . 'glob:content1_*_content1-tracked'
C content1_content1_content1-tracked
C content1_content2_content1-tracked
C content1_missing_content1-tracked
$ hg status --all --change . 'glob:content1_*_content[23]-tracked'
M content1_content1_content3-tracked
M content1_content2_content2-tracked
M content1_content2_content3-tracked
M content1_missing_content3-tracked
$ hg status --all --change . 'glob:content1_*_missing-tracked'
M content1_content2_missing-tracked
R content1_missing_missing-tracked
C content1_content1_missing-tracked
$ hg status --all --change . 'glob:content1_*_*-untracked'
Yuya Nishihara
amend: do not take untracked files as modified or clean (issue5732)...
r35015 R content1_content1_content1-untracked
R content1_content1_content3-untracked
Yuya Nishihara
tests: add more complete test for status changes on amend...
r35014 R content1_content1_missing-untracked
Yuya Nishihara
amend: do not take untracked files as modified or clean (issue5732)...
r35015 R content1_content2_content1-untracked
R content1_content2_content2-untracked
R content1_content2_content3-untracked
Yuya Nishihara
tests: add more complete test for status changes on amend...
r35014 R content1_content2_missing-untracked
R content1_missing_content1-untracked
R content1_missing_content3-untracked
R content1_missing_missing-untracked
$ hg status --all --change . 'glob:missing_content2_*'
A missing_content2_content2-tracked
A missing_content2_content3-tracked
Yuya Nishihara
amend: do not drop missing files (issue5732)...
r35016 A missing_content2_missing-tracked
Yuya Nishihara
tests: add more complete test for status changes on amend...
r35014 $ hg status --all --change . 'glob:missing_missing_*'
A missing_missing_content3-tracked
working directory should be all clean (with some missing/untracked files)
$ hg status --all 'glob:*_content?-tracked'
C content1_content1_content1-tracked
C content1_content1_content3-tracked
C content1_content2_content1-tracked
C content1_content2_content2-tracked
C content1_content2_content3-tracked
C content1_missing_content1-tracked
C content1_missing_content3-tracked
C missing_content2_content2-tracked
C missing_content2_content3-tracked
C missing_missing_content3-tracked
$ hg status --all 'glob:*_missing-tracked'
! content1_content1_missing-tracked
! content1_content2_missing-tracked
! content1_missing_missing-tracked
! missing_content2_missing-tracked
! missing_missing_missing-tracked
$ hg status --all 'glob:*-untracked'
? content1_content1_content1-untracked
? content1_content1_content3-untracked
? content1_content2_content1-untracked
? content1_content2_content2-untracked
? content1_content2_content3-untracked
? content1_missing_content1-untracked
? content1_missing_content3-untracked
? missing_content2_content2-untracked
? missing_content2_content3-untracked
? missing_missing_content3-untracked
Sushil khanchi
amend: support "history-editing-backup" config option...
r38853
Yuya Nishihara
repair: move ui.history-editing-backup to [rewrite] section...
r41242 =================================
Test backup-bundle config option|
=================================
Sushil khanchi
amend: support "history-editing-backup" config option...
r38853 $ hg init $TESTTMP/repo4
$ cd $TESTTMP/repo4
$ echo a>a
$ hg ci -Aqma
$ echo oops>b
$ hg ci -Aqm "b"
$ echo partiallyfixed > b
#if obsstore-off
$ hg amend
saved backup bundle to $TESTTMP/repo4/.hg/strip-backup/95e899acf2ce-f11cb050-amend.hg
Yuya Nishihara
repair: move ui.history-editing-backup to [rewrite] section...
r41242 When backup-bundle config option is set:
Sushil khanchi
amend: support "history-editing-backup" config option...
r38853 $ cat << EOF >> $HGRCPATH
Yuya Nishihara
repair: move ui.history-editing-backup to [rewrite] section...
r41242 > [rewrite]
> backup-bundle = False
Sushil khanchi
amend: support "history-editing-backup" config option...
r38853 > EOF
$ echo fixed > b
$ hg amend
#else
$ hg amend
Yuya Nishihara
repair: move ui.history-editing-backup to [rewrite] section...
r41242 When backup-bundle config option is set:
Sushil khanchi
amend: support "history-editing-backup" config option...
r38853 $ cat << EOF >> $HGRCPATH
Yuya Nishihara
repair: move ui.history-editing-backup to [rewrite] section...
r41242 > [rewrite]
> backup-bundle = False
Sushil khanchi
amend: support "history-editing-backup" config option...
r38853 > EOF
$ echo fixed > b
$ hg amend
#endif
Taapas Agrawal
amend: add config option to update time to current in hg amend (issue5828)...
r41155 ==========================================
Test update-timestamp config option|
==========================================
$ cat >> $HGRCPATH << EOF
> [extensions]
> amend=
Taapas Agrawal
tests: replace mockmakedate function in test-amend.t...
r41250 > mockmakedate = $TESTDIR/mockmakedate.py
Taapas Agrawal
amend: add config option to update time to current in hg amend (issue5828)...
r41155 > EOF
$ hg init $TESTTMP/repo5
$ cd $TESTTMP/repo5
Yuya Nishihara
test-amend: remove uninteresting fields from log output to deduplicate tests...
r41157 $ cat <<'EOF' >> .hg/hgrc
> [ui]
> logtemplate = 'user: {user}
> date: {date|date}
> summary: {desc|firstline}\n'
> EOF
Taapas Agrawal
amend: add config option to update time to current in hg amend (issue5828)...
r41155 $ echo a>a
$ hg ci -Am 'commit 1'
adding a
When updatetimestamp is False
$ hg amend --date '1997-1-1 0:1'
$ hg log --limit 1
user: test
date: Wed Jan 01 00:01:00 1997 +0000
summary: commit 1
Yuya Nishihara
test-amend: remove uninteresting fields from log output to deduplicate tests...
r41157
Taapas Agrawal
amend: add config option to update time to current in hg amend (issue5828)...
r41155 When update-timestamp is True and no other change than the date
$ hg amend --config rewrite.update-timestamp=True
nothing changed
[1]
$ hg log --limit 1
user: test
date: Wed Jan 01 00:01:00 1997 +0000
summary: commit 1
Yuya Nishihara
test-amend: remove uninteresting fields from log output to deduplicate tests...
r41157
Taapas Agrawal
amend: add config option to update time to current in hg amend (issue5828)...
r41155 When update-timestamp is True and there is other change than the date
$ hg amend --user foobar --config rewrite.update-timestamp=True
$ hg log --limit 1
user: foobar
date: Thu Jan 01 00:00:02 1970 +0000
summary: commit 1
When date option is applicable and update-timestamp is True
$ hg amend --date '1998-1-1 0:1' --config rewrite.update-timestamp=True
$ hg log --limit 1
user: foobar
date: Thu Jan 01 00:01:00 1998 +0000
summary: commit 1
Yuya Nishihara
amend: add -D/--currentdate option...
r41160
Unlike rewrite.update-timestamp, -D/--currentdate always updates the timestamp
$ hg amend -D
$ hg log --limit 1
user: foobar
date: Thu Jan 01 00:00:04 1970 +0000
summary: commit 1
$ hg amend -D --config rewrite.update-timestamp=True
$ hg log --limit 1
user: foobar
date: Thu Jan 01 00:00:05 1970 +0000
summary: commit 1
Yuya Nishihara
amend: turn currentdate into tri-state bool so config option can be negated...
r41209 rewrite.update-timestamp can be negated by --no-currentdate
$ hg amend --config rewrite.update-timestamp=True --no-currentdate -u baz
$ hg log --limit 1
user: baz
date: Thu Jan 01 00:00:05 1970 +0000
summary: commit 1
Yuya Nishihara
amend: add -D/--currentdate option...
r41160 Bad combination of date options:
$ hg amend -D --date '0 0'
abort: --date and --currentdate are mutually exclusive
[255]
$ cd ..