mirror of
https://github.com/facebook/sapling.git
synced 2024-10-05 14:28:17 +03:00
1bcc7abff8
Summary: The new status doesn't work w/ legacy repos, so the tests need to be migrated. For each test, first I tried migrating to eagerepo, but in many cases that didn't work. Next I tried a remotefilelog repo (AKA "newclientrepo"). If I still couldn't get the test to work I just disabled rust status. This was mostly in tests that disabled treemanifest or were explicitly coupled with revlogs somehow. Some tests had acute "hg status" discrepancies, so I left a FIXME(status) and disabled rust status. I added a new "eagerepo" tinit.sh function that turns on eager format (for client repos). With this, tests doing "hg init" might just work with features that expect a modern repo. Reviewed By: quark-zju Differential Revision: D43839499 fbshipit-source-id: ce6d3b2747b90d31bd246c30551bdb55c446112f
91 lines
1.5 KiB
Perl
91 lines
1.5 KiB
Perl
#debugruntest-compatible
|
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
# Copyright (c) Mercurial Contributors.
|
|
#
|
|
# This software may be used and distributed according to the terms of the
|
|
# GNU General Public License version 2 or any later version.
|
|
|
|
$ setconfig devel.segmented-changelog-rev-compat=true
|
|
$ eagerepo
|
|
$ hg init repo
|
|
$ cd repo
|
|
$ echo foo > a
|
|
$ hg add a
|
|
$ hg commit -m 1
|
|
|
|
$ echo bar > b
|
|
$ hg add b
|
|
$ hg remove a
|
|
|
|
# Should show a removed and b added:
|
|
|
|
$ hg status
|
|
A b
|
|
R a
|
|
|
|
$ hg revert --all
|
|
undeleting a
|
|
forgetting b
|
|
|
|
# Should show b unknown and a back to normal:
|
|
|
|
$ hg status
|
|
? b
|
|
|
|
$ rm b
|
|
|
|
$ hg co -C 0
|
|
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ echo foo-a > a
|
|
$ hg commit -m 2a
|
|
|
|
$ hg co -C 0
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ echo foo-b > a
|
|
$ hg commit -m 2b
|
|
|
|
$ HGMERGE=true hg merge 1
|
|
merging a
|
|
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
|
|
(branch merge, don't forget to commit)
|
|
|
|
# Should show foo-b:
|
|
|
|
$ cat a
|
|
foo-b
|
|
|
|
$ echo bar > b
|
|
$ hg add b
|
|
$ rm a
|
|
$ hg remove a
|
|
|
|
# Should show a removed and b added:
|
|
|
|
$ hg status
|
|
A b
|
|
R a
|
|
|
|
# Revert should fail:
|
|
|
|
$ hg revert
|
|
abort: uncommitted merge with no revision specified
|
|
(use 'hg goto' or see 'hg help revert')
|
|
[255]
|
|
|
|
# Revert should be ok now:
|
|
|
|
$ hg revert -r2 --all
|
|
undeleting a
|
|
forgetting b
|
|
|
|
# Should show b unknown and a marked modified (merged):
|
|
|
|
$ hg status
|
|
M a
|
|
? b
|
|
|
|
# Should show foo-b:
|
|
|
|
$ cat a
|
|
foo-b
|