##// END OF EJS Templates
rust: implement conversion of RevlogError into HgError...
rust: implement conversion of RevlogError into HgError The conversion already exists in rhg, where we need to convert to CommandError. This commit moves it to hg core. This makes it easier to code some middleware where we need to carry around a type that represents any type of hg error (HgError).

File last commit:

r53200:22d24f6d default
r53241:09a36de5 default
Show More
lib.rs
61 lines | 2.0 KiB | application/rls-services+xml | RustLexer
Georges Racinet
rust-core: updated copyright notice...
r44455 // Copyright 2018-2020 Georges Racinet <georges.racinet@octobus.net>
// and Mercurial contributors
Georges Racinet
rust: pure Rust lazyancestors iterator...
r40307 //
// This software may be used and distributed according to the terms of the
// GNU General Public License version 2 or any later version.
Simon Sapin
rust: use HgError in RevlogError and Vfs...
r47172
Georges Racinet
rust: pure Rust lazyancestors iterator...
r40307 mod ancestors;
Georges Racinet on ishtar.racinet.fr
rust: dagop.headrevs() Rust counterparts...
r41278 pub mod dagops;
Simon Sapin
rust: Introduce an `HgError` enum for common error cases...
r47167 pub mod errors;
Raphaël Gomès
rhg-status: add support for narrow clones
r50383 pub mod narrow;
Raphaël Gomès
rhg: add sparse support
r50380 pub mod sparse;
pacien
hg-core: dedup LazyAncestors Iterator impl...
r49351 pub use ancestors::{AncestorsIterator, MissingAncestors};
Simon Sapin
rust: Add a Timestamp struct instead of abusing Duration...
r47871 pub mod dirstate;
Georges Racinet
rust-discovery: starting core implementation...
r42355 pub mod discovery;
Pulkit Goyal
rhg: add exit code to HgError::Abort()...
r48199 pub mod exit_codes;
Raphaël Gomès
hg-core: add fncache module...
r53063 pub mod fncache;
Simon Sapin
requirements: move loading to hg-core and add parsing...
r46536 pub mod requirements;
Raphaël Gomès
rust-dirstate: add rust-cpython bindings to the new parse/pack functions...
r42489 pub mod testing; // unconditionally built, for use from integration tests
Raphaël Gomès
rust-lib: only export very common types to the top of the crate...
r53197
// Export very common type to make discovery easier
pub use dirstate::DirstateParents;
copies: introduce a basic Rust function for `combine_changeset_copies`...
r46556 pub mod copy_tracing;
Spencer Baugh
rhg: support "status FILE"...
r51759 pub mod filepatterns;
Raphaël Gomès
rust-matchers: add `Matcher` trait and implement `AlwaysMatcher`...
r43742 pub mod matchers;
Simon Sapin
rust: introduce Repo and Vfs types for filesystem abstraction...
r46782 pub mod repo;
Georges Racinet
rust-core: extracted a revlog submodule...
r44457 pub mod revlog;
Raphaël Gomès
rust: don't star export from the `revlog` module...
r53075 // Export very common types to make discovery easier
pub use revlog::{
BaseRevision, Graph, GraphError, Node, NodePrefix, Revision,
UncheckedRevision, NULL_NODE, NULL_NODE_ID, NULL_REVISION,
WORKING_DIRECTORY_HEX, WORKING_DIRECTORY_REVISION,
};
Arseniy Alekseyev
rhg: implement checkexec to support weird filesystems...
r50789 pub mod checkexec;
Raphaël Gomès
hg-core: add basic config module...
r46803 pub mod config;
Simon Sapin
rhg: Initial repository locking...
r49245 pub mod lock;
Simon Sapin
rust: Add a log file rotation utility...
r47341 pub mod logging;
Antoine Cezar
hg-core: add Operation interface for high-level hg operations...
r45501 pub mod operations;
Raphaël Gomès
rust: add `Progress` trait for progress bars...
r52934 pub mod progress;
Simon Sapin
rhg: centralize parsing of `--rev` CLI arguments...
r47162 pub mod revset;
Raphaël Gomès
rust-revlog: add a Rust-only `InnerRevlog`...
r53057 pub mod transaction;
Raphaël Gomès
update: add a Rust fast-path when updating from null (and clean)...
r52953 pub mod update;
Raphaël Gomès
rust-utils: add docstrings and doctests for utils.rs...
r42829 pub mod utils;
Simon Sapin
rust: Move VFS code to its own module...
r48764 pub mod vfs;
Raphaël Gomès
rust-update: handle SIGINT from long-running update threads...
r53110 use std::{collections::HashMap, sync::atomic::AtomicBool};
Raphaël Gomès
rust-performance: introduce FastHashMap type alias for HashMap...
r44278 use twox_hash::RandomXxHashBuilder64;
Georges Racinet
rust: pure Rust lazyancestors iterator...
r40307
Raphaël Gomès
rust-update: handle SIGINT from long-running update threads...
r53110 /// Used to communicate with threads spawned from code within this crate that
/// they should stop their work (SIGINT was received).
pub static INTERRUPT_RECEIVED: AtomicBool = AtomicBool::new(false);
Raphaël Gomès
rust-filepatterns: add a Rust implementation of pattern-related utils...
r42514 pub type LineNumber = usize;
Raphaël Gomès
rust-performance: introduce FastHashMap type alias for HashMap...
r44278 /// Rust's default hasher is too slow because it tries to prevent collision
/// attacks. We are not concerned about those: if an ill-minded person has
/// write access to your repository, you have other issues.
pub type FastHashMap<K, V> = HashMap<K, V, RandomXxHashBuilder64>;
Simon Sapin
dirstate-tree: optimize HashMap lookups with raw_entry_mut...
r49805 // TODO: should this be the default `FastHashMap` for all of hg-core, not just
Raphaël Gomès
rust-dirstate: merge `dirstate_tree` module into `dirstate`...
r53195 // dirstate? How does XxHash compare with AHash, hashbrown’s default?
Simon Sapin
dirstate-tree: optimize HashMap lookups with raw_entry_mut...
r49805 pub type FastHashbrownMap<K, V> =
hashbrown::HashMap<K, V, RandomXxHashBuilder64>;