diff options
| author | Kyle Meyer <kyle@kyleam.com> | 2022-01-17 21:08:31 -0500 |
|---|---|---|
| committer | Kyle Meyer <kyle@kyleam.com> | 2022-01-23 16:30:36 -0500 |
| commit | 2d94a9b363a7dc851e4c88dd16552bd6b2fd9238 (patch) | |
| tree | 3f561450b5fffc4ec5c7ca3bb59ae27e765f7a12 /lisp/Makefile | |
| parent | c7fd760d997ebacc82ba2f6dffaace945eb0693d (diff) | |
Add interface to 'git sparse-checkout'
Git has had limited and mostly hidden sparse checkout support for a
long time, but Git 2.25 exposed the functionality via a porcelain
command. Alongside this, it added and promoted a restricted pattern
set ("cone mode") that improves the performance of the sparse
checkouts, particularly with large trees.
Add a new library that provides an interface to 'git sparse-checkout',
supporting only the new cone mode.
Bind magit-sparse-checkout to ">" in magit-mode-map. Aside from the
lack of available letters, this key choice is based on the (perhaps
silly) hope that ">" will be easy enough to associate with a command
that converts the working tree from a bigger checkout to a smaller
one.
Hold off on adding a binding to magit-dispatch given that
magit-dispatch is mostly limited to letters at the moment and
magit-sparse-checkout is unlikely to be a heavily used command.
Note that magit-sparse-checkout-{set,add} read directories with
magit-completing-read-multiple*, which means that directory names
can't include crm-separator characters. However, this same limitation
is already in place for magit-read-files/magit:--.
Diffstat (limited to 'lisp/Makefile')
| -rw-r--r-- | lisp/Makefile | 103 |
1 files changed, 52 insertions, 51 deletions
diff --git a/lisp/Makefile b/lisp/Makefile index b0ef31f..d56731c 100644 --- a/lisp/Makefile +++ b/lisp/Makefile @@ -14,59 +14,60 @@ magit-utils.elc: magit-section.elc: ifeq "$(BUILD_MAGIT_LIBGIT)" "true" magit-libgit.elc: -magit-git.elc: magit-utils.elc magit-section.elc magit-libgit.elc +magit-git.elc: magit-utils.elc magit-section.elc magit-libgit.elc else -magit-git.elc: magit-utils.elc magit-section.elc +magit-git.elc: magit-utils.elc magit-section.elc endif -magit-mode.elc: magit-section.elc magit-git.elc -magit-margin.elc: magit-section.elc magit-mode.elc -magit-process.elc: magit-utils.elc magit-section.elc \ - magit-git.elc magit-mode.elc -magit-transient.elc: magit-git.elc magit-mode.elc magit-process.elc -magit-autorevert.elc: magit-git.elc magit-process.elc -magit-core.elc: magit-margin.elc magit-utils.elc \ - magit-section.elc magit-git.elc \ - magit-transient.elc magit-mode.elc \ - magit-process.elc magit-autorevert.elc -magit-diff.elc: git-commit.elc magit-core.elc -magit-log.elc: magit-core.elc magit-diff.elc -magit-wip.elc: magit-core.elc magit-log.elc -magit-reflog.elc: magit-core.elc magit-log.elc -magit-apply.elc: magit-core.elc magit-diff.elc magit-wip.elc -magit-repos.elc: magit-core.elc -magit.elc: git-commit.elc magit-core.elc magit-diff.elc \ - magit-log.elc magit-apply.elc magit-repos.elc -magit-status.elc: magit.elc -magit-refs.elc: magit.elc -magit-files.elc: magit.elc -magit-reset.elc: magit.elc -magit-branch.elc: magit.elc magit-reset.elc -magit-merge.elc: magit.elc magit-diff.elc -magit-tag.elc: magit.elc -magit-worktree.elc: magit.elc -magit-notes.elc: magit.elc -magit-sequence.elc: magit.elc -magit-commit.elc: magit.elc magit-sequence.elc -magit-remote.elc: magit.elc -magit-clone.elc: magit.elc -magit-fetch.elc: magit.elc -magit-pull.elc: magit.elc magit-remote.elc -magit-push.elc: magit.elc -magit-bisect.elc: magit.elc -magit-stash.elc: magit.elc magit-sequence.elc magit-reflog.elc -magit-blame.elc: magit.elc -magit-obsolete.elc: magit.elc -magit-submodule.elc: magit.elc -magit-patch.elc: magit.elc -magit-subtree.elc: magit.elc -magit-ediff.elc: magit.elc -magit-gitignore.elc: magit.elc -magit-bundle.elc: magit.elc -magit-extras.elc: magit.elc magit-merge.elc -git-rebase.elc: magit.elc -magit-imenu.elc: magit.elc git-rebase.elc -magit-bookmark.elc: magit.elc -magit-obsolete.elc: magit.elc +magit-mode.elc: magit-section.elc magit-git.elc +magit-margin.elc: magit-section.elc magit-mode.elc +magit-process.elc: magit-utils.elc magit-section.elc \ + magit-git.elc magit-mode.elc +magit-transient.elc: magit-git.elc magit-mode.elc magit-process.elc +magit-autorevert.elc: magit-git.elc magit-process.elc +magit-core.elc: magit-margin.elc magit-utils.elc \ + magit-section.elc magit-git.elc \ + magit-transient.elc magit-mode.elc \ + magit-process.elc magit-autorevert.elc +magit-diff.elc: git-commit.elc magit-core.elc +magit-log.elc: magit-core.elc magit-diff.elc +magit-wip.elc: magit-core.elc magit-log.elc +magit-reflog.elc: magit-core.elc magit-log.elc +magit-apply.elc: magit-core.elc magit-diff.elc magit-wip.elc +magit-repos.elc: magit-core.elc +magit.elc: git-commit.elc magit-core.elc magit-diff.elc \ + magit-log.elc magit-apply.elc magit-repos.elc +magit-status.elc: magit.elc +magit-refs.elc: magit.elc +magit-files.elc: magit.elc +magit-reset.elc: magit.elc +magit-branch.elc: magit.elc magit-reset.elc +magit-merge.elc: magit.elc magit-diff.elc +magit-tag.elc: magit.elc +magit-worktree.elc: magit.elc +magit-notes.elc: magit.elc +magit-sequence.elc: magit.elc +magit-commit.elc: magit.elc magit-sequence.elc +magit-remote.elc: magit.elc +magit-clone.elc: magit.elc +magit-fetch.elc: magit.elc +magit-pull.elc: magit.elc magit-remote.elc +magit-push.elc: magit.elc +magit-bisect.elc: magit.elc +magit-stash.elc: magit.elc magit-sequence.elc magit-reflog.elc +magit-blame.elc: magit.elc +magit-obsolete.elc: magit.elc +magit-submodule.elc: magit.elc +magit-patch.elc: magit.elc +magit-subtree.elc: magit.elc +magit-ediff.elc: magit.elc +magit-gitignore.elc: magit.elc +magit-sparse-checkout.elc: magit.elc +magit-bundle.elc: magit.elc +magit-extras.elc: magit.elc magit-merge.elc +git-rebase.elc: magit.elc +magit-imenu.elc: magit.elc git-rebase.elc +magit-bookmark.elc: magit.elc +magit-obsolete.elc: magit.elc ## Build ############################################################# |
