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
//! What:
//! Git LFS support:
//! pre-push planning,
//! pointer scanning and bounded uploads.
//! Why:
//! LFS is an optional feature with its own vocabulary.
//!
//! In TS you'd write (pseudocode):
//! ```ts
//! // lfs/index.ts: one `export * from './file'` per module below.
//! ```
/// When a push needs the Git LFS upload, and the texts the parent prints around it.
/// What the Git LFS upload sends: the remote and the refs, read from the push and the configuration Git would read.
/// The configuration the Git LFS upload plan reads, and the default remote derived from it.
/// Hides the credentials inside URLs in the text relayed from `git-lfs`.
/// Whether a blob is a Git LFS pointer, decided as `git-lfs` decides it.
/// The LFS objects a push introduces, found in process from the commits to be pushed.
/// The upload plan narrowed to the objects the push introduces, or to nothing.
/// The parent's bounded or interactive run of the Git LFS upload.
/// The Git LFS step before a push the caller typed: pre-check, plan and upload with the caller's streams.
/// The check that `git-lfs` can start, made before a push that is preceded by the upload.
/// The auto-push's bounded `git push`, preceded by the upload, its pre-check and its explanation.