mirror of
https://github.com/facebook/sapling.git
synced 2024-10-05 14:28:17 +03:00
tests: enable segmented changelog for new repos by default
Summary: Make progress migrating repos to EagerRepo format. Some tests that require the revlog changelog are explicitly marked. In the future they might be changed to use EagerRepo + doublewrite changelog backend, or use hg-server instead of hg's main executable. A test exposes issues with octopus merges when using old protocol (bundle2) with new commit graph storage. This has been fixed. Reviewed By: DurhamG Differential Revision: D38234311 fbshipit-source-id: aa97f880f40b9cc541b2aee47cf8d8e87cef5b6d
This commit is contained in:
parent
f5b2fe7957
commit
de88d7234c
@ -526,6 +526,8 @@ function setup_common_hg_configs {
|
||||
cat >> "$HGRCPATH" <<EOF
|
||||
[ui]
|
||||
ssh="$DUMMYSSH"
|
||||
[devel]
|
||||
segmented-changelog-rev-compat=True
|
||||
[extensions]
|
||||
remotefilelog=
|
||||
[remotefilelog]
|
||||
|
@ -71,7 +71,7 @@ Test land stack
|
||||
|
||||
Inspect results
|
||||
$ hgedenapi pull -q
|
||||
$ hgedenapi log -G -T '{node} {desc}\n' -r "all()"
|
||||
$ hgedenapi log -G -T '{node} {desc}\n' -r "sort(all(),topo)"
|
||||
o cee85bb77dff9258b0b36fbe83501f3fd953fc4d E
|
||||
│
|
||||
o c5ef64ddf563718659b4c9777f0110de43055135 D
|
||||
@ -80,14 +80,14 @@ Inspect results
|
||||
│
|
||||
│ o a22ebc2f5947b439a77147f07f4f3fe43355bfa3 H
|
||||
├─╯
|
||||
o 181938a6b0e46aedfaf17b5866659716bf974efa G
|
||||
│
|
||||
o 33441538d4aad7db588e456862f21997f3bc7a04 F
|
||||
│
|
||||
│ o 9bc730a19041f9ec7cb33c626e811aa233efb18c E
|
||||
│ │
|
||||
o │ 181938a6b0e46aedfaf17b5866659716bf974efa G
|
||||
│ │
|
||||
│ o f585351a92f85104bff7c284233c338b10eb1df7 D
|
||||
│ │
|
||||
o │ 33441538d4aad7db588e456862f21997f3bc7a04 F
|
||||
│ │
|
||||
│ o 26805aba1e600a82e93661149f2313866a221a7b C
|
||||
├─╯
|
||||
o 112478962961147124edd43549aedd1a335e44bf B
|
||||
|
@ -106,24 +106,23 @@ Start mononoke server
|
||||
$ hg log -f fbcode/file_with_correct_history -T "{node} {desc}\n"
|
||||
835251f7cda8fd1adddf414ce67d58090897e93a master commit 1
|
||||
|
||||
$ hg debugchangelog --migrate fullsegments
|
||||
$ hg log -G -T "{desc} [{phase};{node|short}] {remotenames}" -r 'sort(::.,-topo,topo.firstbranch=desc("master commit"))' | sed '$d'
|
||||
$ hg log -G -T "{desc} [{phase};{node|short}] {remotenames}" -r 'sort(::.,topo)' | sed '$d'
|
||||
@ history fixup [public;dcacf3dd28f1] default/master
|
||||
├─╮
|
||||
│ o [MEGAREPO DELETE] history fixup (1) [public;d3b2dfc1d7dc]
|
||||
│ o [MEGAREPO DELETE] history fixup (0) [public;94932f105be0]
|
||||
│ │
|
||||
│ o [MEGAREPO DELETE] history fixup (0) [public;c2a5523610c4]
|
||||
│ o commit commit 3 [incorrect history] [public;c3f812992511]
|
||||
│ │
|
||||
│ o small repo commit 3 [public;ea8595b036ed]
|
||||
│ o commit commit 2 [incorrect history] [public;4f27e05b6e2a]
|
||||
│ │
|
||||
│ o small repo commit 2 [corrected history] [public;6c017a8ba0a6]
|
||||
│ │
|
||||
│ o small repo commit 1 [public;11fbaaa53e1b]
|
||||
│ o master commit 1 [public;835251f7cda8]
|
||||
│
|
||||
o [MEGAREPO DELETE] history fixup (0) [public;94932f105be0]
|
||||
o [MEGAREPO DELETE] history fixup (1) [public;d3b2dfc1d7dc]
|
||||
│
|
||||
o commit commit 3 [incorrect history] [public;c3f812992511]
|
||||
o [MEGAREPO DELETE] history fixup (0) [public;c2a5523610c4]
|
||||
│
|
||||
o commit commit 2 [incorrect history] [public;4f27e05b6e2a]
|
||||
o small repo commit 3 [public;ea8595b036ed]
|
||||
│
|
||||
o master commit 1 [public;835251f7cda8]
|
||||
o small repo commit 2 [corrected history] [public;6c017a8ba0a6]
|
||||
│
|
||||
o small repo commit 1 [public;11fbaaa53e1b]
|
||||
|
@ -122,14 +122,14 @@ Create a branch merge in a small repo
|
||||
> EOF
|
||||
$ hg rebase -s $A -d with_merge_master -q
|
||||
|
||||
$ hg log -G -T '{node|short}'
|
||||
$ hg log -r 'sort(all(),topo)' -G -T '{node|short}'
|
||||
o 62dba675d1b3
|
||||
├─╮
|
||||
│ o be5140c7bfcc
|
||||
│ │
|
||||
o │ 23aa3f5a6de2
|
||||
│ │
|
||||
│ o 7a7632995e68
|
||||
│ │
|
||||
o │ 23aa3f5a6de2
|
||||
├─╯
|
||||
o 68360e2c98f0
|
||||
│
|
||||
|
@ -50,6 +50,7 @@ Init treemanifest and remotefilelog
|
||||
date: Thu Jan 01 00:00:00 1970 +0000
|
||||
summary: a
|
||||
(re)
|
||||
$ hg bookmark -r . master_bookmark
|
||||
$ cd $TESTTMP
|
||||
|
||||
setup repo2
|
||||
@ -116,7 +117,7 @@ setup repo2
|
||||
|
||||
setup master bookmarks
|
||||
|
||||
$ hg bookmark master_bookmark -r e635b24c95f7
|
||||
$ hg bookmark master_bookmark -fr e635b24c95f7
|
||||
$ hg bookmark master_bookmark2 -r 9f8e7242d9fa
|
||||
|
||||
blobimport
|
||||
|
@ -6,6 +6,7 @@
|
||||
#require slow
|
||||
|
||||
$ . "${TEST_FIXTURES}/library.sh"
|
||||
$ setconfig format.use-segmented-changelog=false
|
||||
|
||||
setup configuration
|
||||
$ default_setup_blobimport "blob_files"
|
||||
|
@ -6,6 +6,7 @@
|
||||
#require slow
|
||||
|
||||
$ . "${TEST_FIXTURES}/library.sh"
|
||||
$ setconfig format.use-segmented-changelog=false
|
||||
|
||||
setup configuration
|
||||
$ default_setup_blobimport "blob_files"
|
||||
|
@ -28,7 +28,7 @@ from . import (
|
||||
)
|
||||
from .changelog import changelogrevision, gitcommittext, hgcommittext, readfiles
|
||||
from .i18n import _
|
||||
from .node import hex, nullid, nullrev, wdirid, wdirrev
|
||||
from .node import bin, hex, nullid, nullrev, wdirid, wdirrev
|
||||
|
||||
|
||||
SEGMENTS_DIR = "segments/v1"
|
||||
@ -419,6 +419,8 @@ class changelog(object):
|
||||
parents = [p for p in (p1, p2) if p != nullid]
|
||||
basetext = textmap.get(deltabase) or self.revision(deltabase)
|
||||
rawtext = bytes(mdiff.patch(basetext, delta))
|
||||
if b"stepparents:" in rawtext:
|
||||
parents += parse_stepparents(changelogrevision(rawtext).extra)
|
||||
textmap[node] = rawtext
|
||||
commits.append((node, parents, rawtext))
|
||||
# Attempt to make memory usage bound for large pulls.
|
||||
@ -692,6 +694,32 @@ class nodemap(object):
|
||||
pass
|
||||
|
||||
|
||||
# Old storage (revlog) and protocols (bundle2 - aka. addgroup()) use
|
||||
# "stepparents" extras to store >2 parents. This needs to be converted
|
||||
# back to real parents for newer backends.
|
||||
#
|
||||
# "stepparents" contains hex nodes joined by ",".
|
||||
#
|
||||
# | >2 parents | >2 parents via |
|
||||
# | via parents | commit extra |
|
||||
# --------------------------------------------------
|
||||
# storage: dag | yes | no |
|
||||
# storage: revlog | no [1] | yes |
|
||||
# protocol: bundle2 | no | yes |
|
||||
# protocol: edenapi | yes | ignore |
|
||||
#
|
||||
# [1]: support >2 parents in memory, but discard on flush
|
||||
#
|
||||
# See also D30686450.
|
||||
def parse_stepparents(extras):
|
||||
"""parse extra parent nodes from commit extras -> [node]"""
|
||||
if extras:
|
||||
stepparents = extras.get("stepparents")
|
||||
if stepparents:
|
||||
return [bin(h) for h in stepparents.split(",")]
|
||||
return []
|
||||
|
||||
|
||||
def migrateto(repo, name):
|
||||
"""Migrate from the current format to the destination format `name`."""
|
||||
if backendname(repo) == name:
|
||||
|
@ -325,7 +325,8 @@ coreconfigitem("format", "dirstate", default=2)
|
||||
coreconfigitem("format", "manifestcachesize", default=None)
|
||||
coreconfigitem("format", "maxchainlen", default=None)
|
||||
coreconfigitem("format", "obsstore-version", default=None)
|
||||
coreconfigitem("format", "use-segmented-changelog", default=False)
|
||||
coreconfigitem("format", "usegeneraldelta", default=True)
|
||||
coreconfigitem("format", "use-segmented-changelog", default=util.istest())
|
||||
coreconfigitem("fsmonitor", "warn_when_unused", default=True)
|
||||
coreconfigitem("fsmonitor", "warn_update_file_count", default=50000)
|
||||
coreconfigitem("git", "submodules", default=True)
|
||||
|
@ -333,9 +333,16 @@ class client(object):
|
||||
|
||||
# Estimate the distance between two nodes
|
||||
def calcdistance(repo, oldnode, newnode):
|
||||
anc = repo.changelog.ancestor(oldnode, newnode)
|
||||
ancrev = repo[anc].rev()
|
||||
distance = abs(repo[oldnode].rev() - ancrev) + abs(repo[newnode].rev() - ancrev)
|
||||
cl = repo.changelog
|
||||
if cl.algorithmbackend == "segments":
|
||||
only = cl.dag.only
|
||||
distance1 = len(only([oldnode], [newnode]))
|
||||
distance2 = len(only([newnode], [oldnode]))
|
||||
distance = distance1 + distance2
|
||||
else:
|
||||
anc = repo.changelog.ancestor(oldnode, newnode)
|
||||
ancrev = repo[anc].rev()
|
||||
distance = abs(repo[oldnode].rev() - ancrev) + abs(repo[newnode].rev() - ancrev)
|
||||
return distance
|
||||
|
||||
|
||||
|
@ -140,7 +140,7 @@ fn write_store_requirements(path: &Path, config: &ConfigSet) -> Result<(), InitE
|
||||
create_dir(store_path)?;
|
||||
let mut requirements = HashSet::from(["visibleheads"]);
|
||||
if config
|
||||
.get_or("format", "use-segmented-changelog", || false)
|
||||
.get_or("format", "use-segmented-changelog", is_test)
|
||||
.unwrap_or(false)
|
||||
{
|
||||
requirements.insert("invalidatelinkrev");
|
||||
@ -157,6 +157,10 @@ fn write_store_requirements(path: &Path, config: &ConfigSet) -> Result<(), InitE
|
||||
write_requirements_file(store_path, requirements)
|
||||
}
|
||||
|
||||
fn is_test() -> bool {
|
||||
std::env::var_os("TESTTMP").is_some()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use configparser::config::Options;
|
||||
|
@ -853,7 +853,7 @@ impl RevlogIndex {
|
||||
|
||||
let mut parent_revs: [i32; 2] = [-1, -1];
|
||||
let parents = &parent_map[node.as_ref()];
|
||||
for (p_id, p_node) in parents.iter().enumerate() {
|
||||
for (p_id, p_node) in parents.iter().take(2).enumerate() {
|
||||
parent_revs[p_id] = get_rev(&existing_nodes, p_node)? as i32;
|
||||
}
|
||||
|
||||
|
@ -42,17 +42,10 @@ FEATURES = [
|
||||
Feature("no-chg", "#chg-incompatible\n"),
|
||||
Feature("debugruntest", "#debugruntest-compatible\n"),
|
||||
Feature("no-treemanifest", " $ disable treemanifest\n"),
|
||||
Feature(
|
||||
"no-narrowheads",
|
||||
" $ setconfig experimental.narrow-heads=false\n",
|
||||
),
|
||||
Feature(
|
||||
"no-segmented-changelog",
|
||||
" $ setconfig format.use-segmented-changelog=true\n",
|
||||
),
|
||||
Feature("no-ignore-revnum", " $ setconfig ui.ignorerevnum=false\n"),
|
||||
Feature("py2", "#require py2\n"),
|
||||
Feature("no-inprocess-hg", "#inprocess-hg-incompatible\n"),
|
||||
Feature("rev-compat", " $ setconfig devel.segmented-changelog-rev-compat=true\n"),
|
||||
]
|
||||
|
||||
|
||||
|
@ -11,578 +11,6 @@ But for now it's easier than changing configs at the top of individual
|
||||
tests.
|
||||
"""
|
||||
|
||||
segmentedchangelogcompatiblelist = """
|
||||
test-abort-checkin.t
|
||||
test-absorb-edit-lines.t
|
||||
test-absorb-phase.t
|
||||
test-absorb-remotefilelog-segments.t
|
||||
test-absorb-strip.t
|
||||
test-add.t
|
||||
test-adding-invalid-utf8.t
|
||||
test-addremove-similar.t
|
||||
test-alias-circular.t
|
||||
test-alias.t
|
||||
test-alias2.t
|
||||
test-amend-next.t
|
||||
test-amend-previous.t
|
||||
test-amend-rebase-inmemory.t
|
||||
test-amend-restack-auto.t
|
||||
test-amend-restack-divergence.t
|
||||
test-amend-restack-multidest.t
|
||||
test-amend-restack-obsolete.t
|
||||
test-amend-split.t
|
||||
test-amend-template.t
|
||||
test-amend-to.t
|
||||
test-amend-userestack.t
|
||||
test-amend.t
|
||||
test-annotate.py
|
||||
test-arbitraryfilectx.t
|
||||
test-archive-symlinks.t
|
||||
test-argspans.py
|
||||
test-atomictempfile.py
|
||||
test-auth-match.t
|
||||
test-autofix.t
|
||||
test-bad-extension.t
|
||||
test-bad-pull.t
|
||||
test-basic.t
|
||||
test-batching.py
|
||||
test-bdiff.py
|
||||
test-bindag.t
|
||||
test-bisect3.t
|
||||
test-bookmarks-current.t
|
||||
test-bookmarks-loading-order.t
|
||||
test-bookmarks-merge.t
|
||||
test-bookmarks-rebase.t
|
||||
test-bookmarks-strip.t
|
||||
test-bookmarkstore.py
|
||||
test-casecollision.t
|
||||
test-changelog-exec.t
|
||||
test-check-clang-format.t
|
||||
test-check-code.t
|
||||
test-check-execute.t
|
||||
test-check-fix-code.t
|
||||
test-check-help.t
|
||||
test-check-interfaces.py
|
||||
test-check-win32-signature.py
|
||||
test-checkoutidentifier-commitinfo.t
|
||||
test-checkoutidentifier-dirstateinfo.t
|
||||
test-clienttelemetry.t
|
||||
test-command-template2.t
|
||||
test-commit-amend.t
|
||||
test-commit-interactive-curses.t
|
||||
test-commit-reuse.t
|
||||
test-commit-revive.t
|
||||
test-commit-size-limits.t
|
||||
test-commit-unresolved.t
|
||||
test-commitcloud-background-logging-perms.t
|
||||
test-commitcloud-backup-compression.t
|
||||
test-commitcloud-backup-logging.t
|
||||
test-commitcloud-backup-remotenames.t
|
||||
test-commitcloud-backup-share.t
|
||||
test-commitcloud-checkoutlocations-update.t
|
||||
test-commitcloud-list-workspaces.t
|
||||
test-commitcloud-smartlog-version.t
|
||||
test-commitcloud-smartlog.t
|
||||
test-commitcloud-sync-rb-enabling.t
|
||||
test-commitcloud-sync-workspacenames.t
|
||||
test-committer.t
|
||||
test-completion.t
|
||||
test-config-configfile.t
|
||||
test-config.t
|
||||
test-configparser.py
|
||||
test-conflict.t
|
||||
test-contrib-check-code.t
|
||||
test-copytrace-manual.t
|
||||
test-crdump-commitcloud.t
|
||||
test-ctrl-c.t
|
||||
test-custom-filters.t
|
||||
test-debugbundle-rebase.t
|
||||
test-debugbundle.t
|
||||
test-debugcauserusterror.t
|
||||
test-debugcheckcasecollisions-treemanifest.t
|
||||
test-debugcommands.t
|
||||
test-debugdifftree.t
|
||||
test-debugdirs.py
|
||||
test-debugdynamicconfig.t
|
||||
test-debugexistingcasecollisions.t
|
||||
test-debugextensions.t
|
||||
test-debugignore.t
|
||||
test-debugmetalog.t
|
||||
test-debugrebuilddirstate-corrupt.t
|
||||
test-debugshell-args.t
|
||||
test-debugsmallcommitmetadata.t
|
||||
test-debugthrowrustexception.t
|
||||
test-demandimport.py
|
||||
test-deprecate.t
|
||||
test-devel-warnings.t
|
||||
test-diff-antipatience.t
|
||||
test-diff-binary.t
|
||||
test-diff-color.t
|
||||
test-diff-copy-depth.t
|
||||
test-diff-hashbinary.t
|
||||
test-diff-ignore-whitespace.t
|
||||
test-diff-indent-heuristic.t
|
||||
test-diff-subdir.t
|
||||
test-diff-unified.t
|
||||
test-diff-upgrade.t
|
||||
test-diffstat.t
|
||||
test-dirstate-backup.t
|
||||
test-dirstate-completion.t
|
||||
test-dirstate-nonnormalset.t
|
||||
test-dirstate-rebuild.t
|
||||
test-dirstate-symlink.t
|
||||
test-dirstate.t
|
||||
test-disable-bad-features.t
|
||||
test-disablesymlinks.t
|
||||
test-dispatch-debug-prefix.t
|
||||
test-dispatch.t
|
||||
test-doctest.py
|
||||
test-dott-quote.t
|
||||
test-dott-translate.py
|
||||
test-duplicateoptions.py
|
||||
test-dynamicconfig-unicode.t
|
||||
test-edit-tmp.t
|
||||
test-editor-filename.t
|
||||
test-empty-dir.t
|
||||
test-empty-file.t
|
||||
test-encode.t
|
||||
test-encoding-align.t
|
||||
test-encoding-func.py
|
||||
test-encoding-textwrap.t
|
||||
test-eolfilename.t
|
||||
test-execute-bit.t
|
||||
test-exitcodemask.t
|
||||
test-extension-ext-prefix.t
|
||||
test-extension-inline.t
|
||||
test-extensions-afterloaded.t
|
||||
test-extensions-default.t
|
||||
test-extensions-wrapfunction.py
|
||||
test-fb-ext-absorb-filefixupstate.py
|
||||
test-fb-ext-arcconfig.t
|
||||
test-fb-ext-catnotate.t
|
||||
test-fb-ext-checkmessagehook.t
|
||||
test-fb-ext-copytrace-amend.t
|
||||
test-fb-ext-copytrace-mergedriver.t
|
||||
test-fb-ext-debugcommitmessage.t
|
||||
test-fb-ext-diff-since-last-submit.t
|
||||
test-fb-ext-errorredirect.t
|
||||
test-fb-ext-extorder.t
|
||||
test-fb-ext-extutil.py
|
||||
test-fb-ext-fastannotate-revmap.py
|
||||
test-fb-ext-fbhistedit-exec-obsolete.t
|
||||
test-fb-ext-fbhistedit-exec.t
|
||||
test-fb-ext-fbhistedit-graft.t
|
||||
test-fb-ext-fbhistedit-json.t
|
||||
test-fb-ext-fbhistedit-show-plan.t
|
||||
test-fb-ext-fbhistedit-stop-obsolete.t
|
||||
test-fb-ext-fbhistedit-stop.t
|
||||
test-fb-ext-generic-bisect.py
|
||||
test-fb-ext-githelp.t
|
||||
test-fb-ext-grpcheck.t
|
||||
test-fb-ext-morestatus.t
|
||||
test-fb-ext-myparent.t
|
||||
test-fb-ext-ownercheck-t.py
|
||||
test-fb-ext-patchrmdir.py
|
||||
test-fb-ext-phabdiff.t
|
||||
test-fb-ext-phabstatus.t
|
||||
test-fb-ext-rage.t
|
||||
test-fb-ext-remotefilelog-bundleloop.t
|
||||
test-fb-ext-remotefilelog-commit-repack.t
|
||||
test-fb-ext-remotefilelog-datapack.py
|
||||
test-fb-ext-remotefilelog-histpack.py
|
||||
test-fb-ext-remotefilelog-localdatarepack-full.t
|
||||
test-fb-ext-remotefilelog-rust-lfs.t
|
||||
test-fb-ext-remotefilelog-ruststores-lfs-bundle.t
|
||||
test-fb-ext-remotefilelog-ruststores-lfs-duplicated.t
|
||||
test-fb-ext-sampling.t
|
||||
test-fb-ext-scm-prompt-compat.t
|
||||
test-fb-ext-scm-prompt-git.t
|
||||
test-fb-ext-scm-prompt-hg.t
|
||||
test-fb-ext-sigtrace.t
|
||||
test-fb-ext-simplecache.t
|
||||
test-fb-ext-smartlog-smallcommitmetadata.t
|
||||
test-fb-ext-smartlog.t
|
||||
test-fb-ext-sshaskpass.py
|
||||
test-fb-ext-syncstatus.t
|
||||
test-fb-ext-template-stat.t
|
||||
test-fb-ext-treemanifest-bad-tree.t
|
||||
test-fb-ext-treemanifest-convertflat.t
|
||||
test-fb-ext-treemanifest-sendtrees.t
|
||||
test-fb-ext-treemanifest-sparse-prefetch.t
|
||||
test-fb-ext-treemanifest-sparse.t
|
||||
test-fb-ext-tweakdefaults-bookmarks.t
|
||||
test-fb-ext-tweakdefaults-grep.t
|
||||
test-fb-ext-tweakdefaults-opawarecommands.t
|
||||
test-fb-ext-tweakdefaults-ordering.t
|
||||
test-fb-ext-tweakdefaults-revsets.t
|
||||
test-filecache.py
|
||||
test-filelog.py
|
||||
test-fileset-generated.t
|
||||
test-getbundle.t
|
||||
test-git.t
|
||||
test-gitignore.t
|
||||
test-globalrevs-svnrev.t
|
||||
test-help.t
|
||||
test-hg-parseurl.py
|
||||
test-ext-logginghelper.t
|
||||
test-hghave.t
|
||||
test-hgrc.t
|
||||
test-hint.t
|
||||
test-histedit-bookmark-motion.t
|
||||
test-histedit-drop.t
|
||||
test-histedit-fold-non-commute.t
|
||||
test-histedit-fold.t
|
||||
test-histedit-non-commute-abort.t
|
||||
test-histedit-non-commute.t
|
||||
test-histedit-templates.t
|
||||
test-hybridencode.py
|
||||
test-import-context.t
|
||||
test-import-eol.t
|
||||
test-import-git.t
|
||||
test-include-fail.t
|
||||
test-infinitepush-push-to-other.t
|
||||
test-install.t
|
||||
test-issue1089.t
|
||||
test-issue1877.t
|
||||
test-issue2137.t
|
||||
test-issue4074.t
|
||||
test-known.t
|
||||
test-lfs-journal.t
|
||||
test-lfs-localstore.t
|
||||
test-lfs-pointer.py
|
||||
test-linelog-edits.py
|
||||
test-linerange.py
|
||||
test-lock.py
|
||||
test-log-dir.t
|
||||
test-log-exthook.t
|
||||
test-log-simplify-grandparents.t
|
||||
test-lrucachedict.py
|
||||
test-manifest-insert-before-remove.py
|
||||
test-manifest.py
|
||||
test-match.py
|
||||
test-merge-changedelete.t
|
||||
test-merge-conflict-count.t
|
||||
test-merge-force.t
|
||||
test-merge-halt.t
|
||||
test-merge-internal-tools-pattern.t
|
||||
test-merge-issue5091.t
|
||||
test-merge-local.t
|
||||
test-merge-relative-paths.t
|
||||
test-merge-update-noconflict.t
|
||||
test-merge2.t
|
||||
test-mergedriver2.t
|
||||
test-metalog-migration-t.py
|
||||
test-minirst.py
|
||||
test-mkdir-broken-symlink.t
|
||||
test-mmap-unlink.t
|
||||
test-mutation-fromobsmarkers.t
|
||||
test-mutation-loops.t
|
||||
test-mutation-phases.t
|
||||
test-namespaces.t
|
||||
test-narrow-heads-migration.t
|
||||
test-nested-repo.t
|
||||
test-origbackup-conflict.t
|
||||
test-patch-offset.t
|
||||
test-pathconflicts-update.t
|
||||
test-pathencode.py
|
||||
test-paths.t
|
||||
test-patterns.t
|
||||
test-perftrace.t
|
||||
test-perftweaks.t
|
||||
test-profile.t
|
||||
test-progress-classicrenderer.t
|
||||
test-progress-fancyrenderer.t
|
||||
test-progress-rust.t
|
||||
test-progressfile.t
|
||||
test-purge.t
|
||||
test-pushrebase-obsolete.t
|
||||
test-rebase-base-flag.t
|
||||
test-rebase-copy-relations.t
|
||||
test-rebase-inmemory-conflicts.t
|
||||
test-rebase-inmemory-mergedriver-exception.t
|
||||
test-rebase-missing-cwd.t
|
||||
test-rebase-partial.t
|
||||
test-rebase-templates.t
|
||||
test-rebase-transaction.t
|
||||
test-rebuildstate.t
|
||||
test-record.t
|
||||
test-remotenames-paths.t
|
||||
test-remove.t
|
||||
test-repo-leak.t
|
||||
test-requires.t
|
||||
test-restack-old-stack.t
|
||||
test-revert-flags.t
|
||||
test-revert-interactive.t
|
||||
test-revert-status.t
|
||||
test-revlog-packentry.t
|
||||
test-revlog-raw.py
|
||||
test-revset-dirstate-parents.t
|
||||
test-root.t
|
||||
test-run-tests.py
|
||||
test-rust-rmcwd.t
|
||||
test-rust-subcommands.t
|
||||
test-rustthreading.py
|
||||
test-seq.t
|
||||
test-serve.t
|
||||
test-share-requirements.t
|
||||
test-share-unshare.t
|
||||
test-show.t
|
||||
test-simplekeyvaluefile.py
|
||||
test-simplemerge.py
|
||||
test-smartlog-collapse-obsolete.t
|
||||
test-sortdictfilter.t
|
||||
test-sparse-casecollision.t
|
||||
test-sparse-clear.t
|
||||
test-sparse-diff.t
|
||||
test-sparse-extensions.t
|
||||
test-sparse-fetch.t
|
||||
test-sparse-ignore.t
|
||||
test-sparse-import.t
|
||||
test-sparse-issues.t
|
||||
test-sparse-merges.t
|
||||
test-sparse-notsparse.t
|
||||
test-sparse-profiles.t
|
||||
test-sparse-rebase.t
|
||||
test-sparse-unsafe-sparse-profile.t
|
||||
test-sparse-warn.t
|
||||
test-sshserver.py
|
||||
test-status-color.t
|
||||
test-status-inprocess.py
|
||||
test-status-mlog.t
|
||||
test-status-terse.t
|
||||
test-subcommands.t
|
||||
test-template-filestat.t
|
||||
test-tools.t
|
||||
test-treemanifest-amend.t
|
||||
test-treemanifest-diff.t
|
||||
test-treestate-needcheck.t
|
||||
test-treestate-repack.t
|
||||
test-treestate-upgrade-t.py
|
||||
test-treestate.py
|
||||
test-ui-color.py
|
||||
test-ui-config.py
|
||||
test-ui-verbosity.py
|
||||
test-uncommit.t
|
||||
test-undo-narrow-heads.t
|
||||
test-unicode-inputs.t
|
||||
test-unified-test.t
|
||||
test-update-inactive.t
|
||||
test-update-issue1456.t
|
||||
test-update-merge-state.t
|
||||
test-update-reverse.t
|
||||
test-update-symlink-to-plain.t
|
||||
test-url.py
|
||||
test-username-newline.t
|
||||
test-visibility-reset.t
|
||||
test-walk.t
|
||||
test-walkrepo.py
|
||||
test-wireproto.py
|
||||
test-wireproto.t
|
||||
test-worker.t
|
||||
test-xdg.t
|
||||
test-zstdelta.py
|
||||
|
||||
test-addremove.t
|
||||
test-amend-nextrebase.t
|
||||
test-audit-path.t
|
||||
test-backout.t
|
||||
test-bisect2.t
|
||||
test-blackbox.t
|
||||
test-bundle2-multiple-changegroups.t
|
||||
test-bundle-type.t
|
||||
test-commit-amend-reuse-rawfctx.t
|
||||
test-commitcloud-backup-all.t
|
||||
test-commitcloud-backup-lfs.t
|
||||
test-commitcloud-backup-remotenames-public.t
|
||||
test-commitcloud-backup-restore-obsolete.t
|
||||
test-commitcloud-backup-restore.t
|
||||
test-commitcloud-backup-rev.t
|
||||
test-commitcloud-backup-status.t
|
||||
test-commitcloud-lazypull-phab.t
|
||||
test-commitcloud-lazypull.t
|
||||
test-commitcloud-rename-workspace.t
|
||||
test-commitcloud-sync-migration.t
|
||||
test-commitcloud-sync-race.t
|
||||
test-commitcloud-sync-rb-deletion.t
|
||||
test-commitcloud-sync-rb-enabling2.t
|
||||
test-commitcloud-sync.t
|
||||
test-commitcloud-update.t
|
||||
test-commit-interactive.t
|
||||
test-commit.t
|
||||
test-copy-move-merge.t
|
||||
test-copytrace-heuristics.t
|
||||
test-debugsendunbundle.t
|
||||
test-double-merge.t
|
||||
test-encoding.t
|
||||
test-eol-add.t
|
||||
test-eol-patch.t
|
||||
test-eol.t
|
||||
test-fb-ext-copytrace.t
|
||||
test-fb-ext-crdump.t
|
||||
test-fb-ext-debugdetectissues.t
|
||||
test-fb-ext-dirsync-amend.t
|
||||
test-fb-ext-dirsync.t
|
||||
test-fb-ext-git-getmeta.t
|
||||
test-fb-ext-merge-conflictinfo.t
|
||||
test-fb-ext-mergedriver.t
|
||||
test-fb-ext-pull-createmarkers.t
|
||||
test-fb-ext-pushrebase-protection.t
|
||||
test-fb-ext-pushvars-remotenames.t
|
||||
test-fb-ext-remotefilelog-archive.t
|
||||
test-fb-ext-remotefilelog-bad-configs.t
|
||||
test-fb-ext-remotefilelog-bundle2-legacy.t
|
||||
test-fb-ext-remotefilelog-bundle2.t
|
||||
test-fb-ext-remotefilelog-bundles.t
|
||||
test-fb-ext-remotefilelog-getpackv2.t
|
||||
test-fb-ext-remotefilelog-local.t
|
||||
test-fb-ext-remotefilelog-pull-noshallow.t
|
||||
test-fb-ext-remotefilelog-push-pull-query-string.t
|
||||
test-fb-ext-remotefilelog-ruststores-repack.t
|
||||
test-fb-ext-remotefilelog-ruststores-rotatelog-size.t
|
||||
test-fb-ext-remotefilelog-treemanifest-corrupt.t
|
||||
test-fb-ext-remotefilelog-worker.t
|
||||
test-fb-ext-reset-remotenames.t
|
||||
test-fb-ext-treemanifest-blame.t
|
||||
test-fb-ext-treemanifest-comparetrees.t
|
||||
test-fb-ext-treemanifest-disabled.t
|
||||
test-fb-ext-treemanifest-infinitepush.t
|
||||
test-fb-ext-treemanifest-peertopeer.t
|
||||
test-fb-ext-treemanifest-pushrebase.t
|
||||
test-fb-ext-treemanifest-pushrebase-treeonly.t
|
||||
test-fb-ext-treemanifest-remotenames-out-of-sync.t
|
||||
test-fb-ext-treemanifest-treeonly-copyamend.t
|
||||
test-fb-ext-treemanifest-treeonly-fetching.t
|
||||
test-fb-ext-tweakdefaults-remotenames.t
|
||||
test-gitlookup-infinitepush.t
|
||||
test-globalopts.t
|
||||
test-ext-stablerev.t
|
||||
test-histedit-arguments.t
|
||||
test-histedit-base.t
|
||||
test-histedit-commute.t
|
||||
test-histedit-mutation.t
|
||||
test-histedit-no-change.t
|
||||
test-histedit-outgoing.t
|
||||
test-important-remote-names-t.py
|
||||
test-import-bypass.t
|
||||
test-infinitepush-bundlestore.t
|
||||
test-infinitepush-delscratchbookmarks.t
|
||||
test-infinitepush-publicscratchbookmarks.t
|
||||
test-infinitepush-remotefilelog.t
|
||||
test-infinitepush-remotenames.t
|
||||
test-infinitepush-scratchbookmark-commands.t
|
||||
test-init.t
|
||||
test-issue1502.t
|
||||
test-issue522.t
|
||||
test-issue586.t
|
||||
test-issue672.t
|
||||
test-journal-share.t
|
||||
test-journal.t
|
||||
test-lfs-checksum.t
|
||||
test-lock-badness.t
|
||||
test-log-wireproto-requests-getpack.t
|
||||
test-log-wireproto-requests.t
|
||||
test-merge1.t
|
||||
test-merge6.t
|
||||
test-merge8-t.py
|
||||
test-merge-criss-cross.t
|
||||
test-merge-remove.t
|
||||
test-merge-symlinks.t
|
||||
test-merge-types.t
|
||||
test-mutation-infinitepush.t
|
||||
test-mutation-pushrebase.t
|
||||
test-mutation.t
|
||||
test-narrow-heads.t
|
||||
test-pathconflicts-basic.t
|
||||
test-pathconflicts-merge.t
|
||||
test-pending.t
|
||||
test-perftweaks-remotenames.t
|
||||
test-pushvars.t
|
||||
test-rebase-bookmarks.t
|
||||
test-rebase-collapse.t
|
||||
test-rebase-conflicts.t
|
||||
test-rebase-dest.t
|
||||
test-rebase-detach.t
|
||||
test-rebase-flags.t
|
||||
test-rebase-inmemory-mergedriver.t
|
||||
test-rebase-inmemory-nochanges.t
|
||||
test-rebase-inmemory-noconflict.t
|
||||
test-rebase-inmemory.t
|
||||
test-rebase-interruptions.t
|
||||
test-rebase-newancestor.t
|
||||
test-rebase-removed.t
|
||||
test-rebase-rename.t
|
||||
test-remotefilelog-undesired-file-logging.t
|
||||
test-remotenames-basic.t
|
||||
test-remotenames-convert-t.py
|
||||
test-remotenames-fastheaddiscovery-hidden-commits.t
|
||||
test-remotenames-journal.t
|
||||
test-remotenames-namespaces.t
|
||||
test-remotenames-on-and-off-t.py
|
||||
test-remotenames-pull-rebase.t
|
||||
test-remotenames-push.t
|
||||
test-remotenames-pushto-pathandname.t
|
||||
test-remotenames-pushto.t
|
||||
test-remotenames-selective-pull-accessed-bookmarks.t
|
||||
test-remotenames-selective-pull.t
|
||||
test-remotenames-strip.t
|
||||
test-remotenames-transition.t
|
||||
test-rename-after-merge.t
|
||||
test-rename-dir-merge.t
|
||||
test-rename-merge1.t
|
||||
test-rename.t
|
||||
test-resolve.t
|
||||
test-revset-outgoing.t
|
||||
test-share.t
|
||||
test-sparse-clone.t
|
||||
test-sparse.t
|
||||
test-symlink-os-yes-fs-no.py
|
||||
test-symlink-placeholder.t
|
||||
test-symlinks.t
|
||||
test-unrelated-pull.t
|
||||
test-update-dest.t
|
||||
test-update-names.t
|
||||
test-up-local-change.t
|
||||
test-url-rev.t
|
||||
test-visibility-bundle.t
|
||||
test-visibility-cloudsync.t
|
||||
test-visibility.t
|
||||
|
||||
test-rebase-abort.t
|
||||
test-rebase-brute-force.t
|
||||
test-rebase-check-restore.t
|
||||
test-rebase-emptycommit.t
|
||||
|
||||
test-clone-resume.t
|
||||
test-clone-uncompressed.t
|
||||
|
||||
test-commitcloud-sync-bookmarks.t
|
||||
test-commitcloud-sync-omission.t
|
||||
test-commitcloud-sync-remote-bookmarks.t
|
||||
|
||||
test-debugrebuildchangelog.t
|
||||
test-doctor.t
|
||||
|
||||
test-fb-ext-pull-createmarkers-hide-later.t
|
||||
|
||||
test-fb-ext-remotefilelog-blame.t
|
||||
test-fb-ext-remotefilelog-push-pull.t
|
||||
test-fb-ext-remotefilelog-sparse.t
|
||||
test-fb-ext-remotefilelog-treemanifest-lfs.t
|
||||
|
||||
test-fb-ext-treemanifest-autoconvert.t
|
||||
test-fb-ext-treemanifest-prefetch.t
|
||||
test-fb-ext-treemanifest-pullpublic.t
|
||||
test-fb-ext-treemanifest-treeonly.t
|
||||
test-fb-ext-treemanifest.t
|
||||
|
||||
test-pushrebase-withmerges.t
|
||||
test-rebase-mutation.t
|
||||
test-rebase-scenario-global.t
|
||||
|
||||
test-context.py
|
||||
test-rustmanifest.t
|
||||
"""
|
||||
|
||||
ignorerevnumincompatiblelist = """
|
||||
test-alias.t
|
||||
test-amend-hide.t
|
||||
@ -725,10 +153,6 @@ def setup(testname, hgrcpath):
|
||||
# Disable mutation.record to maintain commit hashes.
|
||||
with open(hgrcpath, "a") as f:
|
||||
f.write("\n[mutation]\nrecord=False\n")
|
||||
# Enable segmented changelog if compatible.
|
||||
if testname in segmentedchangelogcompatiblelist:
|
||||
with open(hgrcpath, "a") as f:
|
||||
f.write("\n[format]\nuse-segmented-changelog=True\n")
|
||||
# Support legacy revnum for incompatible tests.
|
||||
if testname in ignorerevnumincompatiblelist:
|
||||
with open(hgrcpath, "a") as f:
|
||||
|
@ -1,5 +1,4 @@
|
||||
#debugruntest-compatible
|
||||
$ setconfig format.use-segmented-changelog=1
|
||||
$ enable absorb remotefilelog
|
||||
|
||||
Create repo
|
||||
|
@ -5,8 +5,6 @@
|
||||
|
||||
Create a repository:
|
||||
|
||||
$ setconfig format.use-segmented-changelog=1
|
||||
|
||||
$ hg config
|
||||
commands.status.relative=true
|
||||
config.use-rust=true
|
||||
@ -16,7 +14,6 @@ Create a repository:
|
||||
experimental.metalog=true
|
||||
extensions.fsmonitor= (fsmonitor !)
|
||||
extensions.treemanifest=!
|
||||
format.use-segmented-changelog=1
|
||||
fsmonitor.detectrace=1 (fsmonitor !)
|
||||
hint.ack-match-full-traversal=true
|
||||
mutation.record=False
|
||||
|
@ -6,8 +6,6 @@
|
||||
$ disable treemanifest
|
||||
$ enable smartlog
|
||||
$ readconfig <<EOF
|
||||
> [format]
|
||||
> use-segmented-changelog=1
|
||||
> [experimental]
|
||||
> graphstyle.grandparent=|
|
||||
> graphstyle.missing=|
|
||||
|
@ -24,9 +24,9 @@
|
||||
[1]
|
||||
|
||||
$ hg blackbox --no-timestamp --no-sid --pattern '{"watchman":"_"}' | egrep '(watchman.*state.*)'
|
||||
[watchman] command ["state-enter",{"metadata":{"distance":3,"merge":false,"partial":false,"rev":"0000000000000000000000000000000000000000","status":"ok"},"name":"hg.update"}] finished in 0 ms
|
||||
[watchman] command ["state-leave",{"metadata":{"distance":3,"merge":false,"partial":false,"rev":"2e2f27616b65209eecd4710c454df0f678f271d9","status":"ok"},"name":"hg.update"}] finished in 0 ms
|
||||
[watchman] command ["state-enter",{"metadata":{"distance":3,"merge":true,"partial":false,"rev":"2e2f27616b65209eecd4710c454df0f678f271d9","status":"ok"},"name":"hg.update"}] finished in 0 ms
|
||||
[watchman] command ["state-enter",{"metadata":{"distance":2,"merge":false,"partial":false,"rev":"0000000000000000000000000000000000000000","status":"ok"},"name":"hg.update"}] finished in 0 ms
|
||||
[watchman] command ["state-leave",{"metadata":{"distance":2,"merge":false,"partial":false,"rev":"2e2f27616b65209eecd4710c454df0f678f271d9","status":"ok"},"name":"hg.update"}] finished in 0 ms
|
||||
[watchman] command ["state-enter",{"metadata":{"distance":2,"merge":true,"partial":false,"rev":"2e2f27616b65209eecd4710c454df0f678f271d9","status":"ok"},"name":"hg.update"}] finished in 0 ms
|
||||
[watchman] command ["state-enter",{"metadata":{"path":"2"},"name":"hg.filemerge"}] finished in 0 ms
|
||||
[watchman] command ["state-leave",{"metadata":{"path":"2"},"name":"hg.filemerge"}] finished in 0 ms
|
||||
[watchman] command ["state-leave",{"metadata":{"distance":3,"merge":true,"partial":false,"rev":"65f3e88a53bc0f5183deea0cdbc46738777ec005","status":"ok"},"name":"hg.update"}] finished in 0 ms
|
||||
[watchman] command ["state-leave",{"metadata":{"distance":2,"merge":true,"partial":false,"rev":"65f3e88a53bc0f5183deea0cdbc46738777ec005","status":"ok"},"name":"hg.update"}] finished in 0 ms
|
||||
|
@ -1,5 +1,4 @@
|
||||
#debugruntest-compatible
|
||||
$ setconfig format.use-segmented-changelog=1
|
||||
$ newrepo
|
||||
$ drawdag << 'EOS'
|
||||
> E
|
||||
|
@ -1,7 +1,5 @@
|
||||
#debugruntest-compatible
|
||||
|
||||
$ setconfig format.use-segmented-changelog=1
|
||||
|
||||
$ log_fixture() {
|
||||
> newrepo '' "$@"
|
||||
> drawdag "$@" << 'EOS'
|
||||
|
@ -2,7 +2,6 @@
|
||||
#debugruntest-compatible
|
||||
|
||||
$ configure modern
|
||||
$ setconfig format.use-segmented-changelog=1
|
||||
$ enable smartlog rebase
|
||||
$ disable commitcloud
|
||||
|
||||
|
@ -2,7 +2,6 @@
|
||||
#debugruntest-compatible
|
||||
|
||||
$ configure modern
|
||||
$ setconfig format.use-segmented-changelog=1
|
||||
$ enable smartlog rebase
|
||||
$ disable commitcloud
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
$ configure modern
|
||||
$ setconfig format.use-segmented-changelog=1
|
||||
|
||||
$ newrepo
|
||||
$ drawdag << 'EOS'
|
||||
|
@ -179,9 +179,9 @@ o D
|
||||
│
|
||||
o C
|
||||
├─╮
|
||||
│ o B
|
||||
│
|
||||
o A
|
||||
o │ A
|
||||
│
|
||||
o B
|
||||
|
||||
""",
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user