mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
158df87946
Quite a few tests fail in noisy but meaningless ways when the test suite is run with generaldelta enabled: ./run-tests.py --extra-config-opt=format.generaldelta=1 This reduces the amount of noise introduced by the debugindex command, the main source of differences. In my environment, when testing with generaldelta enabled, this change reduces the number of completely failing tests from 21 to 8.
308 lines
6.1 KiB
Perl
308 lines
6.1 KiB
Perl
commit date test
|
|
|
|
$ hg init test
|
|
$ cd test
|
|
$ echo foo > foo
|
|
$ hg add foo
|
|
$ HGEDITOR=true hg commit -m ""
|
|
abort: empty commit message
|
|
[255]
|
|
$ hg commit -d '0 0' -m commit-1
|
|
$ echo foo >> foo
|
|
$ hg commit -d '1 4444444' -m commit-3
|
|
abort: impossible time zone offset: 4444444
|
|
[255]
|
|
$ hg commit -d '1 15.1' -m commit-4
|
|
abort: invalid date: '1\t15.1'
|
|
[255]
|
|
$ hg commit -d 'foo bar' -m commit-5
|
|
abort: invalid date: 'foo bar'
|
|
[255]
|
|
$ hg commit -d ' 1 4444' -m commit-6
|
|
$ hg commit -d '111111111111 0' -m commit-7
|
|
abort: date exceeds 32 bits: 111111111111
|
|
[255]
|
|
$ hg commit -d '-7654321 3600' -m commit-7
|
|
abort: negative date value: -7654321
|
|
[255]
|
|
|
|
commit added file that has been deleted
|
|
|
|
$ echo bar > bar
|
|
$ hg add bar
|
|
$ rm bar
|
|
$ hg commit -m commit-8
|
|
nothing changed (1 missing files, see 'hg status')
|
|
[1]
|
|
$ hg commit -m commit-8-2 bar
|
|
abort: bar: file not found!
|
|
[255]
|
|
|
|
$ hg -q revert -a --no-backup
|
|
|
|
$ mkdir dir
|
|
$ echo boo > dir/file
|
|
$ hg add
|
|
adding dir/file (glob)
|
|
$ hg -v commit -m commit-9 dir
|
|
dir/file
|
|
committed changeset 2:d2a76177cb42
|
|
|
|
$ echo > dir.file
|
|
$ hg add
|
|
adding dir.file
|
|
$ hg commit -m commit-10 dir dir.file
|
|
abort: dir: no match under directory!
|
|
[255]
|
|
|
|
$ echo >> dir/file
|
|
$ mkdir bleh
|
|
$ mkdir dir2
|
|
$ cd bleh
|
|
$ hg commit -m commit-11 .
|
|
abort: bleh: no match under directory!
|
|
[255]
|
|
$ hg commit -m commit-12 ../dir ../dir2
|
|
abort: dir2: no match under directory!
|
|
[255]
|
|
$ hg -v commit -m commit-13 ../dir
|
|
dir/file
|
|
committed changeset 3:1cd62a2d8db5
|
|
$ cd ..
|
|
|
|
$ hg commit -m commit-14 does-not-exist
|
|
abort: does-not-exist: * (glob)
|
|
[255]
|
|
|
|
#if symlink
|
|
$ ln -s foo baz
|
|
$ hg commit -m commit-15 baz
|
|
abort: baz: file not tracked!
|
|
[255]
|
|
#endif
|
|
|
|
$ touch quux
|
|
$ hg commit -m commit-16 quux
|
|
abort: quux: file not tracked!
|
|
[255]
|
|
$ echo >> dir/file
|
|
$ hg -v commit -m commit-17 dir/file
|
|
dir/file
|
|
committed changeset 4:49176991390e
|
|
|
|
An empty date was interpreted as epoch origin
|
|
|
|
$ echo foo >> foo
|
|
$ hg commit -d '' -m commit-no-date
|
|
$ hg tip --template '{date|isodate}\n' | grep '1970'
|
|
[1]
|
|
|
|
Make sure we do not obscure unknown requires file entries (issue2649)
|
|
|
|
$ echo foo >> foo
|
|
$ echo fake >> .hg/requires
|
|
$ hg commit -m bla
|
|
abort: unknown repository format: requires features 'fake' (upgrade Mercurial)!
|
|
[255]
|
|
|
|
$ cd ..
|
|
|
|
|
|
partial subdir commit test
|
|
|
|
$ hg init test2
|
|
$ cd test2
|
|
$ mkdir foo
|
|
$ echo foo > foo/foo
|
|
$ mkdir bar
|
|
$ echo bar > bar/bar
|
|
$ hg add
|
|
adding bar/bar (glob)
|
|
adding foo/foo (glob)
|
|
$ hg ci -m commit-subdir-1 foo
|
|
$ hg ci -m commit-subdir-2 bar
|
|
|
|
subdir log 1
|
|
|
|
$ hg log -v foo
|
|
changeset: 0:f97e73a25882
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
files: foo/foo
|
|
description:
|
|
commit-subdir-1
|
|
|
|
|
|
|
|
subdir log 2
|
|
|
|
$ hg log -v bar
|
|
changeset: 1:aa809156d50d
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
files: bar/bar
|
|
description:
|
|
commit-subdir-2
|
|
|
|
|
|
|
|
full log
|
|
|
|
$ hg log -v
|
|
changeset: 1:aa809156d50d
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
files: bar/bar
|
|
description:
|
|
commit-subdir-2
|
|
|
|
|
|
changeset: 0:f97e73a25882
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
files: foo/foo
|
|
description:
|
|
commit-subdir-1
|
|
|
|
|
|
$ cd ..
|
|
|
|
|
|
dot and subdir commit test
|
|
|
|
$ hg init test3
|
|
$ cd test3
|
|
$ mkdir foo
|
|
$ echo foo content > foo/plain-file
|
|
$ hg add foo/plain-file
|
|
$ hg ci -m commit-foo-subdir foo
|
|
$ echo modified foo content > foo/plain-file
|
|
$ hg ci -m commit-foo-dot .
|
|
|
|
full log
|
|
|
|
$ hg log -v
|
|
changeset: 1:95b38e3a5b2e
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
files: foo/plain-file
|
|
description:
|
|
commit-foo-dot
|
|
|
|
|
|
changeset: 0:65d4e9386227
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
files: foo/plain-file
|
|
description:
|
|
commit-foo-subdir
|
|
|
|
|
|
|
|
subdir log
|
|
|
|
$ cd foo
|
|
$ hg log .
|
|
changeset: 1:95b38e3a5b2e
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: commit-foo-dot
|
|
|
|
changeset: 0:65d4e9386227
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: commit-foo-subdir
|
|
|
|
$ cd ..
|
|
$ cd ..
|
|
|
|
Issue1049: Hg permits partial commit of merge without warning
|
|
|
|
$ hg init issue1049
|
|
$ cd issue1049
|
|
$ echo a > a
|
|
$ hg ci -Ama
|
|
adding a
|
|
$ echo a >> a
|
|
$ hg ci -mb
|
|
$ hg up 0
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ echo b >> a
|
|
$ hg ci -mc
|
|
created new head
|
|
$ HGMERGE=true hg merge
|
|
merging a
|
|
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
|
|
(branch merge, don't forget to commit)
|
|
|
|
should fail because we are specifying a file name
|
|
|
|
$ hg ci -mmerge a
|
|
abort: cannot partially commit a merge (do not specify files or patterns)
|
|
[255]
|
|
|
|
should fail because we are specifying a pattern
|
|
|
|
$ hg ci -mmerge -I a
|
|
abort: cannot partially commit a merge (do not specify files or patterns)
|
|
[255]
|
|
|
|
should succeed
|
|
|
|
$ hg ci -mmerge
|
|
$ cd ..
|
|
|
|
|
|
test commit message content
|
|
|
|
$ hg init commitmsg
|
|
$ cd commitmsg
|
|
$ echo changed > changed
|
|
$ echo removed > removed
|
|
$ hg ci -qAm init
|
|
|
|
$ hg rm removed
|
|
$ echo changed >> changed
|
|
$ echo added > added
|
|
$ hg add added
|
|
$ HGEDITOR=cat hg ci -A
|
|
|
|
|
|
HG: Enter commit message. Lines beginning with 'HG:' are removed.
|
|
HG: Leave message empty to abort commit.
|
|
HG: --
|
|
HG: user: test
|
|
HG: branch 'default'
|
|
HG: added added
|
|
HG: changed changed
|
|
HG: removed removed
|
|
abort: empty commit message
|
|
[255]
|
|
$ cd ..
|
|
|
|
|
|
commit copy
|
|
|
|
$ hg init dir2
|
|
$ cd dir2
|
|
$ echo bleh > bar
|
|
$ hg add bar
|
|
$ hg ci -m 'add bar'
|
|
|
|
$ hg cp bar foo
|
|
$ echo >> bar
|
|
$ hg ci -m 'cp bar foo; change bar'
|
|
|
|
$ hg debugrename foo
|
|
foo renamed from bar:26d3ca0dfd18e44d796b564e38dd173c9668d3a9
|
|
$ hg debugindex bar
|
|
rev offset length ..... linkrev nodeid p1 p2 (re)
|
|
0 0 6 ..... 0 26d3ca0dfd18 000000000000 000000000000 (re)
|
|
1 6 7 ..... 1 d267bddd54f7 26d3ca0dfd18 000000000000 (re)
|
|
|
|
$ cd ..
|