1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//! A crate with utility types for use by other crates that implement specifics.
//!
//! Unless specified differently, all operations need an index file (e.g. `.git/index`) as driver.
//!
//! ## Feature Flags
use BString;
/// Provides types needed for using [`stack::Platform::matching_attributes()`].
pub use gix_attributes as attributes;
/// A way to access the [`Case`](glob::pattern::Case) enum which used throughout this API.
pub use gix_glob as glob;
/// Provides types needed for using [`stack::Platform::excluded_kind()`].
pub use gix_ignore as ignore;
/// Provides types needed for using [`Stack::at_path()`] and [`Stack::at_entry()`].
pub use gix_index as index;
/// Provides types needed for using [`Stack::at_path()`] and [`Stack::at_entry()`].
pub use gix_object as object;
/// Provides types needed for using [`stack::State::for_checkout()`].
pub use gix_validate as validate;
/// A cache for efficiently executing operations on directories and files which are encountered in sorted order.
/// That way, these operations can be re-used for subsequent invocations in the same directory.
///
/// This cache can be configured to create directories efficiently, read git-ignore files and git-attribute files,
/// in any combination.
///
/// A cache for directory creation to reduce the amount of stat calls when creating
/// directories safely, that is without following symlinks that might be on the way.
///
/// As a special case, it offers a 'prefix' which (by itself) is assumed to exist and may contain symlinks.
/// Everything past that prefix boundary must not contain a symlink. We do this by allowing any input path.
///
/// Another added benefit is its ability to store the path of full path of the entry to which leading directories
/// are to be created to avoid allocating memory.
///
/// For this to work, it remembers the last 'good' path to a directory and assumes that all components of it
/// are still valid, too.
/// As directories are created, the cache will be adjusted to reflect the latest seen directory.
///
/// The caching is only useful if consecutive calls to create a directory are using a sorted list of entries.
pub type PathIdMapping = ;
///