aboutsummaryrefslogtreecommitdiff
path: root/lisp/Makefile
AgeCommit message (Collapse)Author
2026-02-10make: Fix emacs-Q targetJonas Bernoulli
Closes #5517.
2026-02-10make: Move check-declare targetJonas Bernoulli
2026-02-10make: Fix removing magit-autoloads.elJonas Bernoulli
2025-11-30make: Minor cosmeticsJonas Bernoulli
2025-11-30make: Add new EMACS_Q_ARG variableJonas Bernoulli
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.
2025-10-31make: Rename loaddefs target to autoloadsJonas Bernoulli
2025-10-31make: Update magit-autoloads.el targetJonas Bernoulli
- Provide feature in autoload rubric. - Suppress most messages using `inhibit-message'. - No longer double down on `autoload-timestamps's default value.
2025-09-05make: Add missing space in *.elc targetJonas Bernoulli
Closes #5436.
2025-08-31make: Load transient early for older Emacs releasesJonas Bernoulli
Transient implements a backport for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69108.
2025-08-31make: Remove kludges for old Emacs releasesJonas Bernoulli
2025-04-25make: Set lexical-binding in magit-version.elJonas Bernoulli
Closes #5361.
2025-04-16magit-dired.el: New libraryJonas Bernoulli
2025-01-08git-commit.el: Require magit-processJonas Bernoulli
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.
2024-08-18make: Clean clean targetJonas Bernoulli
Or, remove temporary kludge before it celebrates its tenth birthday.
2024-06-25Remove magit-libgit.elJonas Bernoulli
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.
2023-12-01Fix "Silence byte-compiler"Jonas Bernoulli
2023-03-13Remove magit-obsolete.elJonas Bernoulli
Going forward I plan to deprecate things in place, and if that doesn't work out, we can always revert this commit.
2022-10-20make: Suppress warning about obsolete autoload packageJonas Bernoulli
2022-05-09make: Add whitespaceJonas Bernoulli
2022-04-22make: Improve creation of autoloads fileJonas Bernoulli
2022-04-22make: Right-align target verbsJonas Bernoulli
2022-02-22Disband magit-imenu.elJonas Bernoulli
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.
2022-02-22Rename magit-utils.el to magit-base.elJonas Bernoulli
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.
2022-01-23Add interface to 'git sparse-checkout'Kyle Meyer
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:--.
2022-01-20magit-rebase--get-state-lines: New functionJonas Bernoulli
2022-01-16make: Fix target name typoKyle Meyer
2021-12-07make: Add check-declare targetJonas Bernoulli
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.
2021-08-20Add support for "git bundle"Jonas Bernoulli
Closes #4392.
2019-12-20magit--overlay-at: Move definitionJonas Bernoulli
2019-11-10magit-merge: Add --Xdiff-algorithmJonas Bernoulli
Closes #3998.
2019-04-19Use libgit if available and desiredJonas Bernoulli
2019-04-17magit-reflog.el: Create new library from existing codeJonas Bernoulli
2019-04-17Restore bookmark supportJonas Bernoulli
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.
2019-04-17Temporarily remove bookmark supportJonas Bernoulli
2019-03-23make: Untabify build-order target definitionsJonas Bernoulli
2019-02-25Ensure all magit libraries are at least autoloadedJonas Bernoulli
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.
2019-02-03magit-transient.el: New libraryJonas Bernoulli
2019-02-02Rename magit-{push-current-set-remote => remote-set}-if-missingJonas Bernoulli
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.
2018-12-26Remove some collaboration commands in favor of the Forge packageJonas Bernoulli
2018-10-21Create magit-patch.el from existing codeJonas Bernoulli
2018-10-21Split magit-extras.el into multiple librariesJonas Bernoulli
2018-10-21Split magit-remote.el into multiple librariesJonas Bernoulli
2018-08-01make: Move suppress-warnings to file where it is usedJonas Bernoulli
2018-02-02Create new libraries from code previously in magit.elJonas Bernoulli
2018-02-01Improve loading of some librariesJonas Bernoulli
2017-12-16make: Suppress certain warnings when running tests alsoJonas Bernoulli
2017-12-16make: Suppress defun property warnings on older EmacsenJonas Bernoulli
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.
2017-12-16make: Suppress bogus warnings on older EmacsenJonas Bernoulli
2017-12-08magit-collab.el: new libraryJonas Bernoulli
That also brings in `ghub' as a new dependency.
2017-11-20Move magit-popup.el to a separate repositoryJonas Bernoulli