aboutsummaryrefslogtreecommitdiff
path: root/lisp/Makefile
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2022-01-17 21:08:31 -0500
committerKyle Meyer <kyle@kyleam.com>2022-01-23 16:30:36 -0500
commit2d94a9b363a7dc851e4c88dd16552bd6b2fd9238 (patch)
tree3f561450b5fffc4ec5c7ca3bb59ae27e765f7a12 /lisp/Makefile
parentc7fd760d997ebacc82ba2f6dffaace945eb0693d (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/Makefile103
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 #############################################################