##// END OF EJS Templates
rust-nodemap: pure Rust example...
Georges Racinet -
r44870:8f7c6656 default
parent child Browse files
Show More
@@ -0,0 +1,95 b''
1 // Copyright 2019-2020 Georges Racinet <georges.racinet@octobus.net>
2 //
3 // This software may be used and distributed according to the terms of the
4 // GNU General Public License version 2 or any later version.
5
6 //! Minimal `RevlogIndex`, readable from standard Mercurial file format
7 use hg::*;
8 use memmap::*;
9 use std::fs::File;
10 use std::ops::Deref;
11 use std::path::Path;
12 use std::slice;
13
14 pub struct Index {
15 data: Box<dyn Deref<Target = [IndexEntry]> + Send>,
16 }
17
18 /// A fixed sized index entry. All numbers are big endian
19 #[repr(C)]
20 pub struct IndexEntry {
21 not_used_yet: [u8; 24],
22 p1: Revision,
23 p2: Revision,
24 node: Node,
25 unused_node: [u8; 12],
26 }
27
28 pub const INDEX_ENTRY_SIZE: usize = 64;
29
30 impl IndexEntry {
31 fn parents(&self) -> [Revision; 2] {
32 [Revision::from_be(self.p1), Revision::from_be(self.p1)]
33 }
34 }
35
36 impl RevlogIndex for Index {
37 fn len(&self) -> usize {
38 self.data.len()
39 }
40
41 fn node(&self, rev: Revision) -> Option<&Node> {
42 if rev == NULL_REVISION {
43 return None;
44 }
45 let i = rev as usize;
46 if i >= self.len() {
47 None
48 } else {
49 Some(&self.data[i].node)
50 }
51 }
52 }
53
54 impl Graph for &Index {
55 fn parents(&self, rev: Revision) -> Result<[Revision; 2], GraphError> {
56 let [p1, p2] = (*self).data[rev as usize].parents();
57 let len = (*self).len();
58 if p1 < NULL_REVISION
59 || p2 < NULL_REVISION
60 || p1 as usize >= len
61 || p2 as usize >= len
62 {
63 return Err(GraphError::ParentOutOfRange(rev));
64 }
65 Ok([p1, p2])
66 }
67 }
68
69 struct IndexMmap(Mmap);
70
71 impl Deref for IndexMmap {
72 type Target = [IndexEntry];
73
74 fn deref(&self) -> &[IndexEntry] {
75 let ptr = self.0.as_ptr() as *const IndexEntry;
76 // Any misaligned data will be ignored.
77 debug_assert_eq!(
78 self.0.len() % std::mem::align_of::<IndexEntry>(),
79 0,
80 "Misaligned data in mmap"
81 );
82 unsafe { slice::from_raw_parts(ptr, self.0.len() / INDEX_ENTRY_SIZE) }
83 }
84 }
85
86 impl Index {
87 pub fn load_mmap(path: impl AsRef<Path>) -> Self {
88 let file = File::open(path).unwrap();
89 let msg = "Index file is missing, or missing permission";
90 let mmap = unsafe { MmapOptions::new().map(&file) }.expect(msg);
91 Self {
92 data: Box::new(IndexMmap(mmap)),
93 }
94 }
95 }
@@ -0,0 +1,146 b''
1 // Copyright 2019-2020 Georges Racinet <georges.racinet@octobus.net>
2 //
3 // This software may be used and distributed according to the terms of the
4 // GNU General Public License version 2 or any later version.
5
6 use clap::*;
7 use hg::revlog::node::*;
8 use hg::revlog::nodemap::*;
9 use hg::revlog::*;
10 use memmap::MmapOptions;
11 use rand::Rng;
12 use std::fs::File;
13 use std::io;
14 use std::io::Write;
15 use std::path::{Path, PathBuf};
16 use std::str::FromStr;
17 use std::time::Instant;
18
19 mod index;
20 use index::Index;
21
22 fn mmap_index(repo_path: &Path) -> Index {
23 let mut path = PathBuf::from(repo_path);
24 path.extend([".hg", "store", "00changelog.i"].iter());
25 Index::load_mmap(path)
26 }
27
28 fn mmap_nodemap(path: &Path) -> NodeTree {
29 let file = File::open(path).unwrap();
30 let mmap = unsafe { MmapOptions::new().map(&file).unwrap() };
31 let len = mmap.len();
32 NodeTree::load_bytes(Box::new(mmap), len)
33 }
34
35 /// Scan the whole index and create the corresponding nodemap file at `path`
36 fn create(index: &Index, path: &Path) -> io::Result<()> {
37 let mut file = File::create(path)?;
38 let start = Instant::now();
39 let mut nm = NodeTree::default();
40 for rev in 0..index.len() {
41 let rev = rev as Revision;
42 nm.insert(index, index.node(rev).unwrap(), rev).unwrap();
43 }
44 eprintln!("Nodemap constructed in RAM in {:?}", start.elapsed());
45 file.write(&nm.into_readonly_and_added_bytes().1)?;
46 eprintln!("Nodemap written to disk");
47 Ok(())
48 }
49
50 fn query(index: &Index, nm: &NodeTree, prefix: &str) {
51 let start = Instant::now();
52 let res = nm.find_hex(index, prefix);
53 println!("Result found in {:?}: {:?}", start.elapsed(), res);
54 }
55
56 fn bench(index: &Index, nm: &NodeTree, queries: usize) {
57 let len = index.len() as u32;
58 let mut rng = rand::thread_rng();
59 let nodes: Vec<Node> = (0..queries)
60 .map(|_| {
61 index
62 .node((rng.gen::<u32>() % len) as Revision)
63 .unwrap()
64 .clone()
65 })
66 .collect();
67 if queries < 10 {
68 let nodes_hex: Vec<String> =
69 nodes.iter().map(|n| n.encode_hex()).collect();
70 println!("Nodes: {:?}", nodes_hex);
71 }
72 let mut last: Option<Revision> = None;
73 let start = Instant::now();
74 for node in nodes.iter() {
75 last = nm.find_bin(index, node.into()).unwrap();
76 }
77 let elapsed = start.elapsed();
78 println!(
79 "Did {} queries in {:?} (mean {:?}), last was {:?} with result {:?}",
80 queries,
81 elapsed,
82 elapsed / (queries as u32),
83 nodes.last().unwrap().encode_hex(),
84 last
85 );
86 }
87
88 fn main() {
89 let matches = App::new("Nodemap pure Rust example")
90 .arg(
91 Arg::with_name("REPOSITORY")
92 .help("Path to the repository, always necessary for its index")
93 .required(true),
94 )
95 .arg(
96 Arg::with_name("NODEMAP_FILE")
97 .help("Path to the nodemap file, independent of REPOSITORY")
98 .required(true),
99 )
100 .subcommand(
101 SubCommand::with_name("create")
102 .about("Create NODEMAP_FILE by scanning repository index"),
103 )
104 .subcommand(
105 SubCommand::with_name("query")
106 .about("Query NODEMAP_FILE for PREFIX")
107 .arg(Arg::with_name("PREFIX").required(true)),
108 )
109 .subcommand(
110 SubCommand::with_name("bench")
111 .about(
112 "Perform #QUERIES random successful queries on NODEMAP_FILE")
113 .arg(Arg::with_name("QUERIES").required(true)),
114 )
115 .get_matches();
116
117 let repo = matches.value_of("REPOSITORY").unwrap();
118 let nm_path = matches.value_of("NODEMAP_FILE").unwrap();
119
120 let index = mmap_index(&Path::new(repo));
121
122 if let Some(_) = matches.subcommand_matches("create") {
123 println!("Creating nodemap file {} for repository {}", nm_path, repo);
124 create(&index, &Path::new(nm_path)).unwrap();
125 return;
126 }
127
128 let nm = mmap_nodemap(&Path::new(nm_path));
129 if let Some(matches) = matches.subcommand_matches("query") {
130 let prefix = matches.value_of("PREFIX").unwrap();
131 println!(
132 "Querying {} in nodemap file {} of repository {}",
133 prefix, nm_path, repo
134 );
135 query(&index, &nm, prefix);
136 }
137 if let Some(matches) = matches.subcommand_matches("bench") {
138 let queries =
139 usize::from_str(matches.value_of("QUERIES").unwrap()).unwrap();
140 println!(
141 "Doing {} random queries in nodemap file {} of repository {}",
142 queries, nm_path, repo
143 );
144 bench(&index, &nm, queries);
145 }
146 }
@@ -1,672 +1,737 b''
1 # This file is automatically @generated by Cargo.
1 # This file is automatically @generated by Cargo.
2 # It is not intended for manual editing.
2 # It is not intended for manual editing.
3 [[package]]
3 [[package]]
4 name = "aho-corasick"
4 name = "aho-corasick"
5 version = "0.7.8"
5 version = "0.7.8"
6 source = "registry+https://github.com/rust-lang/crates.io-index"
6 source = "registry+https://github.com/rust-lang/crates.io-index"
7 dependencies = [
7 dependencies = [
8 "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
8 "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
9 ]
9 ]
10
10
11 [[package]]
11 [[package]]
12 name = "ansi_term"
12 name = "ansi_term"
13 version = "0.11.0"
13 version = "0.11.0"
14 source = "registry+https://github.com/rust-lang/crates.io-index"
14 source = "registry+https://github.com/rust-lang/crates.io-index"
15 dependencies = [
15 dependencies = [
16 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
16 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
17 ]
17 ]
18
18
19 [[package]]
19 [[package]]
20 name = "atty"
21 version = "0.2.14"
22 source = "registry+https://github.com/rust-lang/crates.io-index"
23 dependencies = [
24 "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
25 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
26 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
27 ]
28
29 [[package]]
20 name = "autocfg"
30 name = "autocfg"
21 version = "0.1.7"
31 version = "0.1.7"
22 source = "registry+https://github.com/rust-lang/crates.io-index"
32 source = "registry+https://github.com/rust-lang/crates.io-index"
23
33
24 [[package]]
34 [[package]]
25 name = "autocfg"
35 name = "autocfg"
26 version = "1.0.0"
36 version = "1.0.0"
27 source = "registry+https://github.com/rust-lang/crates.io-index"
37 source = "registry+https://github.com/rust-lang/crates.io-index"
28
38
29 [[package]]
39 [[package]]
30 name = "bitflags"
40 name = "bitflags"
31 version = "1.2.1"
41 version = "1.2.1"
32 source = "registry+https://github.com/rust-lang/crates.io-index"
42 source = "registry+https://github.com/rust-lang/crates.io-index"
33
43
34 [[package]]
44 [[package]]
35 name = "byteorder"
45 name = "byteorder"
36 version = "1.3.2"
46 version = "1.3.2"
37 source = "registry+https://github.com/rust-lang/crates.io-index"
47 source = "registry+https://github.com/rust-lang/crates.io-index"
38
48
39 [[package]]
49 [[package]]
40 name = "c2-chacha"
50 name = "c2-chacha"
41 version = "0.2.3"
51 version = "0.2.3"
42 source = "registry+https://github.com/rust-lang/crates.io-index"
52 source = "registry+https://github.com/rust-lang/crates.io-index"
43 dependencies = [
53 dependencies = [
44 "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
54 "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
45 ]
55 ]
46
56
47 [[package]]
57 [[package]]
48 name = "cc"
58 name = "cc"
49 version = "1.0.50"
59 version = "1.0.50"
50 source = "registry+https://github.com/rust-lang/crates.io-index"
60 source = "registry+https://github.com/rust-lang/crates.io-index"
51
61
52 [[package]]
62 [[package]]
53 name = "cfg-if"
63 name = "cfg-if"
54 version = "0.1.10"
64 version = "0.1.10"
55 source = "registry+https://github.com/rust-lang/crates.io-index"
65 source = "registry+https://github.com/rust-lang/crates.io-index"
56
66
57 [[package]]
67 [[package]]
68 name = "clap"
69 version = "2.33.0"
70 source = "registry+https://github.com/rust-lang/crates.io-index"
71 dependencies = [
72 "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
73 "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
74 "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
75 "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
76 "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
77 "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
78 "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
79 ]
80
81 [[package]]
58 name = "cloudabi"
82 name = "cloudabi"
59 version = "0.0.3"
83 version = "0.0.3"
60 source = "registry+https://github.com/rust-lang/crates.io-index"
84 source = "registry+https://github.com/rust-lang/crates.io-index"
61 dependencies = [
85 dependencies = [
62 "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
86 "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
63 ]
87 ]
64
88
65 [[package]]
89 [[package]]
66 name = "cpython"
90 name = "cpython"
67 version = "0.4.1"
91 version = "0.4.1"
68 source = "registry+https://github.com/rust-lang/crates.io-index"
92 source = "registry+https://github.com/rust-lang/crates.io-index"
69 dependencies = [
93 dependencies = [
70 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
94 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
71 "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
95 "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
72 "python27-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
96 "python27-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
73 "python3-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
97 "python3-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
74 ]
98 ]
75
99
76 [[package]]
100 [[package]]
77 name = "crossbeam-deque"
101 name = "crossbeam-deque"
78 version = "0.7.2"
102 version = "0.7.2"
79 source = "registry+https://github.com/rust-lang/crates.io-index"
103 source = "registry+https://github.com/rust-lang/crates.io-index"
80 dependencies = [
104 dependencies = [
81 "crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
105 "crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
82 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
106 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
83 ]
107 ]
84
108
85 [[package]]
109 [[package]]
86 name = "crossbeam-epoch"
110 name = "crossbeam-epoch"
87 version = "0.8.0"
111 version = "0.8.0"
88 source = "registry+https://github.com/rust-lang/crates.io-index"
112 source = "registry+https://github.com/rust-lang/crates.io-index"
89 dependencies = [
113 dependencies = [
90 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
114 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
91 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
115 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
92 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
116 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
93 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
117 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
94 "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
118 "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
95 "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
119 "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
96 ]
120 ]
97
121
98 [[package]]
122 [[package]]
99 name = "crossbeam-queue"
123 name = "crossbeam-queue"
100 version = "0.2.1"
124 version = "0.2.1"
101 source = "registry+https://github.com/rust-lang/crates.io-index"
125 source = "registry+https://github.com/rust-lang/crates.io-index"
102 dependencies = [
126 dependencies = [
103 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
127 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
104 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
128 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
105 ]
129 ]
106
130
107 [[package]]
131 [[package]]
108 name = "crossbeam-utils"
132 name = "crossbeam-utils"
109 version = "0.7.0"
133 version = "0.7.0"
110 source = "registry+https://github.com/rust-lang/crates.io-index"
134 source = "registry+https://github.com/rust-lang/crates.io-index"
111 dependencies = [
135 dependencies = [
112 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
136 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
113 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
137 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
114 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
138 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
115 ]
139 ]
116
140
117 [[package]]
141 [[package]]
118 name = "ctor"
142 name = "ctor"
119 version = "0.1.12"
143 version = "0.1.12"
120 source = "registry+https://github.com/rust-lang/crates.io-index"
144 source = "registry+https://github.com/rust-lang/crates.io-index"
121 dependencies = [
145 dependencies = [
122 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
146 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
123 "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
147 "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
124 ]
148 ]
125
149
126 [[package]]
150 [[package]]
127 name = "difference"
151 name = "difference"
128 version = "2.0.0"
152 version = "2.0.0"
129 source = "registry+https://github.com/rust-lang/crates.io-index"
153 source = "registry+https://github.com/rust-lang/crates.io-index"
130
154
131 [[package]]
155 [[package]]
132 name = "either"
156 name = "either"
133 version = "1.5.3"
157 version = "1.5.3"
134 source = "registry+https://github.com/rust-lang/crates.io-index"
158 source = "registry+https://github.com/rust-lang/crates.io-index"
135
159
136 [[package]]
160 [[package]]
137 name = "fuchsia-cprng"
161 name = "fuchsia-cprng"
138 version = "0.1.1"
162 version = "0.1.1"
139 source = "registry+https://github.com/rust-lang/crates.io-index"
163 source = "registry+https://github.com/rust-lang/crates.io-index"
140
164
141 [[package]]
165 [[package]]
142 name = "getrandom"
166 name = "getrandom"
143 version = "0.1.14"
167 version = "0.1.14"
144 source = "registry+https://github.com/rust-lang/crates.io-index"
168 source = "registry+https://github.com/rust-lang/crates.io-index"
145 dependencies = [
169 dependencies = [
146 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
170 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
147 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
171 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
148 "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
172 "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
149 ]
173 ]
150
174
151 [[package]]
175 [[package]]
152 name = "hermit-abi"
176 name = "hermit-abi"
153 version = "0.1.6"
177 version = "0.1.6"
154 source = "registry+https://github.com/rust-lang/crates.io-index"
178 source = "registry+https://github.com/rust-lang/crates.io-index"
155 dependencies = [
179 dependencies = [
156 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
180 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
157 ]
181 ]
158
182
159 [[package]]
183 [[package]]
160 name = "hex"
184 name = "hex"
161 version = "0.4.0"
185 version = "0.4.0"
162 source = "registry+https://github.com/rust-lang/crates.io-index"
186 source = "registry+https://github.com/rust-lang/crates.io-index"
163
187
164 [[package]]
188 [[package]]
165 name = "hg-core"
189 name = "hg-core"
166 version = "0.1.0"
190 version = "0.1.0"
167 dependencies = [
191 dependencies = [
168 "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
192 "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
169 "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
193 "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
194 "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
170 "hex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
195 "hex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
171 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
196 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
172 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
197 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
173 "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
198 "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
199 "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
174 "pretty_assertions 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
200 "pretty_assertions 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
175 "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
201 "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
176 "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
202 "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
177 "rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
203 "rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
178 "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
204 "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
179 "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
205 "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
180 "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
206 "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
181 "twox-hash 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
207 "twox-hash 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
182 ]
208 ]
183
209
184 [[package]]
210 [[package]]
185 name = "hg-cpython"
211 name = "hg-cpython"
186 version = "0.1.0"
212 version = "0.1.0"
187 dependencies = [
213 dependencies = [
188 "cpython 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
214 "cpython 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
189 "hg-core 0.1.0",
215 "hg-core 0.1.0",
190 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
216 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
191 ]
217 ]
192
218
193 [[package]]
219 [[package]]
194 name = "hgdirectffi"
220 name = "hgdirectffi"
195 version = "0.1.0"
221 version = "0.1.0"
196 dependencies = [
222 dependencies = [
197 "hg-core 0.1.0",
223 "hg-core 0.1.0",
198 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
224 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
199 ]
225 ]
200
226
201 [[package]]
227 [[package]]
202 name = "lazy_static"
228 name = "lazy_static"
203 version = "1.4.0"
229 version = "1.4.0"
204 source = "registry+https://github.com/rust-lang/crates.io-index"
230 source = "registry+https://github.com/rust-lang/crates.io-index"
205
231
206 [[package]]
232 [[package]]
207 name = "libc"
233 name = "libc"
208 version = "0.2.66"
234 version = "0.2.66"
209 source = "registry+https://github.com/rust-lang/crates.io-index"
235 source = "registry+https://github.com/rust-lang/crates.io-index"
210
236
211 [[package]]
237 [[package]]
212 name = "memchr"
238 name = "memchr"
213 version = "2.3.0"
239 version = "2.3.0"
214 source = "registry+https://github.com/rust-lang/crates.io-index"
240 source = "registry+https://github.com/rust-lang/crates.io-index"
215
241
216 [[package]]
242 [[package]]
243 name = "memmap"
244 version = "0.7.0"
245 source = "registry+https://github.com/rust-lang/crates.io-index"
246 dependencies = [
247 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
248 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
249 ]
250
251 [[package]]
217 name = "memoffset"
252 name = "memoffset"
218 version = "0.5.3"
253 version = "0.5.3"
219 source = "registry+https://github.com/rust-lang/crates.io-index"
254 source = "registry+https://github.com/rust-lang/crates.io-index"
220 dependencies = [
255 dependencies = [
221 "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
256 "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
222 ]
257 ]
223
258
224 [[package]]
259 [[package]]
225 name = "num-traits"
260 name = "num-traits"
226 version = "0.2.11"
261 version = "0.2.11"
227 source = "registry+https://github.com/rust-lang/crates.io-index"
262 source = "registry+https://github.com/rust-lang/crates.io-index"
228 dependencies = [
263 dependencies = [
229 "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
264 "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
230 ]
265 ]
231
266
232 [[package]]
267 [[package]]
233 name = "num_cpus"
268 name = "num_cpus"
234 version = "1.12.0"
269 version = "1.12.0"
235 source = "registry+https://github.com/rust-lang/crates.io-index"
270 source = "registry+https://github.com/rust-lang/crates.io-index"
236 dependencies = [
271 dependencies = [
237 "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
272 "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
238 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
273 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
239 ]
274 ]
240
275
241 [[package]]
276 [[package]]
242 name = "output_vt100"
277 name = "output_vt100"
243 version = "0.1.2"
278 version = "0.1.2"
244 source = "registry+https://github.com/rust-lang/crates.io-index"
279 source = "registry+https://github.com/rust-lang/crates.io-index"
245 dependencies = [
280 dependencies = [
246 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
281 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
247 ]
282 ]
248
283
249 [[package]]
284 [[package]]
250 name = "ppv-lite86"
285 name = "ppv-lite86"
251 version = "0.2.6"
286 version = "0.2.6"
252 source = "registry+https://github.com/rust-lang/crates.io-index"
287 source = "registry+https://github.com/rust-lang/crates.io-index"
253
288
254 [[package]]
289 [[package]]
255 name = "pretty_assertions"
290 name = "pretty_assertions"
256 version = "0.6.1"
291 version = "0.6.1"
257 source = "registry+https://github.com/rust-lang/crates.io-index"
292 source = "registry+https://github.com/rust-lang/crates.io-index"
258 dependencies = [
293 dependencies = [
259 "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
294 "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
260 "ctor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
295 "ctor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
261 "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
296 "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
262 "output_vt100 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
297 "output_vt100 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
263 ]
298 ]
264
299
265 [[package]]
300 [[package]]
266 name = "proc-macro2"
301 name = "proc-macro2"
267 version = "1.0.8"
302 version = "1.0.8"
268 source = "registry+https://github.com/rust-lang/crates.io-index"
303 source = "registry+https://github.com/rust-lang/crates.io-index"
269 dependencies = [
304 dependencies = [
270 "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
305 "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
271 ]
306 ]
272
307
273 [[package]]
308 [[package]]
274 name = "python27-sys"
309 name = "python27-sys"
275 version = "0.4.1"
310 version = "0.4.1"
276 source = "registry+https://github.com/rust-lang/crates.io-index"
311 source = "registry+https://github.com/rust-lang/crates.io-index"
277 dependencies = [
312 dependencies = [
278 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
313 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
279 "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
314 "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
280 ]
315 ]
281
316
282 [[package]]
317 [[package]]
283 name = "python3-sys"
318 name = "python3-sys"
284 version = "0.4.1"
319 version = "0.4.1"
285 source = "registry+https://github.com/rust-lang/crates.io-index"
320 source = "registry+https://github.com/rust-lang/crates.io-index"
286 dependencies = [
321 dependencies = [
287 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
322 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
288 "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
323 "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
289 ]
324 ]
290
325
291 [[package]]
326 [[package]]
292 name = "quote"
327 name = "quote"
293 version = "1.0.2"
328 version = "1.0.2"
294 source = "registry+https://github.com/rust-lang/crates.io-index"
329 source = "registry+https://github.com/rust-lang/crates.io-index"
295 dependencies = [
330 dependencies = [
296 "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
331 "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
297 ]
332 ]
298
333
299 [[package]]
334 [[package]]
300 name = "rand"
335 name = "rand"
301 version = "0.6.5"
336 version = "0.6.5"
302 source = "registry+https://github.com/rust-lang/crates.io-index"
337 source = "registry+https://github.com/rust-lang/crates.io-index"
303 dependencies = [
338 dependencies = [
304 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
339 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
305 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
340 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
306 "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
341 "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
307 "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
342 "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
308 "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
343 "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
309 "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
344 "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
310 "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
345 "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
311 "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
346 "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
312 "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
347 "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
313 "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
348 "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
314 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
349 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
315 ]
350 ]
316
351
317 [[package]]
352 [[package]]
318 name = "rand"
353 name = "rand"
319 version = "0.7.3"
354 version = "0.7.3"
320 source = "registry+https://github.com/rust-lang/crates.io-index"
355 source = "registry+https://github.com/rust-lang/crates.io-index"
321 dependencies = [
356 dependencies = [
322 "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
357 "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
323 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
358 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
324 "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
359 "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
325 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
360 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
326 "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
361 "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
327 ]
362 ]
328
363
329 [[package]]
364 [[package]]
330 name = "rand_chacha"
365 name = "rand_chacha"
331 version = "0.1.1"
366 version = "0.1.1"
332 source = "registry+https://github.com/rust-lang/crates.io-index"
367 source = "registry+https://github.com/rust-lang/crates.io-index"
333 dependencies = [
368 dependencies = [
334 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
369 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
335 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
370 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
336 ]
371 ]
337
372
338 [[package]]
373 [[package]]
339 name = "rand_chacha"
374 name = "rand_chacha"
340 version = "0.2.1"
375 version = "0.2.1"
341 source = "registry+https://github.com/rust-lang/crates.io-index"
376 source = "registry+https://github.com/rust-lang/crates.io-index"
342 dependencies = [
377 dependencies = [
343 "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
378 "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
344 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
379 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
345 ]
380 ]
346
381
347 [[package]]
382 [[package]]
348 name = "rand_core"
383 name = "rand_core"
349 version = "0.3.1"
384 version = "0.3.1"
350 source = "registry+https://github.com/rust-lang/crates.io-index"
385 source = "registry+https://github.com/rust-lang/crates.io-index"
351 dependencies = [
386 dependencies = [
352 "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
387 "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
353 ]
388 ]
354
389
355 [[package]]
390 [[package]]
356 name = "rand_core"
391 name = "rand_core"
357 version = "0.4.2"
392 version = "0.4.2"
358 source = "registry+https://github.com/rust-lang/crates.io-index"
393 source = "registry+https://github.com/rust-lang/crates.io-index"
359
394
360 [[package]]
395 [[package]]
361 name = "rand_core"
396 name = "rand_core"
362 version = "0.5.1"
397 version = "0.5.1"
363 source = "registry+https://github.com/rust-lang/crates.io-index"
398 source = "registry+https://github.com/rust-lang/crates.io-index"
364 dependencies = [
399 dependencies = [
365 "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
400 "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
366 ]
401 ]
367
402
368 [[package]]
403 [[package]]
369 name = "rand_hc"
404 name = "rand_hc"
370 version = "0.1.0"
405 version = "0.1.0"
371 source = "registry+https://github.com/rust-lang/crates.io-index"
406 source = "registry+https://github.com/rust-lang/crates.io-index"
372 dependencies = [
407 dependencies = [
373 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
408 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
374 ]
409 ]
375
410
376 [[package]]
411 [[package]]
377 name = "rand_hc"
412 name = "rand_hc"
378 version = "0.2.0"
413 version = "0.2.0"
379 source = "registry+https://github.com/rust-lang/crates.io-index"
414 source = "registry+https://github.com/rust-lang/crates.io-index"
380 dependencies = [
415 dependencies = [
381 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
416 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
382 ]
417 ]
383
418
384 [[package]]
419 [[package]]
385 name = "rand_isaac"
420 name = "rand_isaac"
386 version = "0.1.1"
421 version = "0.1.1"
387 source = "registry+https://github.com/rust-lang/crates.io-index"
422 source = "registry+https://github.com/rust-lang/crates.io-index"
388 dependencies = [
423 dependencies = [
389 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
424 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
390 ]
425 ]
391
426
392 [[package]]
427 [[package]]
393 name = "rand_jitter"
428 name = "rand_jitter"
394 version = "0.1.4"
429 version = "0.1.4"
395 source = "registry+https://github.com/rust-lang/crates.io-index"
430 source = "registry+https://github.com/rust-lang/crates.io-index"
396 dependencies = [
431 dependencies = [
397 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
432 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
398 "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
433 "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
399 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
434 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
400 ]
435 ]
401
436
402 [[package]]
437 [[package]]
403 name = "rand_os"
438 name = "rand_os"
404 version = "0.1.3"
439 version = "0.1.3"
405 source = "registry+https://github.com/rust-lang/crates.io-index"
440 source = "registry+https://github.com/rust-lang/crates.io-index"
406 dependencies = [
441 dependencies = [
407 "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
442 "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
408 "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
443 "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
409 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
444 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
410 "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
445 "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
411 "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
446 "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
412 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
447 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
413 ]
448 ]
414
449
415 [[package]]
450 [[package]]
416 name = "rand_pcg"
451 name = "rand_pcg"
417 version = "0.1.2"
452 version = "0.1.2"
418 source = "registry+https://github.com/rust-lang/crates.io-index"
453 source = "registry+https://github.com/rust-lang/crates.io-index"
419 dependencies = [
454 dependencies = [
420 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
455 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
421 "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
456 "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
422 ]
457 ]
423
458
424 [[package]]
459 [[package]]
425 name = "rand_xorshift"
460 name = "rand_xorshift"
426 version = "0.1.1"
461 version = "0.1.1"
427 source = "registry+https://github.com/rust-lang/crates.io-index"
462 source = "registry+https://github.com/rust-lang/crates.io-index"
428 dependencies = [
463 dependencies = [
429 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
464 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
430 ]
465 ]
431
466
432 [[package]]
467 [[package]]
433 name = "rayon"
468 name = "rayon"
434 version = "1.3.0"
469 version = "1.3.0"
435 source = "registry+https://github.com/rust-lang/crates.io-index"
470 source = "registry+https://github.com/rust-lang/crates.io-index"
436 dependencies = [
471 dependencies = [
437 "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
472 "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
438 "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
473 "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
439 "rayon-core 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
474 "rayon-core 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
440 ]
475 ]
441
476
442 [[package]]
477 [[package]]
443 name = "rayon-core"
478 name = "rayon-core"
444 version = "1.7.0"
479 version = "1.7.0"
445 source = "registry+https://github.com/rust-lang/crates.io-index"
480 source = "registry+https://github.com/rust-lang/crates.io-index"
446 dependencies = [
481 dependencies = [
447 "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
482 "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
448 "crossbeam-queue 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
483 "crossbeam-queue 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
449 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
484 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
450 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
485 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
451 "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
486 "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
452 ]
487 ]
453
488
454 [[package]]
489 [[package]]
455 name = "rdrand"
490 name = "rdrand"
456 version = "0.4.0"
491 version = "0.4.0"
457 source = "registry+https://github.com/rust-lang/crates.io-index"
492 source = "registry+https://github.com/rust-lang/crates.io-index"
458 dependencies = [
493 dependencies = [
459 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
494 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
460 ]
495 ]
461
496
462 [[package]]
497 [[package]]
463 name = "redox_syscall"
498 name = "redox_syscall"
464 version = "0.1.56"
499 version = "0.1.56"
465 source = "registry+https://github.com/rust-lang/crates.io-index"
500 source = "registry+https://github.com/rust-lang/crates.io-index"
466
501
467 [[package]]
502 [[package]]
468 name = "regex"
503 name = "regex"
469 version = "1.3.4"
504 version = "1.3.4"
470 source = "registry+https://github.com/rust-lang/crates.io-index"
505 source = "registry+https://github.com/rust-lang/crates.io-index"
471 dependencies = [
506 dependencies = [
472 "aho-corasick 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)",
507 "aho-corasick 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)",
473 "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
508 "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
474 "regex-syntax 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)",
509 "regex-syntax 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)",
475 "thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
510 "thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
476 ]
511 ]
477
512
478 [[package]]
513 [[package]]
479 name = "regex-syntax"
514 name = "regex-syntax"
480 version = "0.6.14"
515 version = "0.6.14"
481 source = "registry+https://github.com/rust-lang/crates.io-index"
516 source = "registry+https://github.com/rust-lang/crates.io-index"
482
517
483 [[package]]
518 [[package]]
484 name = "remove_dir_all"
519 name = "remove_dir_all"
485 version = "0.5.2"
520 version = "0.5.2"
486 source = "registry+https://github.com/rust-lang/crates.io-index"
521 source = "registry+https://github.com/rust-lang/crates.io-index"
487 dependencies = [
522 dependencies = [
488 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
523 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
489 ]
524 ]
490
525
491 [[package]]
526 [[package]]
492 name = "rustc_version"
527 name = "rustc_version"
493 version = "0.2.3"
528 version = "0.2.3"
494 source = "registry+https://github.com/rust-lang/crates.io-index"
529 source = "registry+https://github.com/rust-lang/crates.io-index"
495 dependencies = [
530 dependencies = [
496 "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
531 "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
497 ]
532 ]
498
533
499 [[package]]
534 [[package]]
500 name = "same-file"
535 name = "same-file"
501 version = "1.0.6"
536 version = "1.0.6"
502 source = "registry+https://github.com/rust-lang/crates.io-index"
537 source = "registry+https://github.com/rust-lang/crates.io-index"
503 dependencies = [
538 dependencies = [
504 "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
539 "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
505 ]
540 ]
506
541
507 [[package]]
542 [[package]]
508 name = "scopeguard"
543 name = "scopeguard"
509 version = "1.0.0"
544 version = "1.0.0"
510 source = "registry+https://github.com/rust-lang/crates.io-index"
545 source = "registry+https://github.com/rust-lang/crates.io-index"
511
546
512 [[package]]
547 [[package]]
513 name = "semver"
548 name = "semver"
514 version = "0.9.0"
549 version = "0.9.0"
515 source = "registry+https://github.com/rust-lang/crates.io-index"
550 source = "registry+https://github.com/rust-lang/crates.io-index"
516 dependencies = [
551 dependencies = [
517 "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
552 "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
518 ]
553 ]
519
554
520 [[package]]
555 [[package]]
521 name = "semver-parser"
556 name = "semver-parser"
522 version = "0.7.0"
557 version = "0.7.0"
523 source = "registry+https://github.com/rust-lang/crates.io-index"
558 source = "registry+https://github.com/rust-lang/crates.io-index"
524
559
525 [[package]]
560 [[package]]
561 name = "strsim"
562 version = "0.8.0"
563 source = "registry+https://github.com/rust-lang/crates.io-index"
564
565 [[package]]
526 name = "syn"
566 name = "syn"
527 version = "1.0.14"
567 version = "1.0.14"
528 source = "registry+https://github.com/rust-lang/crates.io-index"
568 source = "registry+https://github.com/rust-lang/crates.io-index"
529 dependencies = [
569 dependencies = [
530 "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
570 "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
531 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
571 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
532 "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
572 "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
533 ]
573 ]
534
574
535 [[package]]
575 [[package]]
536 name = "tempfile"
576 name = "tempfile"
537 version = "3.1.0"
577 version = "3.1.0"
538 source = "registry+https://github.com/rust-lang/crates.io-index"
578 source = "registry+https://github.com/rust-lang/crates.io-index"
539 dependencies = [
579 dependencies = [
540 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
580 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
541 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
581 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
542 "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
582 "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
543 "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
583 "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
544 "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
584 "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
545 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
585 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
546 ]
586 ]
547
587
548 [[package]]
588 [[package]]
589 name = "textwrap"
590 version = "0.11.0"
591 source = "registry+https://github.com/rust-lang/crates.io-index"
592 dependencies = [
593 "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
594 ]
595
596 [[package]]
549 name = "thread_local"
597 name = "thread_local"
550 version = "1.0.1"
598 version = "1.0.1"
551 source = "registry+https://github.com/rust-lang/crates.io-index"
599 source = "registry+https://github.com/rust-lang/crates.io-index"
552 dependencies = [
600 dependencies = [
553 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
601 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
554 ]
602 ]
555
603
556 [[package]]
604 [[package]]
557 name = "twox-hash"
605 name = "twox-hash"
558 version = "1.5.0"
606 version = "1.5.0"
559 source = "registry+https://github.com/rust-lang/crates.io-index"
607 source = "registry+https://github.com/rust-lang/crates.io-index"
560 dependencies = [
608 dependencies = [
561 "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
609 "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
562 ]
610 ]
563
611
564 [[package]]
612 [[package]]
613 name = "unicode-width"
614 version = "0.1.7"
615 source = "registry+https://github.com/rust-lang/crates.io-index"
616
617 [[package]]
565 name = "unicode-xid"
618 name = "unicode-xid"
566 version = "0.2.0"
619 version = "0.2.0"
567 source = "registry+https://github.com/rust-lang/crates.io-index"
620 source = "registry+https://github.com/rust-lang/crates.io-index"
568
621
569 [[package]]
622 [[package]]
623 name = "vec_map"
624 version = "0.8.1"
625 source = "registry+https://github.com/rust-lang/crates.io-index"
626
627 [[package]]
570 name = "wasi"
628 name = "wasi"
571 version = "0.9.0+wasi-snapshot-preview1"
629 version = "0.9.0+wasi-snapshot-preview1"
572 source = "registry+https://github.com/rust-lang/crates.io-index"
630 source = "registry+https://github.com/rust-lang/crates.io-index"
573
631
574 [[package]]
632 [[package]]
575 name = "winapi"
633 name = "winapi"
576 version = "0.3.8"
634 version = "0.3.8"
577 source = "registry+https://github.com/rust-lang/crates.io-index"
635 source = "registry+https://github.com/rust-lang/crates.io-index"
578 dependencies = [
636 dependencies = [
579 "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
637 "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
580 "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
638 "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
581 ]
639 ]
582
640
583 [[package]]
641 [[package]]
584 name = "winapi-i686-pc-windows-gnu"
642 name = "winapi-i686-pc-windows-gnu"
585 version = "0.4.0"
643 version = "0.4.0"
586 source = "registry+https://github.com/rust-lang/crates.io-index"
644 source = "registry+https://github.com/rust-lang/crates.io-index"
587
645
588 [[package]]
646 [[package]]
589 name = "winapi-util"
647 name = "winapi-util"
590 version = "0.1.3"
648 version = "0.1.3"
591 source = "registry+https://github.com/rust-lang/crates.io-index"
649 source = "registry+https://github.com/rust-lang/crates.io-index"
592 dependencies = [
650 dependencies = [
593 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
651 "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
594 ]
652 ]
595
653
596 [[package]]
654 [[package]]
597 name = "winapi-x86_64-pc-windows-gnu"
655 name = "winapi-x86_64-pc-windows-gnu"
598 version = "0.4.0"
656 version = "0.4.0"
599 source = "registry+https://github.com/rust-lang/crates.io-index"
657 source = "registry+https://github.com/rust-lang/crates.io-index"
600
658
601 [metadata]
659 [metadata]
602 "checksum aho-corasick 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)" = "743ad5a418686aad3b87fd14c43badd828cf26e214a00f92a384291cf22e1811"
660 "checksum aho-corasick 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)" = "743ad5a418686aad3b87fd14c43badd828cf26e214a00f92a384291cf22e1811"
603 "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
661 "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
662 "checksum atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
604 "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
663 "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
605 "checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
664 "checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
606 "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
665 "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
607 "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
666 "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
608 "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
667 "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
609 "checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd"
668 "checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd"
610 "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
669 "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
670 "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
611 "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
671 "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
612 "checksum cpython 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bfaf3847ab963e40c4f6dd8d6be279bdf74007ae2413786a0dcbb28c52139a95"
672 "checksum cpython 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bfaf3847ab963e40c4f6dd8d6be279bdf74007ae2413786a0dcbb28c52139a95"
613 "checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
673 "checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
614 "checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
674 "checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
615 "checksum crossbeam-queue 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db"
675 "checksum crossbeam-queue 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db"
616 "checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
676 "checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
617 "checksum ctor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd8ce37ad4184ab2ce004c33bf6379185d3b1c95801cab51026bd271bf68eedc"
677 "checksum ctor 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd8ce37ad4184ab2ce004c33bf6379185d3b1c95801cab51026bd271bf68eedc"
618 "checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
678 "checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
619 "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
679 "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
620 "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
680 "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
621 "checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
681 "checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
622 "checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772"
682 "checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772"
623 "checksum hex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "023b39be39e3a2da62a94feb433e91e8bcd37676fbc8bea371daf52b7a769a3e"
683 "checksum hex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "023b39be39e3a2da62a94feb433e91e8bcd37676fbc8bea371daf52b7a769a3e"
624 "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
684 "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
625 "checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
685 "checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
626 "checksum memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223"
686 "checksum memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223"
687 "checksum memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
627 "checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
688 "checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
628 "checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096"
689 "checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096"
629 "checksum num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46203554f085ff89c235cd12f7075f3233af9b11ed7c9e16dfe2560d03313ce6"
690 "checksum num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46203554f085ff89c235cd12f7075f3233af9b11ed7c9e16dfe2560d03313ce6"
630 "checksum output_vt100 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53cdc5b785b7a58c5aad8216b3dfa114df64b0b06ae6e1501cef91df2fbdf8f9"
691 "checksum output_vt100 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53cdc5b785b7a58c5aad8216b3dfa114df64b0b06ae6e1501cef91df2fbdf8f9"
631 "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
692 "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
632 "checksum pretty_assertions 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f81e1644e1b54f5a68959a29aa86cde704219254669da328ecfdf6a1f09d427"
693 "checksum pretty_assertions 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f81e1644e1b54f5a68959a29aa86cde704219254669da328ecfdf6a1f09d427"
633 "checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548"
694 "checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548"
634 "checksum python27-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "67cb041de8615111bf224dd75667af5f25c6e032118251426fed7f1b70ce4c8c"
695 "checksum python27-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "67cb041de8615111bf224dd75667af5f25c6e032118251426fed7f1b70ce4c8c"
635 "checksum python3-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90af11779515a1e530af60782d273b59ac79d33b0e253c071a728563957c76d4"
696 "checksum python3-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90af11779515a1e530af60782d273b59ac79d33b0e253c071a728563957c76d4"
636 "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
697 "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
637 "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
698 "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
638 "checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
699 "checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
639 "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
700 "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
640 "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
701 "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
641 "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
702 "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
642 "checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
703 "checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
643 "checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
704 "checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
644 "checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
705 "checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
645 "checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
706 "checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
646 "checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
707 "checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
647 "checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
708 "checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
648 "checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
709 "checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
649 "checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
710 "checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
650 "checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
711 "checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
651 "checksum rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098"
712 "checksum rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098"
652 "checksum rayon-core 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9"
713 "checksum rayon-core 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9"
653 "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
714 "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
654 "checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
715 "checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
655 "checksum regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "322cf97724bea3ee221b78fe25ac9c46114ebb51747ad5babd51a2fc6a8235a8"
716 "checksum regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "322cf97724bea3ee221b78fe25ac9c46114ebb51747ad5babd51a2fc6a8235a8"
656 "checksum regex-syntax 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)" = "b28dfe3fe9badec5dbf0a79a9cccad2cfc2ab5484bdb3e44cbd1ae8b3ba2be06"
717 "checksum regex-syntax 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)" = "b28dfe3fe9badec5dbf0a79a9cccad2cfc2ab5484bdb3e44cbd1ae8b3ba2be06"
657 "checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
718 "checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
658 "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
719 "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
659 "checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
720 "checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
660 "checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
721 "checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
661 "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
722 "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
662 "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
723 "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
724 "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
663 "checksum syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5"
725 "checksum syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5"
664 "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
726 "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
727 "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
665 "checksum thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
728 "checksum thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
666 "checksum twox-hash 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bfd5b7557925ce778ff9b9ef90e3ade34c524b5ff10e239c69a42d546d2af56"
729 "checksum twox-hash 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bfd5b7557925ce778ff9b9ef90e3ade34c524b5ff10e239c69a42d546d2af56"
730 "checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
667 "checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
731 "checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
732 "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
668 "checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
733 "checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
669 "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
734 "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
670 "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
735 "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
671 "checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80"
736 "checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80"
672 "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
737 "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
@@ -1,34 +1,36 b''
1 [package]
1 [package]
2 name = "hg-core"
2 name = "hg-core"
3 version = "0.1.0"
3 version = "0.1.0"
4 authors = ["Georges Racinet <gracinet@anybox.fr>"]
4 authors = ["Georges Racinet <gracinet@anybox.fr>"]
5 description = "Mercurial pure Rust core library, with no assumption on Python bindings (FFI)"
5 description = "Mercurial pure Rust core library, with no assumption on Python bindings (FFI)"
6 edition = "2018"
6 edition = "2018"
7 build = "build.rs"
7 build = "build.rs"
8
8
9 [lib]
9 [lib]
10 name = "hg"
10 name = "hg"
11
11
12 [dependencies]
12 [dependencies]
13 byteorder = "1.3.1"
13 byteorder = "1.3.1"
14 hex = "0.4.0"
14 hex = "0.4.0"
15 lazy_static = "1.3.0"
15 lazy_static = "1.3.0"
16 libc = { version = "0.2.66", optional = true }
16 libc = { version = "0.2.66", optional = true }
17 memchr = "2.2.0"
17 memchr = "2.2.0"
18 rand = "0.6.5"
18 rand = "0.6.5"
19 rand_pcg = "0.1.1"
19 rand_pcg = "0.1.1"
20 rayon = "1.3.0"
20 rayon = "1.3.0"
21 regex = "1.1.0"
21 regex = "1.1.0"
22 twox-hash = "1.5.0"
22 twox-hash = "1.5.0"
23 same-file = "1.0.6"
23 same-file = "1.0.6"
24
24
25 [dev-dependencies]
25 [dev-dependencies]
26 clap = "*"
27 memmap = "0.7.0"
28 pretty_assertions = "0.6.1"
26 tempfile = "3.1.0"
29 tempfile = "3.1.0"
27 pretty_assertions = "0.6.1"
28
30
29 [build-dependencies]
31 [build-dependencies]
30 cc = { version = "1.0.48", optional = true }
32 cc = { version = "1.0.48", optional = true }
31
33
32 [features]
34 [features]
33 default = []
35 default = []
34 with-re2 = ["cc", "libc"]
36 with-re2 = ["cc", "libc"]
General Comments 0
You need to be logged in to leave comments. Login now