| Age | Commit message (Collapse) | Author |
|
Closes #5517.
|
|
|
|
|
|
|
|
It defaults to "-Q" but users can instead use "-q", which is useful
if "site-start.el" contains essential settings. Also rename `BATCH'
to `EMACS_BATCH', add `EMACS_ORG' and `EMACS_INTR', and rework use
of related variables.
|
|
|
|
- Provide feature in autoload rubric.
- Suppress most messages using `inhibit-message'.
- No longer double down on `autoload-timestamps's default value.
|
|
Closes #5436.
|
|
Transient implements a backport for
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69108.
|
|
|
|
Closes #5361.
|
|
|
|
There is a circular dependency between `magit-git' and `magit-process',
which we break by declaring some functions from the latter in the
former. This usually works out fine because loading `magit' loads both
libraries.
However, when someone only loads `git-commit', then this broke and to
fix it we have to explicitly require `magit-process' in that library
as well.
Also explicitly require `magit-git', even though that isn't strictly
necessary because `magit-mode' requires `magit-git'. Finally also
update the dependency declaration in "lisp/Makefile".
Closes #5280.
|
|
Or, remove temporary kludge before it celebrates its tenth birthday.
|
|
This is just a proof-of-concept. Until that changes its dead weight
that should not be packaged. Removing it from version control is the
only way to prevent it from getting packaged anyway.
|
|
|
|
Going forward I plan to deprecate things in place, and if
that doesn't work out, we can always revert this commit.
|
|
|
|
|
|
|
|
|
|
Now that the code that was used to support magit-mode-derived modes
has mostly evaporated, it is okay to spread the little code that is
necessary to support other modes across the respective files.
|
|
It hasn't been true for quite some time that this library only (or
even just mostly) defined things that have "very little to do with
Git or Magit", and it is time to account for that.
"magit-base.el" serves a role similar to that of "magit-core.el",
except that it comes even earlier in the dependency tree. For that
reason other libraries that depend on one or more of the libraries
that `magit-base' depends on should just require that feature.
|
|
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:--.
|
|
|
|
|
|
It would be best to automatically run this after compiling, but for
most people that would result in false-positives because of missing
and entirely optional extensions but anyone can opt-in by adding
"check-declare" to LISP_EXTRA_TARGETS in config.mk.
|
|
Closes #4392.
|
|
|
|
Closes #3998.
|
|
|
|
|
|
Differences to the old implementation include:
- The format of bookmark names has changed.
- It now depends on the used `bookmark' command in what window
a bookmark is opened. Previously both `magit' and `bookmark'
displayed the buffer, which for some commands and buffers
resulted in it being displayed in multiple windows.
- `magit-submodules-mode' is no longer supported because it does
not derive from `magit-mode' and therefore does not conform to
the interface we now rely on. Bookmarking such buffers isn't
particularly useful because just using the regular command is
likely more efficient than using a bookmark.
|
|
|
|
|
|
The optimal load/compile order is defined in "lisp/Makefile".
In lisp this is split across four places:
1. Libraries that are required by many other libraries are loaded
in "magit-code.el".
2. Libraries that have to be loaded for "magit.el" are defined at
the beginning of that file.
3. Other libraries that have to be loaded up-front (but may depend
on "magit.el" being loaded) are loaded at the end of "magit.el".
4. Right after that an attempt is made to load "magit-autoload.el".
5. If that generated library cannot be found, then all remaining
libraries are loaded up-front. Autoloading them would be
preferable, but since we cannot do that we have to load them
to avoid all kinds of issues.
All libraries have to be loaded in one of these places. Within
each place the libraries should be loaded in the same order as
in "lisp/Makefile".
This commit adds `require' forms for `magit-transient', `magit-wip',
and `magit-patch' and additionally fixes inconsistent ordering.
It is quite likely that a few libraries from (3) could be moved to
(5), but that is another issue.
|
|
|
|
We are going to use this for other, non-push, commands. Also move the
definition to a file that is not solely about pushing and remove most
of the doc-string because it is not accurate anymore and additionally
would have to be modified several times over the next few commits.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Do not show many lines like:
Warning: Unknown defun property `pure' in -last-item
Warning: Unknown defun property `side-effect-free' in -last-item
I know that those defun properties did not exist before Emacs 26.1,
and would prefer to see the other warning instead.
|
|
|
|
That also brings in `ghub' as a new dependency.
|
|
|