From c663b38cfae12118eca3bf02f3db6522b802b20c Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Thu, 9 Jan 2025 15:09:35 +0100 Subject: [PATCH] update magit and forge Signed-off-by: Andreas Gerler --- .../dir | 0 .../forge-autoloads.el | 31 +- .../forge-bitbucket.el | 3 +- .../forge-commands.el | 142 +- .../forge-core.el | 6 +- .../forge-db.el | 2 +- elpa/forge-20250108.2134/forge-forgejo.el | 47 + .../forge-gitea.el | 3 +- .../forge-github.el | 21 +- .../forge-gitlab.el | 3 +- .../forge-gogs.el | 3 +- .../forge-issue.el | 2 +- .../forge-notify.el | 9 +- .../forge-pkg.el | 12 +- .../forge-post.el | 26 +- .../forge-pullreq.el | 2 +- .../forge-repo.el | 3 +- .../forge-repos.el | 2 +- .../forge-revnote.el | 2 +- .../forge-semi.el | 27 +- .../forge-tablist.el | 2 +- .../forge-topic.el | 57 +- .../forge-topics.el | 2 +- .../forge.el | 15 +- .../forge.info | 159 +- .../AUTHORS.md | 0 .../LICENSE | 0 .../dir | 0 .../git-commit.el | 8 +- .../git-rebase.el | 14 +- .../magit-apply.el | 18 +- .../magit-autoloads.el | 52 +- .../magit-autorevert.el | 2 +- .../magit-base.el | 20 +- .../magit-bisect.el | 2 +- .../magit-blame.el | 14 +- .../magit-bookmark.el | 2 +- .../magit-branch.el | 2 +- .../magit-bundle.el | 2 +- .../magit-clone.el | 2 +- .../magit-commit.el | 12 +- .../magit-core.el | 2 +- .../magit-diff.el | 92 +- .../magit-ediff.el | 10 +- .../magit-extras.el | 2 +- .../magit-fetch.el | 2 +- .../magit-files.el | 2 +- .../magit-git.el | 24 +- .../magit-gitignore.el | 2 +- .../magit-log.el | 72 +- .../magit-margin.el | 2 +- .../magit-merge.el | 2 +- .../magit-mode.el | 54 +- .../magit-notes.el | 2 +- .../magit-patch.el | 2 +- .../magit-pkg.el | 12 +- .../magit-process.el | 8 +- .../magit-pull.el | 2 +- .../magit-push.el | 2 +- .../magit-reflog.el | 2 +- .../magit-refs.el | 45 +- .../magit-remote.el | 2 +- .../magit-repos.el | 2 +- .../magit-reset.el | 2 +- .../magit-sequence.el | 2 +- .../magit-sparse-checkout.el | 2 +- .../magit-stash.el | 122 +- .../magit-status.el | 149 +- .../magit-submodule.el | 15 +- .../magit-subtree.el | 2 +- .../magit-tag.el | 2 +- .../magit-transient.el | 2 +- .../magit-wip.el | 2 +- .../magit-worktree.el | 2 +- .../magit.el | 12 +- .../magit.info | 2481 ++++++----------- .../dir | 0 .../magit-section-autoloads.el | 0 .../magit-section-pkg.el | 8 +- .../magit-section.el | 52 +- .../magit-section.info | 6 +- 81 files changed, 1739 insertions(+), 2198 deletions(-) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/dir (100%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-autoloads.el (88%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-bitbucket.el (94%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-commands.el (90%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-core.el (99%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-db.el (99%) create mode 100644 elpa/forge-20250108.2134/forge-forgejo.el rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-gitea.el (94%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-github.el (98%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-gitlab.el (99%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-gogs.el (94%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-issue.el (99%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-notify.el (97%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-pkg.el (72%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-post.el (89%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-pullreq.el (99%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-repo.el (99%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-repos.el (99%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-revnote.el (97%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-semi.el (75%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-tablist.el (98%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-topic.el (97%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge-topics.el (99%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge.el (94%) rename elpa/{forge-20241223.1032 => forge-20250108.2134}/forge.info (95%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/AUTHORS.md (100%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/LICENSE (100%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/dir (100%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/git-commit.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/git-rebase.el (98%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-apply.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-autoloads.el (98%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-autorevert.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-base.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-bisect.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-blame.el (98%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-bookmark.el (98%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-branch.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-bundle.el (98%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-clone.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-commit.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-core.el (98%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-diff.el (98%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-ediff.el (98%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-extras.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-fetch.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-files.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-git.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-gitignore.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-log.el (98%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-margin.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-merge.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-mode.el (97%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-notes.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-patch.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-pkg.el (71%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-process.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-pull.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-push.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-reflog.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-refs.el (96%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-remote.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-repos.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-reset.el (98%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-sequence.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-sparse-checkout.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-stash.el (88%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-status.el (87%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-submodule.el (98%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-subtree.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-tag.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-transient.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-wip.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit-worktree.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit.el (99%) rename elpa/{magit-20241223.2133 => magit-20250107.2324}/magit.info (85%) rename elpa/{magit-section-20241217.845 => magit-section-20250107.641}/dir (100%) rename elpa/{magit-section-20241217.845 => magit-section-20250107.641}/magit-section-autoloads.el (100%) rename elpa/{magit-section-20241217.845 => magit-section-20250107.641}/magit-section-pkg.el (70%) rename elpa/{magit-section-20241217.845 => magit-section-20250107.641}/magit-section.el (98%) rename elpa/{magit-section-20241217.845 => magit-section-20250107.641}/magit-section.info (99%) diff --git a/elpa/forge-20241223.1032/dir b/elpa/forge-20250108.2134/dir similarity index 100% rename from elpa/forge-20241223.1032/dir rename to elpa/forge-20250108.2134/dir diff --git a/elpa/forge-20241223.1032/forge-autoloads.el b/elpa/forge-20250108.2134/forge-autoloads.el similarity index 88% rename from elpa/forge-20241223.1032/forge-autoloads.el rename to elpa/forge-20250108.2134/forge-autoloads.el index 1a435fe5..e4d09334 100644 --- a/elpa/forge-20241223.1032/forge-autoloads.el +++ b/elpa/forge-20250108.2134/forge-autoloads.el @@ -74,11 +74,27 @@ Read a REMOTE and visit it using a browser. Read a REPOSITORY and visit it using a browser. (fn REPOSITORY)" t) +(autoload 'forge-browse-blob "forge-commands" "\ +Visit a blob using a browser. + +When invoked from a blob- or file-visiting buffer, visit that blob +without prompting. If the region is active, try to jump to the marked +line or lines, and highlight them in the browser. To what extend that +is possible depends on the forge. When the region is not active just +visit the blob, without trying to jump to the current line. When +jumping to a line, always use a commit hash as part of the URL. From +a file in the worktree with no active region, instead use the branch +name as part of the URL, unless a prefix argument is used. + +When invoked from any other buffer, prompt the user for a branch or +commit, and for a file. + +(fn COMMIT FILE &optional LINE END FORCE-HASH)" t) (autoload 'forge-browse-this-topic "forge-commands" nil t) (autoload 'forge-browse-this-repository "forge-commands" "\ Visit the repository at point using a browser." t) (autoload 'forge-copy-url-at-point-as-kill "forge-commands" "\ -Copy the url of the thing at point." t) +Copy the url of thing at point or the thing visited in the current buffer." t) (autoload 'forge-browse "forge-commands" "\ Visit the thing at point using a browser." t) (autoload 'forge-visit-topic "forge-commands" "\ @@ -134,10 +150,12 @@ is added anyway. Currently this only supports Github and Gitlab. (fn FORK REMOTE)" t) (autoload 'forge-merge "forge-commands" nil t) +(autoload 'forge-set-default-branch "forge-commands" "\ +Change the default branch on the upstream remote and locally. +Also update the upstream branches of local branches accordingly." t) (autoload 'forge-rename-default-branch "forge-commands" "\ -Rename the default branch to NEWNAME. -Change the name on the upstream remotely and locally, and update the -upstream remotes of local branches accordingly." t) +Rename the default branch on the upstream remote and locally. +Also update the upstream branches of local branches accordingly." t) (autoload 'forge-add-pullreq-refspec "forge-commands" nil t) (autoload 'forge-add-repository "forge-commands" nil t) (autoload 'forge-add-user-repositories "forge-commands" "\ @@ -179,6 +197,11 @@ heavy development." t) (register-definition-prefixes "forge-db" '("forge-")) + +;;; Generated autoloads from forge-forgejo.el + +(register-definition-prefixes "forge-forgejo" '("forge-forgejo-repository")) + ;;; Generated autoloads from forge-gitea.el diff --git a/elpa/forge-20241223.1032/forge-bitbucket.el b/elpa/forge-20250108.2134/forge-bitbucket.el similarity index 94% rename from elpa/forge-20241223.1032/forge-bitbucket.el rename to elpa/forge-20250108.2134/forge-bitbucket.el index e4cf219a..859d0579 100644 --- a/elpa/forge-20241223.1032/forge-bitbucket.el +++ b/elpa/forge-20250108.2134/forge-bitbucket.el @@ -1,6 +1,6 @@ ;;; forge-bitbucket.el --- Bitbucket support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -38,6 +38,7 @@ (commit-url-format :initform "https://%h/%o/%n/commits/%r") (branch-url-format :initform "https://%h/%o/%n/branch/%r") (remote-url-format :initform "https://%h/%o/%n/src") + (blob-url-format :initform "https://%h/%o/%n/src/%r/%f") (create-issue-url-format :initform "https://%h/%o/%n/issues/new") (create-pullreq-url-format :initform "https://%h/%o/%n/pull-requests/new"))) diff --git a/elpa/forge-20241223.1032/forge-commands.el b/elpa/forge-20250108.2134/forge-commands.el similarity index 90% rename from elpa/forge-20241223.1032/forge-commands.el rename to elpa/forge-20250108.2134/forge-commands.el index ecfec1db..0e7391cc 100644 --- a/elpa/forge-20241223.1032/forge-commands.el +++ b/elpa/forge-20250108.2134/forge-commands.el @@ -1,6 +1,6 @@ ;;; forge-commands.el --- Commands -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -293,6 +293,24 @@ argument also offer closed pull-requests." (interactive (list (forge-read-repository "Browse repository"))) (browse-url (forge-get-url repository))) +;;;###autoload +(defun forge-browse-blob (commit file &optional line end force-hash) + "Visit a blob using a browser. + +When invoked from a blob- or file-visiting buffer, visit that blob +without prompting. If the region is active, try to jump to the marked +line or lines, and highlight them in the browser. To what extend that +is possible depends on the forge. When the region is not active just +visit the blob, without trying to jump to the current line. When +jumping to a line, always use a commit hash as part of the URL. From +a file in the worktree with no active region, instead use the branch +name as part of the URL, unless a prefix argument is used. + +When invoked from any other buffer, prompt the user for a branch or +commit, and for a file." + (interactive (forge--browse-blob-args)) + (browse-url (forge-get-url :blob commit file line end force-hash))) + ;;;###autoload(autoload 'forge-browse-this-topic "forge-commands" nil t) (transient-define-suffix forge-browse-this-topic () "Visit the topic at point using a browser." @@ -308,7 +326,7 @@ argument also offer closed pull-requests." ;;;###autoload (defun forge-copy-url-at-point-as-kill () - "Copy the url of the thing at point." + "Copy the url of thing at point or the thing visited in the current buffer." (interactive) (if-let ((target (forge--browse-target))) (let ((url (if (stringp target) target (forge-get-url target)))) @@ -337,12 +355,32 @@ argument also offer closed pull-requests." (forge-get-url :branch branch)) (and-let* ((remote (magit-remote-at-point))) (forge-get-url :remote remote)) + (and-let* ((file (magit-file-at-point))) + (forge-get-url :blob nil file)) (forge-post-at-point) (forge-current-topic) + (and (or magit-buffer-file-name buffer-file-name) + (apply #'forge-get-url :blob (forge--browse-blob-args))) (and magit-buffer-revision (forge-get-url :commit magit-buffer-revision)) (forge-get-repository :stub?))) +(defun forge--browse-blob-args () + (cond + (magit-buffer-file-name + `(,(or magit-buffer-refname magit-buffer-revision) + ,(magit-file-relative-name magit-buffer-file-name) + ,@(magit-file-region-line-numbers) + ,current-prefix-arg)) + (buffer-file-name + `(nil + ,(magit-file-relative-name buffer-file-name) + ,@(magit-file-region-line-numbers) + ,current-prefix-arg)) + ((let ((commit (magit-read-local-branch-or-commit + "Browse file from commit"))) + (list commit (magit-read-file-from-rev commit "Browse file")))))) + ;;;; Urls (cl-defgeneric forge-get-url (obj) @@ -369,6 +407,23 @@ argument also offer closed pull-requests." (forge--format repo 'commit-url-format `((?r . ,(magit-commit-p commit)))))) +(cl-defmethod forge-get-url ((_(eql :blob)) commit file + &optional line end force-hash) + (let* ((commit (or (and (magit-branch-p commit) + (cdr (magit-split-branch-name commit))) + (and commit (magit-commit-p commit)) + (and (not (or line force-hash)) + (magit-get-current-branch)) + (magit-rev-parse "HEAD"))) + (repo (forge-get-repository :stub)) + (format (oref repo blob-url-format))) + (when (cl-typep repo 'forge-gitweb-repository) + (setq commit (concat (if (magit-branch-p commit) "hb=" "h=") commit))) + (concat + (forge--format repo format `((?r . ,commit) (?f . ,file))) + (and line (forge-format-blob-lines repo line + (and (not (equal line end)) end)))))) + (cl-defmethod forge-get-url ((_(eql :branch)) branch) (let (remote) (if (magit-remote-branch-p branch) @@ -393,6 +448,27 @@ argument also offer closed pull-requests." (cl-defmethod forge-get-url ((notify forge-notification)) (oref notify url)) +(cl-defmethod forge-format-blob-lines ((repo forge-repository) line end) + (cl-etypecase repo ;Third-party classes require separate methods. + ((or forge-github-repository + forge-gitlab-repository ;Also supports "#L%s-%s". + forge-forgejo-repository + forge-gitea-repository + forge-gogs-repository) + (format (if end "#L%s-L%s" "#L%s") line end)) + (forge-bitbucket-repository + (format (if end "#lines-%s:%s" "#lines-%s") line end)) + ((or forge-cgit-repository + forge-cgit*-repository + forge-cgit**-repository) + (format "#n%s" line)) + ((or forge-gitweb-repository + forge-repoorcz-repository + forge-stagit-repository) + (format "#l%s" line)) + (forge-srht-repository + (format "#L%s" line)))) + ;;; Visit ;;;###autoload @@ -504,7 +580,10 @@ With prefix argument MENU, also show the topic menu." issue source target)) (defun forge-create-pullreq--read-args () - (let* ((source (magit-completing-read + (let* ((repo (forge-get-repository :tracked)) + (_ (unless (oref repo worktree) + (user-error "Cannot create pull-request without working tree"))) + (source (magit-completing-read "Source branch" (magit-list-remote-branch-names) nil t nil 'magit-revision-history @@ -516,7 +595,6 @@ With prefix argument MENU, also show the topic menu." (if (magit-remote-branch-p d) d (magit-get-push-branch d t)))))) - (repo (forge-get-repository :tracked)) (remote (oref repo remote)) (targets (delete source (magit-list-remote-branch-names remote))) (target (magit-completing-read @@ -916,13 +994,42 @@ as merged." method)) (forge-pull)) +;;;###autoload +(defun forge-set-default-branch () + "Change the default branch on the upstream remote and locally. +Also update the upstream branches of local branches accordingly." + (interactive) + (pcase-let* ((`(,repo ,old) (forge--set-default-branch-read-args)) + (new (magit-read-remote-branch + (format "Set default branch (was: %s)" old) + (delete old (forge--get-remote)) + nil nil t))) + (message "Changing default branch...") + (forge--set-default-branch repo new) + (magit--set-default-branch new old) + (forge-refresh-buffer) + (message "Changing default branch...done"))) + ;;;###autoload (defun forge-rename-default-branch () - "Rename the default branch to NEWNAME. -Change the name on the upstream remotely and locally, and update the -upstream remotes of local branches accordingly." + "Rename the default branch on the upstream remote and locally. +Also update the upstream branches of local branches accordingly." (interactive) - (let* ((repo (forge-get-repository :tracked?)) + (pcase-let* ((`(,repo ,old) (forge--set-default-branch-read-args)) + (default (and (not (equal old "main")) "main")) + (new (read-string + (format "Rename default branch `%s' to%s: " old + (if default (format " (default: %s)" default) "")) + nil nil default))) + (message "Renaming default branch...") + (forge--rename-branch repo new old) + (magit--set-default-branch new old) + (magit-git "remote" "set-head" "--auto" (oref repo remote)) + (forge-refresh-buffer) + (message "Renaming default branch...done"))) + +(defun forge--set-default-branch-read-args () + (let* ((repo (forge-get-repository :tracked)) (_ (unless (forge-github-repository-p repo) (user-error "Updating default branch not supported for forge `%s'" (oref repo forge)))) @@ -936,20 +1043,11 @@ upstream remotes of local branches accordingly." (magit-git "fetch" "--prune") (magit-git "remote" "set-head" "--auto" remote) (message "Determining old default branch...done") - (magit-git-string "symbolic-ref" "--short" symref))) - (oldname (if oldhead - (cdr (magit-split-branch-name oldhead)) - (error "Cannot determine old default branch"))) - (default (and (not (equal oldname "main")) "main")) - (newname (read-string - (format "Rename default branch `%s' to%s: " - oldname - (if default (format " (default: %s)" default) "")) - nil nil default))) - (message "Renaming default branch...") - (forge--set-default-branch repo newname oldname) - (forge-refresh-buffer) - (message "Renaming default branch...done"))) + (magit-git-string "symbolic-ref" "--short" symref)))) + (list repo + (if oldhead + (cdr (magit-split-branch-name oldhead)) + (error "Cannot determine old default branch"))))) ;;; Configuration diff --git a/elpa/forge-20241223.1032/forge-core.el b/elpa/forge-20250108.2134/forge-core.el similarity index 99% rename from elpa/forge-20241223.1032/forge-core.el rename to elpa/forge-20250108.2134/forge-core.el index 3c88494a..3737289f 100644 --- a/elpa/forge-20241223.1032/forge-core.el +++ b/elpa/forge-20250108.2134/forge-core.el @@ -1,6 +1,6 @@ ;;; forge-core.el --- Core functionality -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -67,7 +67,7 @@ "gitlab.gnome.org" forge-gitlab-repository) ;; Forges (API unsupported) ("codeberg.org" "codeberg.org/api/v1" - "codeberg.org" forge-gitea-repository) + "codeberg.org" forge-forgejo-repository) ("bitbucket.org" "api.bitbucket.org/2.0" "bitbucket.org" forge-bitbucket-repository) ;; Semi-Forges @@ -108,7 +108,7 @@ Complications: - WEBHOST and CLASS cannot be changed once you have added one or more repositories from a forge. Changing GITHOST and/or APIHOST may be possible, but should seldom be necessary." - :package-version '(forge . "0.1.0") + :package-version '(forge . "0.4.7") :group 'forge :type '(repeat (list (string :tag "Git host") (choice (string :tag "API endpoint") diff --git a/elpa/forge-20241223.1032/forge-db.el b/elpa/forge-20250108.2134/forge-db.el similarity index 99% rename from elpa/forge-20241223.1032/forge-db.el rename to elpa/forge-20250108.2134/forge-db.el index 47d132d7..f4acb7f9 100644 --- a/elpa/forge-20241223.1032/forge-db.el +++ b/elpa/forge-20250108.2134/forge-db.el @@ -1,6 +1,6 @@ ;;; forge-db.el --- Database implementation -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/forge-20250108.2134/forge-forgejo.el b/elpa/forge-20250108.2134/forge-forgejo.el new file mode 100644 index 00000000..2cd0a306 --- /dev/null +++ b/elpa/forge-20250108.2134/forge-forgejo.el @@ -0,0 +1,47 @@ +;;; forge-forgejo.el --- Forgejo support -*- lexical-binding:t -*- + +;; Copyright (C) 2018-2025 Jonas Bernoulli + +;; Author: Jonas Bernoulli +;; Maintainer: Jonas Bernoulli + +;; SPDX-License-Identifier: GPL-3.0-or-later + +;; This file is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published +;; by the Free Software Foundation, either version 3 of the License, +;; or (at your option) any later version. +;; +;; This file is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this file. If not, see . + +;;; Code: + +(require 'forge) + +;;; Class + +(defclass forge-forgejo-repository (forge-unusedapi-repository) + ((issues-url-format :initform "https://%h/%o/%n/issues") + (issue-url-format :initform "https://%h/%o/%n/issues/%i") + ;; The anchor for the issue itself is .../%i#issue-%i + (issue-post-url-format :initform "https://%h/%o/%n/issues/%i#issuecomment-%I") + (pullreqs-url-format :initform "https://%h/%o/%n/pulls") + (pullreq-url-format :initform "https://%h/%o/%n/pulls/%i") + (pullreq-post-url-format :initform "https://%h/%o/%n/pulls/%i#issuecomment-%I") + (commit-url-format :initform "https://%h/%o/%n/commit/%r") + (branch-url-format :initform "https://%h/%o/%n/commits/branch/%r") + (remote-url-format :initform "https://%h/%o/%n") + (blob-url-format :initform "https://%h/%o/%n/src/%r/%f") + (create-issue-url-format :initform "https://%h/%o/%n/issues/new") + (create-pullreq-url-format :initform "https://%h/%o/%n/pulls") ; sic + (pullreq-refspec :initform "+refs/pull/*/head:refs/pullreqs/*"))) + +;;; _ +(provide 'forge-forgejo) +;;; forge-forgejo.el ends here diff --git a/elpa/forge-20241223.1032/forge-gitea.el b/elpa/forge-20250108.2134/forge-gitea.el similarity index 94% rename from elpa/forge-20241223.1032/forge-gitea.el rename to elpa/forge-20250108.2134/forge-gitea.el index a12881fa..d7a5c40d 100644 --- a/elpa/forge-20241223.1032/forge-gitea.el +++ b/elpa/forge-20250108.2134/forge-gitea.el @@ -1,6 +1,6 @@ ;;; forge-gitea.el --- Gitea support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -38,6 +38,7 @@ (commit-url-format :initform "https://%h/%o/%n/commit/%r") (branch-url-format :initform "https://%h/%o/%n/commits/branch/%r") (remote-url-format :initform "https://%h/%o/%n") + (blob-url-format :initform "https://%h/%o/%n/src/%r/%f") (create-issue-url-format :initform "https://%h/%o/%n/issues/new") (create-pullreq-url-format :initform "https://%h/%o/%n/pulls") ; sic (pullreq-refspec :initform "+refs/pull/*/head:refs/pullreqs/*"))) diff --git a/elpa/forge-20241223.1032/forge-github.el b/elpa/forge-20250108.2134/forge-github.el similarity index 98% rename from elpa/forge-20241223.1032/forge-github.el rename to elpa/forge-20250108.2134/forge-github.el index 3c673379..9daf9587 100644 --- a/elpa/forge-20241223.1032/forge-github.el +++ b/elpa/forge-20250108.2134/forge-github.el @@ -1,6 +1,6 @@ ;;; forge-github.el --- Github support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -40,6 +40,7 @@ (commit-url-format :initform "https://%h/%o/%n/commit/%r") (branch-url-format :initform "https://%h/%o/%n/commits/%r") (remote-url-format :initform "https://%h/%o/%n") + (blob-url-format :initform "https://%h/%o/%n/blob/%r/%f") (create-issue-url-format :initform "https://%h/%o/%n/issues/new") (create-pullreq-url-format :initform "https://%h/%o/%n/compare") (pullreq-refspec :initform "+refs/pull/*/head:refs/pullreqs/*"))) @@ -774,16 +775,26 @@ ;; so Forge doesn't support them either. )))) -(cl-defmethod forge--set-default-branch ((repo forge-github-repository) - newname oldname) +(cl-defmethod forge--set-default-branch ((repo forge-github-repository) branch) + (forge--ghub-patch repo + "/repos/:owner/:repo" + `((default_branch . ,branch))) + (message "Waiting 5 seconds for GitHub to complete update...") + (sleep-for 5) + (message "Waiting 5 seconds for GitHub to complete update...done") + (let ((remote (oref repo remote))) + (magit-call-git "fetch" "--prune" remote) + (magit-call-git "remote" "set-head" "--auto" remote))) + +(cl-defmethod forge--rename-branch ((repo forge-github-repository) + newname oldname) (forge--ghub-post repo (format "/repos/:owner/:name/branches/%s/rename" oldname) `((new_name . ,newname))) (message "Waiting 5 seconds for GitHub to complete rename...") (sleep-for 5) (message "Waiting 5 seconds for GitHub to complete rename...done") - (magit-call-git "fetch" "--prune" (oref repo remote)) - (magit--set-default-branch newname oldname)) + (magit-call-git "fetch" "--prune" (oref repo remote))) (cl-defmethod forge--fork-repository ((repo forge-github-repository) fork) (with-slots (owner name) repo diff --git a/elpa/forge-20241223.1032/forge-gitlab.el b/elpa/forge-20250108.2134/forge-gitlab.el similarity index 99% rename from elpa/forge-20241223.1032/forge-gitlab.el rename to elpa/forge-20250108.2134/forge-gitlab.el index 92b1d882..c87df872 100644 --- a/elpa/forge-20241223.1032/forge-gitlab.el +++ b/elpa/forge-20250108.2134/forge-gitlab.el @@ -1,6 +1,6 @@ ;;; forge-gitlab.el --- Gitlab support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -40,6 +40,7 @@ (commit-url-format :initform "https://%h/%o/%n/commit/%r") (branch-url-format :initform "https://%h/%o/%n/commits/%r") (remote-url-format :initform "https://%h/%o/%n") + (blob-url-format :initform "https://%h/%o/%n/-/blob/%r/%f") (create-issue-url-format :initform "https://%h/%o/%n/issues/new") (create-pullreq-url-format :initform "https://%h/%o/%n/merge_requests/new") (pullreq-refspec :initform "+refs/merge-requests/*/head:refs/pullreqs/*"))) diff --git a/elpa/forge-20241223.1032/forge-gogs.el b/elpa/forge-20250108.2134/forge-gogs.el similarity index 94% rename from elpa/forge-20241223.1032/forge-gogs.el rename to elpa/forge-20250108.2134/forge-gogs.el index 6f2d372e..eb3a0cd7 100644 --- a/elpa/forge-20241223.1032/forge-gogs.el +++ b/elpa/forge-20250108.2134/forge-gogs.el @@ -1,6 +1,6 @@ ;;; forge-gogs.el --- Gogs support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -37,6 +37,7 @@ (commit-url-format :initform "https://%h/%o/%n/commit/%r") (branch-url-format :initform "https://%h/%o/%n/commits/%r") (remote-url-format :initform "https://%h/%o/%n") + (blob-url-format :initform "https://%h/%o/%n/src/%r/%f") (create-issue-url-format :initform "https://%h/%o/%n/issues/new") (create-pullreq-url-format :initform "https://%h/%o/%n/pulls") ; sic (pullreq-refspec :initform "+refs/pull/*/head:refs/pullreqs/*"))) diff --git a/elpa/forge-20241223.1032/forge-issue.el b/elpa/forge-20250108.2134/forge-issue.el similarity index 99% rename from elpa/forge-20241223.1032/forge-issue.el rename to elpa/forge-20250108.2134/forge-issue.el index 5ca59d68..561199f6 100644 --- a/elpa/forge-20241223.1032/forge-issue.el +++ b/elpa/forge-20250108.2134/forge-issue.el @@ -1,6 +1,6 @@ ;;; forge-issue.el --- Issue support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/forge-20241223.1032/forge-notify.el b/elpa/forge-20250108.2134/forge-notify.el similarity index 97% rename from elpa/forge-20241223.1032/forge-notify.el rename to elpa/forge-20250108.2134/forge-notify.el index 8f26cf66..07135dcb 100644 --- a/elpa/forge-20241223.1032/forge-notify.el +++ b/elpa/forge-20250108.2134/forge-notify.el @@ -1,6 +1,6 @@ ;;; forge-notify.el --- Notify support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -305,11 +305,10 @@ signal an error." (propertize (substring (match-string 0 url) 0 (magit-abbrev-length)) 'font-lock-face 'magit-hash) - (magit-log-propertize-keywords - nil + (magit-log--wash-summary (propertize title 'font-lock-face - (if-let ((topic (oref notif topic)) - ((eq (oref topic status) 'unread))) + (if-let* ((topic (oref notif topic)) + ((eq (oref topic status) 'unread))) 'forge-topic-unread 'forge-topic-open))))))) (_ diff --git a/elpa/forge-20241223.1032/forge-pkg.el b/elpa/forge-20250108.2134/forge-pkg.el similarity index 72% rename from elpa/forge-20241223.1032/forge-pkg.el rename to elpa/forge-20250108.2134/forge-pkg.el index bae4fed5..8f14057f 100644 --- a/elpa/forge-20241223.1032/forge-pkg.el +++ b/elpa/forge-20250108.2134/forge-pkg.el @@ -1,21 +1,21 @@ ;; -*- no-byte-compile: t; lexical-binding: nil -*- -(define-package "forge" "20241223.1032" +(define-package "forge" "20250108.2134" "Access Git forges from Magit." '((emacs "29.1") - (compat "30.0.0.0") + (compat "30.0.1.0") (closql "2.1.0") (dash "2.19.1") (emacsql "4.1.0") (ghub "4.2.0") (let-alist "1.0.6") - (magit "4.1.3") + (magit "4.2.1") (markdown-mode "2.6") (seq "2.24") - (transient "0.8.0") + (transient "0.8.2") (yaml "0.5.5")) :url "https://github.com/magit/forge" - :commit "8bace81bce397af6942c7efe012498dc181466d1" - :revdesc "8bace81bce39" + :commit "96fe98120c492f698088126b5340edc1976e7508" + :revdesc "96fe98120c49" :keywords '("git" "tools" "vc") :authors '(("Jonas Bernoulli" . "emacs.forge@jonas.bernoulli.dev")) :maintainers '(("Jonas Bernoulli" . "emacs.forge@jonas.bernoulli.dev"))) diff --git a/elpa/forge-20241223.1032/forge-post.el b/elpa/forge-20250108.2134/forge-post.el similarity index 89% rename from elpa/forge-20241223.1032/forge-post.el rename to elpa/forge-20250108.2134/forge-post.el index 23526ead..f65892d8 100644 --- a/elpa/forge-20241223.1032/forge-post.el +++ b/elpa/forge-20250108.2134/forge-post.el @@ -1,6 +1,6 @@ ;;; forge-post.el --- Post support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -38,6 +38,15 @@ :options '(visual-line-mode turn-on-flyspell)) +(defcustom forge-post-fallback-directory + (locate-user-emacs-file "forge-drafts/") + "Directory used to store post drafts for locally unavailable repositories. +Normally drafts are stored inside the Git directory. If that does not +exist (or its location is unknown), then this directory is used instead." + :package-version '(forge . "0.4.7") + :group 'forge + :type 'directory) + (defcustom forge-buffer-draft-p nil "Whether new pull-requests start out as drafts by default. @@ -113,9 +122,18 @@ an error." (make-variable-buffer-local 'forge-buffer-draft-p) (defun forge--prepare-post-buffer (filename &optional header source target) - (let ((file (convert-standard-filename - (expand-file-name (concat "magit/posts/" filename) - (magit-gitdir))))) + (let* ((repo (forge-get-repository :tracked)) + (tree (oref repo worktree)) + (file (convert-standard-filename + (if tree + (expand-file-name (concat "magit/posts/" filename) + (magit-gitdir tree)) + (expand-file-name (format "%s_%s-%s_%s" + (oref repo githost) + (oref repo owner) + (oref repo name) + filename) + forge-post-fallback-directory))))) (make-directory (file-name-directory file) t) (let ((prevbuf (current-buffer)) (resume (and (file-exists-p file) diff --git a/elpa/forge-20241223.1032/forge-pullreq.el b/elpa/forge-20250108.2134/forge-pullreq.el similarity index 99% rename from elpa/forge-20241223.1032/forge-pullreq.el rename to elpa/forge-20250108.2134/forge-pullreq.el index e0506c74..405130fe 100644 --- a/elpa/forge-20241223.1032/forge-pullreq.el +++ b/elpa/forge-20250108.2134/forge-pullreq.el @@ -1,6 +1,6 @@ ;;; forge-pullreq.el --- Pullreq support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/forge-20241223.1032/forge-repo.el b/elpa/forge-20250108.2134/forge-repo.el similarity index 99% rename from elpa/forge-20241223.1032/forge-repo.el rename to elpa/forge-20250108.2134/forge-repo.el index faa2959d..278b0c3b 100644 --- a/elpa/forge-20241223.1032/forge-repo.el +++ b/elpa/forge-20250108.2134/forge-repo.el @@ -1,6 +1,6 @@ ;;; forge-repo.el --- Repository support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -41,6 +41,7 @@ (commit-url-format :initform nil :allocation :class) (branch-url-format :initform nil :allocation :class) (remote-url-format :initform nil :allocation :class) + (blob-url-format :initform nil :allocation :class) (create-issue-url-format :initform nil :allocation :class) (create-pullreq-url-format :initform nil :allocation :class) (pullreq-refspec :initform nil :allocation :class) diff --git a/elpa/forge-20241223.1032/forge-repos.el b/elpa/forge-20250108.2134/forge-repos.el similarity index 99% rename from elpa/forge-20241223.1032/forge-repos.el rename to elpa/forge-20250108.2134/forge-repos.el index 90dd572f..8ae0922f 100644 --- a/elpa/forge-20241223.1032/forge-repos.el +++ b/elpa/forge-20250108.2134/forge-repos.el @@ -1,6 +1,6 @@ ;;; forge-repos.el --- List repositories -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/forge-20241223.1032/forge-revnote.el b/elpa/forge-20250108.2134/forge-revnote.el similarity index 97% rename from elpa/forge-20241223.1032/forge-revnote.el rename to elpa/forge-20250108.2134/forge-revnote.el index da550632..60832f74 100644 --- a/elpa/forge-20241223.1032/forge-revnote.el +++ b/elpa/forge-20250108.2134/forge-revnote.el @@ -1,6 +1,6 @@ ;;; forge-revnote.el --- Revnote support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/forge-20241223.1032/forge-semi.el b/elpa/forge-20250108.2134/forge-semi.el similarity index 75% rename from elpa/forge-20241223.1032/forge-semi.el rename to elpa/forge-20250108.2134/forge-semi.el index a7f68068..f34a6181 100644 --- a/elpa/forge-20241223.1032/forge-semi.el +++ b/elpa/forge-20250108.2134/forge-semi.el @@ -1,6 +1,6 @@ ;;; forge-semi.el --- Support for semi-forges -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -29,13 +29,18 @@ (defclass forge-gitweb-repository (forge-noapi-repository) ((commit-url-format :initform "https://%h/gitweb/?p=%P.git;a=commitdiff;h=%r") (branch-url-format :initform "https://%h/gitweb/?p=%P.git;a=log;h=refs/heads/%r") - (remote-url-format :initform "https://%h/gitweb/?p=%P.git;a=summary")) + (remote-url-format :initform "https://%h/gitweb/?p=%P.git;a=summary") + ;; We must use "hb=BRANCH" because "h=refs/heads/BRANCH" does not work + ;; here. So "%r" stands for either "hb=BRANCH" or "h=HASH" and which + ;; it is, has to be handled as a special case in `forge-get-url(:blob)'. + (blob-url-format :initform "https://%h/gitweb/?p=%P.git;a=blob;f=%s;%r")) "Gitweb from https://git-scm.com/docs/gitweb.") (defclass forge-cgit-repository (forge-noapi-repository) ((commit-url-format :initform "https://%h/%p.git/commit/?id=%r") (branch-url-format :initform "https://%h/%p.git/log/?h=%r") - (remote-url-format :initform "https://%h/%p.git/about")) + (remote-url-format :initform "https://%h/%p.git/about") + (blob-url-format :initform "https://%h/%p.git/tree/%f?id=%r")) "Cgit from https://git.zx2c4.com/cgit/about. Different hosts use different url schemata, so we need multiple classes. See their definitions in \"forge-semi.el\".") @@ -43,7 +48,8 @@ classes. See their definitions in \"forge-semi.el\".") (defclass forge-cgit*-repository (forge-cgit-repository) ((commit-url-format :initform "https://%h/cgit/%p.git/commit/?id=%r") (branch-url-format :initform "https://%h/cgit/%p.git/log/?h=%r") - (remote-url-format :initform "https://%h/cgit/%p.git/about")) + (remote-url-format :initform "https://%h/cgit/%p.git/about") + (blob-url-format :initform "https://%h/cgit/%p.git/tree/%f?id=%r")) "Cgit from https://git.zx2c4.com/cgit/about. Different hosts use different url schemata, so we need multiple classes. See their definitions in \"forge-semi.el\".") @@ -51,7 +57,8 @@ classes. See their definitions in \"forge-semi.el\".") (defclass forge-cgit**-repository (forge-cgit-repository) ((commit-url-format :initform "https://%h/cgit/%n.git/commit/?id=%r") (branch-url-format :initform "https://%h/cgit/%n.git/log/?h=%r") - (remote-url-format :initform "https://%h/cgit/%n.git/about")) + (remote-url-format :initform "https://%h/cgit/%n.git/about") + (blob-url-format :initform "https://%h/cgit/%n.git/tree/%f?id=%r")) "Cgit from https://git.zx2c4.com/cgit/about. Different hosts use different url schemata, so we need multiple classes. See their definitions in \"forge-semi.el\".") @@ -59,7 +66,8 @@ classes. See their definitions in \"forge-semi.el\".") (defclass forge-repoorcz-repository (forge-cgit-repository) ((commit-url-format :initform "https://%h/%p.git/commit/%r") (branch-url-format :initform "https://%h/%p.git/log/%r") - (remote-url-format :initform "https://%h/%p.git")) + (remote-url-format :initform "https://%h/%p.git") + (blob-url-format :initform "https://%h/%p.git/blob/%r:/%f")) "Cgit fork used on https://repo.or.cz/cgit.git. Different hosts use different url schemata, so we need multiple classes. See their definitions in \"forge-semi.el\".") @@ -67,7 +75,9 @@ classes. See their definitions in \"forge-semi.el\".") (defclass forge-stagit-repository (forge-noapi-repository) ((commit-url-format :initform "https://%h/%n/commit/%r.html") (branch-url-format :initform "https://%h/%n/refs.html") - (remote-url-format :initform "https://%h/%n/file/README.html")) + (remote-url-format :initform "https://%h/%n/file/README.html") + ;; Can only link to the tip of the main branch. + (blob-url-format :initform "https://%h/%n/")) "Stagit from https://codemadness.org/git/stagit/file/README.html. Only the history of \"master\" can be shown, so this links to the list of refs instead of the log of the specified branch.") @@ -75,7 +85,8 @@ list of refs instead of the log of the specified branch.") (defclass forge-srht-repository (forge-noapi-repository) ((commit-url-format :initform "https://%h/~%o/%n/commit/%r") (branch-url-format :initform "https://%h/~%o/%n/log/%r") - (remote-url-format :initform "https://%h/~%o/%n")) + (remote-url-format :initform "https://%h/~%o/%n") + (blob-url-format :initform "https://%h/~%o/%n/tree/%r/item/%f")) "See https://meta.sr.ht.") ;;; _ diff --git a/elpa/forge-20241223.1032/forge-tablist.el b/elpa/forge-20250108.2134/forge-tablist.el similarity index 98% rename from elpa/forge-20241223.1032/forge-tablist.el rename to elpa/forge-20250108.2134/forge-tablist.el index 7252c624..6a7c5344 100644 --- a/elpa/forge-20241223.1032/forge-tablist.el +++ b/elpa/forge-20250108.2134/forge-tablist.el @@ -1,6 +1,6 @@ ;;; forge-tablist.el --- Tabulated-list interface -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/forge-20241223.1032/forge-topic.el b/elpa/forge-20250108.2134/forge-topic.el similarity index 97% rename from elpa/forge-20241223.1032/forge-topic.el rename to elpa/forge-20250108.2134/forge-topic.el index 85b85016..f5772a8f 100644 --- a/elpa/forge-20241223.1032/forge-topic.el +++ b/elpa/forge-20250108.2134/forge-topic.el @@ -1,6 +1,6 @@ ;;; forge-topic.el --- Topics support -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -59,6 +59,19 @@ The following %-sequences are supported: :group 'forge :type 'boolean) +(defcustom forge-topic-wash-title-hook + (list #'magit-highlight-bracket-keywords) + "Functions used to highlight parts of each individual topic title. + +These functions are called in order, in a buffer that containing the +topic title. They should set text properties as they see fit, usually +just `font-lock-face'. Before each function is called, point is at the +beginning of the buffer." + :package-version '(forge . "0.4.7") + :group 'forge + :type 'hook + :options (list #'magit-highlight-bracket-keywords)) + (defcustom forge-topic-repository-slug-width 28 "Width of repository slugs (i.e., \"OWNER/NAME\")." :package-version '(forge . "0.4.0") @@ -828,25 +841,29 @@ can be selected from the start." (magit--propertize-face "no" 'magit-dimmed))) (defun forge--format-topic-title (topic) - (with-slots (title status state) topic - (magit-log-propertize-keywords - nil - (magit--propertize-face - title - `(,@(and (forge-pullreq-p topic) - (oref topic draft-p) - '(forge-pullreq-draft)) - ,(pcase status - ('unread 'forge-topic-unread) - ('pending 'forge-topic-pending) - ('done 'forge-topic-done)) - ,(pcase (list (eieio-object-class topic) state) - (`(forge-issue open) 'forge-issue-open) - (`(forge-issue completed) 'forge-issue-completed) - (`(forge-issue unplanned) 'forge-issue-unplanned) - (`(forge-pullreq open) 'forge-pullreq-open) - (`(forge-pullreq merged) 'forge-pullreq-merged) - (`(forge-pullreq rejected) 'forge-pullreq-rejected))))))) + (with-temp-buffer + (save-excursion + (with-slots (title status state) topic + (insert + (magit--propertize-face + title + `(,@(and (forge-pullreq-p topic) + (oref topic draft-p) + '(forge-pullreq-draft)) + ,(pcase status + ('unread 'forge-topic-unread) + ('pending 'forge-topic-pending) + ('done 'forge-topic-done)) + ,(pcase (list (eieio-object-class topic) state) + (`(forge-issue open) 'forge-issue-open) + (`(forge-issue completed) 'forge-issue-completed) + (`(forge-issue unplanned) 'forge-issue-unplanned) + (`(forge-pullreq open) 'forge-pullreq-open) + (`(forge-pullreq merged) 'forge-pullreq-merged) + (`(forge-pullreq rejected) 'forge-pullreq-rejected))))))) + (run-hook-wrapped 'forge-topic-wash-title-hook + (lambda (fn) (prog1 nil (save-excursion (funcall fn))))) + (buffer-string))) (defun forge--format-topic-milestone (topic) (and-let* ((id (oref topic milestone)) diff --git a/elpa/forge-20241223.1032/forge-topics.el b/elpa/forge-20250108.2134/forge-topics.el similarity index 99% rename from elpa/forge-20241223.1032/forge-topics.el rename to elpa/forge-20250108.2134/forge-topics.el index 2b6dedf9..3a03ec66 100644 --- a/elpa/forge-20241223.1032/forge-topics.el +++ b/elpa/forge-20250108.2134/forge-topics.el @@ -1,6 +1,6 @@ ;;; forge-topics.el --- List topics -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/forge-20241223.1032/forge.el b/elpa/forge-20250108.2134/forge.el similarity index 94% rename from elpa/forge-20241223.1032/forge.el rename to elpa/forge-20250108.2134/forge.el index 4212ecc6..0ceb4741 100644 --- a/elpa/forge-20241223.1032/forge.el +++ b/elpa/forge-20250108.2134/forge.el @@ -1,26 +1,26 @@ ;;; forge.el --- Access Git forges from Magit -*- lexical-binding:t -*- -;; Copyright (C) 2018-2024 Jonas Bernoulli +;; Copyright (C) 2018-2025 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli ;; Homepage: https://github.com/magit/forge ;; Keywords: git tools vc -;; Package-Version: 20241223.1032 -;; Package-Revision: 8bace81bce39 +;; Package-Version: 20250108.2134 +;; Package-Revision: 96fe98120c49 ;; Package-Requires: ( ;; (emacs "29.1") -;; (compat "30.0.0.0") +;; (compat "30.0.1.0") ;; (closql "2.1.0") ;; (dash "2.19.1") ;; (emacsql "4.1.0") ;; (ghub "4.2.0") ;; (let-alist "1.0.6") -;; (magit "4.1.3") +;; (magit "4.2.1") ;; (markdown-mode "2.6") ;; (seq "2.24") -;; (transient "0.8.0") +;; (transient "0.8.2") ;; (yaml "0.5.5")) ;; SPDX-License-Identifier: GPL-3.0-or-later @@ -65,6 +65,7 @@ (require 'forge-revnote) (require 'forge-notify) +(require 'forge-forgejo) (require 'forge-github) (require 'forge-gitlab) (require 'forge-gitea) @@ -139,6 +140,8 @@ is loaded, then `magit-mode-map' ends up being modified anyway.") (transient-suffix-put 'magit-remote 'magit-update-default-branch :key "b u") (transient-append-suffix 'magit-remote "b u" '("b r" "Rename default branch" forge-rename-default-branch)) + (transient-append-suffix 'magit-remote "b u" + '("b s" "Set default branch" forge-set-default-branch)) (transient-append-suffix 'magit-worktree "c" '("n" "pull-request worktree" forge-checkout-worktree)) diff --git a/elpa/forge-20241223.1032/forge.info b/elpa/forge-20250108.2134/forge.info similarity index 95% rename from elpa/forge-20241223.1032/forge.info rename to elpa/forge-20250108.2134/forge.info index 69d64924..11c158ff 100644 --- a/elpa/forge-20241223.1032/forge.info +++ b/elpa/forge-20250108.2134/forge.info @@ -1,6 +1,6 @@ This is forge.info, produced by makeinfo version 6.8 from forge.texi. - Copyright (C) 2018-2024 Jonas Bernoulli + Copyright (C) 2018-2025 Jonas Bernoulli You can redistribute this document and/or modify it under the terms @@ -27,9 +27,9 @@ Forge User and Developer Manual Forge allows you to work with Git forges, currently Github and Gitlab, from the comfort of Magit and Emacs. -This manual is for Forge version 0.4.5. +This manual is for Forge version 0.4.6. - Copyright (C) 2018-2024 Jonas Bernoulli + Copyright (C) 2018-2025 Jonas Bernoulli You can redistribute this document and/or modify it under the terms @@ -870,7 +870,7 @@ argument, i.e., ‘C-u RET’. ‘o [on topic in topic list]’ (‘forge-browse-this-topic’) ‘o [on repository in repository list]’ (‘forge-browse-this-repository’) These commands visit the topic, issue(s), pull-request(s), post, - branch, commit, remote or repository at point in a browser. + branch, commit, remote, repository or blob at point in a browser. -- Command: forge-browse-commit -- Command: forge-browse-branch @@ -884,6 +884,22 @@ argument, i.e., ‘C-u RET’. These commands read a topic, issue(s), pull-request(s), branch, commit, remote or repository, and open it in a browser. + -- Command: forge-browse-commit + This command visit a blob in a browser. + + When invoked from a blob- or file-visiting buffer, visit that blob + without prompting. If the region is active, try to jump to the + marked line or lines, and highlight them in the browser. To what + extend that is possible depends on the forge. When the region is + not active just visit the blob, without trying to jump to the + current line. When jumping to a line, always use a commit hash as + part of the URL. From a file in the worktree with no active + region, instead use the branch name as part of the URL, unless a + prefix argument is used. + + When invoked from any other buffer, prompt the user for a branch or + commit, and for a file. +  File: forge.info, Node: Creating Topics and Posts, Next: Editing Topics, Prev: Visiting Topics, Up: Top @@ -1252,6 +1268,14 @@ File: forge.info, Node: Miscellaneous Options, Next: How Forge Detection Works -- User Option: forge-database-file This option specifies the file used to store the forge database. + -- User Option: forge-topic-wash-title-hook + Functions used to highlight parts of each individual topic title. + + These functions are called in order, in a buffer that containing + the topic title. They should set text properties as they see fit, + usually just ‘font-lock-face’. Before each function is called, + point is at the beginning of the buffer. + -- User Option: forge-topic-repository-slug-width This option specifies the width of repository slugs (i.e., "OWNER/NAME"). @@ -1510,35 +1534,37 @@ File: forge.info, Node: Partially Supported Forges, Next: Supported Semi-Forge B.2 Partially Supported Forges ============================== -B.2.1 Gitea ------------------------------- +B.2.1 Forgejo +----------------------------------- This is the next forge whose API will be supported. -B.2.1.1 Gitea Hosts -................... +B.2.1.1 Forgejo Hosts +..................... • -B.2.2 Gogs ----------------------------- +B.2.2 Gitea +------------------------------ -Once Gitea is supported it should be fairly simple to support Gogs too, -because the former is a fork of the latter and the APIs seem to still be -very similar. +Once Forgejo is supported it might be fairly simple to support Gitea +too, because the former is a fork of the latter, and their APIs might +still be similar enough. -B.2.2.1 Gogs Hosts -.................. +B.2.3 Gogs +---------------------------- - • +Once Forgejo is supported it might be fairly simple to support Gogs too, +because the Forgejo is a fork of Gitea, which is a fork of Gogs, and +their APIs might still be similar enough. -B.2.3 Bitbucket +B.2.4 Bitbucket --------------------------------------- I don’t plan to support Bitbucket’s API any time soon, and it gets less likely that I will every do it every time I look at it. -B.2.3.1 Bitbucket Caveats +B.2.4.1 Bitbucket Caveats ......................... • The API documentation is poor and initial tests indicated that the @@ -1557,7 +1583,7 @@ B.2.3.1 Bitbucket Caveats respective issue was opened six years ago and there has been no progress since: . -B.2.3.2 Bitbucket Hosts +B.2.4.2 Bitbucket Hosts ....................... • @@ -1789,6 +1815,7 @@ Appendix E Function and Command Index * forge-browse: Visiting Topics. (line 34) * forge-browse-branch: Visiting Topics. (line 38) * forge-browse-commit: Visiting Topics. (line 37) +* forge-browse-commit <1>: Visiting Topics. (line 49) * forge-browse-issue: Visiting Topics. (line 46) * forge-browse-issues: Visiting Topics. (line 46) * forge-browse-pullreq: Visiting Topics. (line 46) @@ -1876,26 +1903,28 @@ Appendix F Variable Index * forge-alist: How Forge Detection Works. (line 95) * forge-buffer-draft-p: Miscellaneous Options. - (line 13) + (line 21) * forge-bug-reference-hooks: Miscellaneous Options. - (line 50) + (line 58) * forge-checkout-worktree-read-directory-function: Branching. (line 112) * forge-database-file: Miscellaneous Options. (line 6) * forge-limit-topic-choices: Miscellaneous Options. - (line 33) + (line 41) * forge-owned-accounts: Lists and Menus. (line 127) * forge-owned-ignored: Lists and Menus. (line 140) * forge-post-fill-region: Miscellaneous Options. - (line 46) + (line 54) * forge-post-heading-format: Miscellaneous Options. - (line 37) + (line 45) * forge-repository-list-columns: Miscellaneous Options. - (line 20) + (line 28) * forge-status-buffer-default-topic-filters: Lists and Menus. (line 163) * forge-status-buffer-default-topic-filters <1>: Lists and Menus. (line 167) * forge-topic-repository-slug-width: Miscellaneous Options. + (line 17) +* forge-topic-wash-title-hook: Miscellaneous Options. (line 9) * forge.remote: How Forge Detection Works. (line 69) @@ -1935,46 +1964,46 @@ Ref: Exiting menus and lists30984 Ref: Default topic filters31679 Ref: Topic sections in Magit status buffers32119 Node: Visiting Topics33350 -Node: Creating Topics and Posts35464 -Node: Editing Topics37546 -Node: Pulling39171 -Node: Branching41333 -Node: Miscellaneous Commands47726 -Node: Miscellaneous Options51450 -Node: How Forge Detection Works53535 -Node: Supported Forges and Hosts59072 -Node: Supported Forges60381 -Ref: Github60537 -Ref: Github Caveats60692 -Ref: Github Hosts61354 -Ref: Gitlab61426 -Ref: Gitlab Caveats61453 -Ref: Gitlab Hosts61594 -Node: Partially Supported Forges61730 -Ref: Gitea https//giteaio61936 -Ref: Gitea Hosts62052 -Ref: Gogs https//gogsio62124 -Ref: Gogs Hosts62343 -Ref: Bitbucket https//bitbucketorg62417 -Ref: Bitbucket Caveats62631 -Ref: Bitbucket Hosts63544 -Node: Supported Semi-Forges63625 -Ref: Gitweb https//git-scmcom/docs/gitweb63796 -Ref: Gitweb Caveats63891 -Ref: Cgit https//gitzx2c4com/cgit/about64147 -Ref: Cgit Caveats64240 -Ref: Cgit Hosts64605 -Ref: Stgit https//codemadnessorg/git/stagit/file/READMEhtml64748 -Ref: Stgit Caveats64881 -Ref: Stgit Hosts65183 -Ref: Srht https//metasrht65259 -Ref: Srht Caveats65324 -Ref: Srht Hosts65623 -Node: FAQ65690 -Node: error in process filter HTTP Error 502 "Bad gateway"66100 -Node: Keystroke Index67581 -Node: Function and Command Index73561 -Node: Variable Index79841 +Node: Creating Topics and Posts36241 +Node: Editing Topics38323 +Node: Pulling39948 +Node: Branching42110 +Node: Miscellaneous Commands48503 +Node: Miscellaneous Options52227 +Node: How Forge Detection Works54691 +Node: Supported Forges and Hosts60228 +Node: Supported Forges61537 +Ref: Github61693 +Ref: Github Caveats61848 +Ref: Github Hosts62510 +Ref: Gitlab62582 +Ref: Gitlab Caveats62609 +Ref: Gitlab Hosts62750 +Node: Partially Supported Forges62886 +Ref: Forgejo https//forgejoorg63092 +Ref: Forgejo Hosts63218 +Ref: Gitea https//giteaio63294 +Ref: Gogs https//gogsio63522 +Ref: Bitbucket https//bitbucketorg63766 +Ref: Bitbucket Caveats63980 +Ref: Bitbucket Hosts64893 +Node: Supported Semi-Forges64974 +Ref: Gitweb https//git-scmcom/docs/gitweb65145 +Ref: Gitweb Caveats65240 +Ref: Cgit https//gitzx2c4com/cgit/about65496 +Ref: Cgit Caveats65589 +Ref: Cgit Hosts65954 +Ref: Stgit https//codemadnessorg/git/stagit/file/READMEhtml66097 +Ref: Stgit Caveats66230 +Ref: Stgit Hosts66532 +Ref: Srht https//metasrht66608 +Ref: Srht Caveats66673 +Ref: Srht Hosts66972 +Node: FAQ67039 +Node: error in process filter HTTP Error 502 "Bad gateway"67449 +Node: Keystroke Index68930 +Node: Function and Command Index74910 +Node: Variable Index81263  End Tag Table diff --git a/elpa/magit-20241223.2133/AUTHORS.md b/elpa/magit-20250107.2324/AUTHORS.md similarity index 100% rename from elpa/magit-20241223.2133/AUTHORS.md rename to elpa/magit-20250107.2324/AUTHORS.md diff --git a/elpa/magit-20241223.2133/LICENSE b/elpa/magit-20250107.2324/LICENSE similarity index 100% rename from elpa/magit-20241223.2133/LICENSE rename to elpa/magit-20250107.2324/LICENSE diff --git a/elpa/magit-20241223.2133/dir b/elpa/magit-20250107.2324/dir similarity index 100% rename from elpa/magit-20241223.2133/dir rename to elpa/magit-20250107.2324/dir diff --git a/elpa/magit-20241223.2133/git-commit.el b/elpa/magit-20250107.2324/git-commit.el similarity index 99% rename from elpa/magit-20241223.2133/git-commit.el rename to elpa/magit-20250107.2324/git-commit.el index 4007c12a..d1cbd9ba 100644 --- a/elpa/magit-20241223.2133/git-commit.el +++ b/elpa/magit-20250107.2324/git-commit.el @@ -1,6 +1,6 @@ ;;; git-commit.el --- Edit Git commit messages -*- lexical-binding:t; coding:utf-8 -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Sebastian Wiesner @@ -100,7 +100,9 @@ ;;; Code: +(require 'magit-git) (require 'magit-mode) +(require 'magit-process) (require 'log-edit) (require 'ring) @@ -738,7 +740,7 @@ conventions are checked." (defun git-commit-prev-message (arg) "Cycle backward through message history, after saving current message. -With a numeric prefix ARG, go back ARG comments." +With a numeric prefix ARG, go back ARG messages." (interactive "*p") (let ((len (ring-length log-edit-comment-ring))) (if (<= len 0) @@ -766,7 +768,7 @@ With a numeric prefix ARG, go back ARG comments." (defun git-commit-next-message (arg) "Cycle forward through message history, after saving current message. -With a numeric prefix ARG, go forward ARG comments." +With a numeric prefix ARG, go forward ARG messages." (interactive "*p") (git-commit-prev-message (- arg))) diff --git a/elpa/magit-20241223.2133/git-rebase.el b/elpa/magit-20250107.2324/git-rebase.el similarity index 98% rename from elpa/magit-20241223.2133/git-rebase.el rename to elpa/magit-20250107.2324/git-rebase.el index 6f4af506..e408408e 100644 --- a/elpa/magit-20241223.2133/git-rebase.el +++ b/elpa/magit-20250107.2324/git-rebase.el @@ -1,6 +1,6 @@ ;;; git-rebase.el --- Edit Git rebase files -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Phil Jackson ;; Maintainer: Jonas Bernoulli @@ -375,13 +375,11 @@ non-nil, return the beginning and end of the current rebase line, if any." (cond ((use-region-p) - (let ((beg (save-excursion (goto-char (region-beginning)) - (line-beginning-position))) - (end (save-excursion (goto-char (region-end)) - (line-end-position)))) - (when (and (git-rebase-line-p beg) - (git-rebase-line-p end)) - (list beg (1+ end))))) + (let ((beg (magit--bol-position (region-beginning))) + (end (magit--eol-position (region-end)))) + (and (git-rebase-line-p beg) + (git-rebase-line-p end) + (list beg (1+ end))))) ((and fallback (git-rebase-line-p)) (list (line-beginning-position) (1+ (line-end-position)))))) diff --git a/elpa/magit-20241223.2133/magit-apply.el b/elpa/magit-20250107.2324/magit-apply.el similarity index 99% rename from elpa/magit-20241223.2133/magit-apply.el rename to elpa/magit-20250107.2324/magit-apply.el index de298482..cbbe2c1b 100644 --- a/elpa/magit-20241223.2133/magit-apply.el +++ b/elpa/magit-20250107.2324/magit-apply.el @@ -1,6 +1,6 @@ ;;; magit-apply.el --- Apply Git diffs -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -406,10 +406,10 @@ ignored) files." (magit-wip-commit-after-apply files " after stage"))) (defvar magit-post-stage-hook-commands - '(magit-stage - magit-stage-buffer-file - magit-stage-file - magit-stage-modified)) + (list #'magit-stage + #'magit-stage-buffer-file + #'magit-stage-file + #'magit-stage-modified)) (defun magit-run-post-stage-hook () (when (memq this-command magit-post-stage-hook-commands) @@ -494,10 +494,10 @@ ignored) files." (magit-wip-commit-after-apply nil " after unstage")) (defvar magit-post-unstage-hook-commands - '(magit-unstage - magit-unstage-buffer-file - magit-unstage-file - magit-unstage-all)) + (list #'magit-unstage + #'magit-unstage-buffer-file + #'magit-unstage-file + #'magit-unstage-all)) (defun magit-run-post-unstage-hook () (when (memq this-command magit-post-unstage-hook-commands) diff --git a/elpa/magit-20241223.2133/magit-autoloads.el b/elpa/magit-20250107.2324/magit-autoloads.el similarity index 98% rename from elpa/magit-20241223.2133/magit-autoloads.el rename to elpa/magit-20250107.2324/magit-autoloads.el index aa18a73e..d5addfdf 100644 --- a/elpa/magit-20241223.2133/magit-autoloads.el +++ b/elpa/magit-20250107.2324/magit-autoloads.el @@ -1820,21 +1820,17 @@ apply\" or with a prefix argument \"git stash apply --index\". When using Git v2.38.0 or later, behave more intelligently: -First try \"git stash apply --index\", which tries to preserve -the index stored in the stash, if any. This may fail because -applying the stash could result in conflicts and those have to -be stored in the index, making it impossible to also store the -stash's index there. - -If the above failed, then try \"git stash apply\". This fails -(with or without \"--index\") if there are any uncommitted -changes to files that are also modified in the stash. - -If both of the above failed, then apply using \"git apply\". -If there are no conflicting files, use \"--3way\". If there are -conflicting files, then using \"--3way\" requires that those -files are staged first, which may be undesirable, so prompt -the user whether to use \"--3way\" or \"--reject\". +First try \"git stash apply --index\", which tries to preserve the +index stored in the stash, if any. This may fail because applying +the stash could result in conflicts and those have to be stored in +the index, making it impossible to also store the stash's index +there. + +If \"git stash\" fails, then potentially fall back to using \"git +apply\". If the stash does not touch any unstaged files, then pass +\"--3way\" to that command. Otherwise ask the user whether to use +that argument or \"--reject\". Customize `magit-no-confirm' if you +want to fall back to using \"--3way\", without being prompted. (fn STASH)" t) (autoload 'magit-stash-pop "magit-stash" "\ @@ -1845,21 +1841,17 @@ pop\" or with a prefix argument \"git stash pop --index\". When using Git v2.38.0 or later, behave more intelligently: -First try \"git stash pop --index\", which tries to preserve -the index stored in the stash, if any. This may fail because -applying the stash could result in conflicts and those have to -be stored in the index, making it impossible to also store the -stash's index there. - -If the above failed, then try \"git stash apply\". This fails -(with or without \"--index\") if there are any uncommitted -changes to files that are also modified in the stash. - -If both of the above failed, then apply using \"git apply\". -If there are no conflicting files, use \"--3way\". If there are -conflicting files, then using \"--3way\" requires that those -files are staged first, which may be undesirable, so prompt -the user whether to use \"--3way\" or \"--reject\". +First try \"git stash apply --index\", which tries to preserve the +index stored in the stash, if any. This may fail because applying +the stash could result in conflicts and those have to be stored in +the index, making it impossible to also store the stash's index +there. + +If \"git stash\" fails, then potentially fall back to using \"git +apply\". If the stash does not touch any unstaged files, then pass +\"--3way\" to that command. Otherwise ask the user whether to use +that argument or \"--reject\". Customize `magit-no-confirm' if you +want to fall back to using \"--3way\", without being prompted. (fn STASH)" t) (autoload 'magit-stash-drop "magit-stash" "\ diff --git a/elpa/magit-20241223.2133/magit-autorevert.el b/elpa/magit-20250107.2324/magit-autorevert.el similarity index 99% rename from elpa/magit-20241223.2133/magit-autorevert.el rename to elpa/magit-20250107.2324/magit-autorevert.el index 36f16782..f3403027 100644 --- a/elpa/magit-20241223.2133/magit-autorevert.el +++ b/elpa/magit-20250107.2324/magit-autorevert.el @@ -1,6 +1,6 @@ ;;; magit-autorevert.el --- Revert buffers when files in repository change -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-base.el b/elpa/magit-20250107.2324/magit-base.el similarity index 99% rename from elpa/magit-20241223.2133/magit-base.el rename to elpa/magit-20250107.2324/magit-base.el index e286dda6..393d3e10 100644 --- a/elpa/magit-20241223.2133/magit-base.el +++ b/elpa/magit-20250107.2324/magit-base.el @@ -1,6 +1,6 @@ ;;; magit-base.el --- Early birds -*- lexical-binding:t; coding:utf-8 -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -930,19 +930,19 @@ If optional NUM is specified, only delete that subexpression." (defun magit-file-line (file) "Return the first line of FILE as a string." - (when (file-regular-p file) - (with-temp-buffer - (insert-file-contents file) - (buffer-substring-no-properties (point-min) - (line-end-position))))) + (and (file-regular-p file) + (with-temp-buffer + (insert-file-contents file) + (buffer-substring-no-properties (point-min) + (line-end-position))))) (defun magit-file-lines (file &optional keep-empty-lines) "Return a list of strings containing one element per line in FILE. Unless optional argument KEEP-EMPTY-LINES is t, trim all empty lines." - (when (file-regular-p file) - (with-temp-buffer - (insert-file-contents file) - (split-string (buffer-string) "\n" (not keep-empty-lines))))) + (and (file-regular-p file) + (with-temp-buffer + (insert-file-contents file) + (split-string (buffer-string) "\n" (not keep-empty-lines))))) (defun magit-set-header-line-format (string) "Set `header-line-format' in the current buffer based on STRING. diff --git a/elpa/magit-20241223.2133/magit-bisect.el b/elpa/magit-20250107.2324/magit-bisect.el similarity index 99% rename from elpa/magit-20241223.2133/magit-bisect.el rename to elpa/magit-20250107.2324/magit-bisect.el index 59c250b1..475d2575 100644 --- a/elpa/magit-20241223.2133/magit-bisect.el +++ b/elpa/magit-20250107.2324/magit-bisect.el @@ -1,6 +1,6 @@ ;;; magit-bisect.el --- Bisect support for Magit -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-blame.el b/elpa/magit-20250107.2324/magit-blame.el similarity index 98% rename from elpa/magit-20241223.2133/magit-blame.el rename to elpa/magit-20250107.2324/magit-blame.el index 3c48ca64..1e8f0ba5 100644 --- a/elpa/magit-20241223.2133/magit-blame.el +++ b/elpa/magit-20250107.2324/magit-blame.el @@ -1,6 +1,6 @@ ;;; magit-blame.el --- Blame support for Magit -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -157,15 +157,15 @@ and then turned on again when turning off the latter." :type '(choice (const :tag "No lighter" "") string)) (defcustom magit-blame-goto-chunk-hook - '(magit-blame-maybe-update-revision-buffer - magit-blame-maybe-show-message) + (list #'magit-blame-maybe-update-revision-buffer + #'magit-blame-maybe-show-message) "Hook run after point entered another chunk." :package-version '(magit . "2.13.0") :group 'magit-blame :type 'hook :get #'magit-hook-custom-get - :options '(magit-blame-maybe-update-revision-buffer - magit-blame-maybe-show-message)) + :options (list #'magit-blame-maybe-update-revision-buffer + #'magit-blame-maybe-show-message)) ;;; Faces @@ -599,9 +599,7 @@ modes is toggled, then this mode also gets toggled automatically. (magit-blame--update-heading-overlay ov))) (defun magit-blame--make-highlight-overlay (chunk beg) - (let ((ov (make-overlay beg (save-excursion - (goto-char beg) - (1+ (line-end-position)))))) + (let ((ov (make-overlay beg (1+ (magit--eol-position beg))))) (overlay-put ov 'magit-blame-chunk chunk) (overlay-put ov 'magit-blame-highlight t) (magit-blame--update-highlight-overlay ov))) diff --git a/elpa/magit-20241223.2133/magit-bookmark.el b/elpa/magit-20250107.2324/magit-bookmark.el similarity index 98% rename from elpa/magit-20241223.2133/magit-bookmark.el rename to elpa/magit-20250107.2324/magit-bookmark.el index 666acf1e..061ef293 100644 --- a/elpa/magit-20241223.2133/magit-bookmark.el +++ b/elpa/magit-20250107.2324/magit-bookmark.el @@ -1,6 +1,6 @@ ;;; magit-bookmark.el --- Bookmarks for Magit buffers -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Inspired by an earlier implementation by Yuri Khan. diff --git a/elpa/magit-20241223.2133/magit-branch.el b/elpa/magit-20250107.2324/magit-branch.el similarity index 99% rename from elpa/magit-20241223.2133/magit-branch.el rename to elpa/magit-20250107.2324/magit-branch.el index 41e011dc..fb3cc9a7 100644 --- a/elpa/magit-20241223.2133/magit-branch.el +++ b/elpa/magit-20250107.2324/magit-branch.el @@ -1,6 +1,6 @@ ;;; magit-branch.el --- Branch support -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-bundle.el b/elpa/magit-20250107.2324/magit-bundle.el similarity index 98% rename from elpa/magit-20241223.2133/magit-bundle.el rename to elpa/magit-20250107.2324/magit-bundle.el index 8b3ac88a..705181ce 100644 --- a/elpa/magit-20241223.2133/magit-bundle.el +++ b/elpa/magit-20250107.2324/magit-bundle.el @@ -1,6 +1,6 @@ ;;; magit-bundle.el --- Bundle support for Magit -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-clone.el b/elpa/magit-20250107.2324/magit-clone.el similarity index 99% rename from elpa/magit-20241223.2133/magit-clone.el rename to elpa/magit-20250107.2324/magit-clone.el index e754a6ee..298988af 100644 --- a/elpa/magit-20241223.2133/magit-clone.el +++ b/elpa/magit-20250107.2324/magit-clone.el @@ -1,6 +1,6 @@ ;;; magit-clone.el --- Clone a repository -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-commit.el b/elpa/magit-20250107.2324/magit-commit.el similarity index 99% rename from elpa/magit-20241223.2133/magit-commit.el rename to elpa/magit-20250107.2324/magit-commit.el index 7323ae19..94ce31de 100644 --- a/elpa/magit-20241223.2133/magit-commit.el +++ b/elpa/magit-20250107.2324/magit-commit.el @@ -1,6 +1,6 @@ ;;; magit-commit.el --- Create Git commits -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -544,11 +544,11 @@ See `magit-commit-absorb' for an alternative implementation." :reader #'transient-read-number-N0) (defvar magit-post-commit-hook-commands - '(magit-commit-extend - magit-commit-fixup - magit-commit-augment - magit-commit-instant-fixup - magit-commit-instant-squash)) + (list #'magit-commit-extend + #'magit-commit-fixup + #'magit-commit-augment + #'magit-commit-instant-fixup + #'magit-commit-instant-squash)) (defun magit-run-post-commit-hook () (when (and (not this-command) diff --git a/elpa/magit-20241223.2133/magit-core.el b/elpa/magit-20250107.2324/magit-core.el similarity index 98% rename from elpa/magit-20241223.2133/magit-core.el rename to elpa/magit-20250107.2324/magit-core.el index 57b08f48..a7ff47e7 100644 --- a/elpa/magit-20241223.2133/magit-core.el +++ b/elpa/magit-20250107.2324/magit-core.el @@ -1,6 +1,6 @@ ;;; magit-core.el --- Core functionality -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-diff.el b/elpa/magit-20250107.2324/magit-diff.el similarity index 98% rename from elpa/magit-20241223.2133/magit-diff.el rename to elpa/magit-20250107.2324/magit-diff.el index 598b6171..6eabd534 100644 --- a/elpa/magit-20241223.2133/magit-diff.el +++ b/elpa/magit-20250107.2324/magit-diff.el @@ -1,6 +1,6 @@ ;;; magit-diff.el --- Inspect Git diffs -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -90,6 +90,16 @@ (cl-pushnew 'action-type eieio--known-slot-names) (cl-pushnew 'target eieio--known-slot-names)) +(define-obsolete-variable-alias 'magit-diff-section-base-map + 'magit-diff-section-map "Magit 4.0.0") + +(define-obsolete-variable-alias 'magit-wash-message-hook + 'magit-revision-wash-message-hook "Magit 4.2.1") + +(make-obsolete-variable 'magit-diff-highlight-keywords + 'magit-revision-wash-message-hook + "Magit 4.2.1") + ;;; Options ;;;; Diff Mode @@ -139,8 +149,8 @@ member of `magit-section-highlight-hook', which see." :type 'boolean) (defcustom magit-diff-highlight-hunk-region-functions - '(magit-diff-highlight-hunk-region-dim-outside - magit-diff-highlight-hunk-region-using-overlays) + (list #'magit-diff-highlight-hunk-region-dim-outside + #'magit-diff-highlight-hunk-region-using-overlays) "The functions used to highlight the hunk-internal region. `magit-diff-highlight-hunk-region-dim-outside' overlays the outside @@ -166,10 +176,10 @@ calling the face function instead." :set-after '(magit-diff-show-lines-boundaries) :group 'magit-diff :type 'hook - :options '(magit-diff-highlight-hunk-region-dim-outside - magit-diff-highlight-hunk-region-using-underline - magit-diff-highlight-hunk-region-using-overlays - magit-diff-highlight-hunk-region-using-face)) + :options (list #'magit-diff-highlight-hunk-region-dim-outside + #'magit-diff-highlight-hunk-region-using-underline + #'magit-diff-highlight-hunk-region-using-overlays + #'magit-diff-highlight-hunk-region-using-face)) (defcustom magit-diff-unmarked-lines-keep-foreground t "Whether `magit-diff-highlight-hunk-region-dim-outside' preserves foreground. @@ -298,12 +308,6 @@ that many spaces. Otherwise, highlight neither." :group 'magit-diff :type 'boolean) -(defcustom magit-diff-highlight-keywords t - "Whether to highlight bracketed keywords in commit messages." - :package-version '(magit . "2.12.0") - :group 'magit-diff - :type 'boolean) - (defcustom magit-diff-extra-stat-arguments nil "Additional arguments to be used alongside `--stat'. @@ -344,17 +348,35 @@ and `--compact-summary'. See the git-diff(1) manpage." goto-address-mode)) (defcustom magit-revision-sections-hook - '(magit-insert-revision-tag - magit-insert-revision-headers - magit-insert-revision-message - magit-insert-revision-notes - magit-insert-revision-diff - magit-insert-xref-buttons) + (list #'magit-insert-revision-tag + #'magit-insert-revision-headers + #'magit-insert-revision-message + #'magit-insert-revision-notes + #'magit-insert-revision-diff + #'magit-insert-xref-buttons) "Hook run to insert sections into a `magit-revision-mode' buffer." :package-version '(magit . "2.3.0") :group 'magit-revision :type 'hook) +(defcustom magit-revision-wash-message-hook + (list #'magit-highlight-squash-markers + #'magit-highlight-bracket-keywords) + "Functions used to highlight parts of a commit message. + +These functions are called in order, in a buffer narrowed to the commit +message. They should set text properties as they see fit, usually just +`font-lock-face'. Before each function is called, point is at the +beginning of the narrowed region of the buffer. + +See also the related `magit-log-wash-summary-hook'. You likely want to +use the same functions for both hooks." + :package-version '(magit . "4.2.1") + :group 'magit-log + :type 'hook + :options (list #'magit-highlight-squash-markers + #'magit-highlight-bracket-keywords)) + (defcustom magit-revision-headers-format "\ Author: %aN <%aE> AuthorDate: %ad @@ -2050,9 +2072,6 @@ Staging and applying changes is documented in info node (cl-defmethod magit-menu-common-value ((_section magit-diff-section)) (magit-diff-scope)) -(define-obsolete-variable-alias 'magit-diff-section-base-map - 'magit-diff-section-map "Magit-Section 4.0.0") - (defvar-keymap magit-diff-section-map :doc "Keymap for diff sections. The classes `magit-file-section' and `magit-hunk-section' derive @@ -2746,16 +2765,23 @@ or a ref which is not a branch, then it inserts nothing." (let ((fill-column (min magit-revision-fill-summary-line (window-width (get-buffer-window nil t))))) (fill-region (point) (line-end-position)))) - (when magit-diff-highlight-keywords - (save-excursion - (while (re-search-forward "\\[[^[]*\\]" nil t) - (put-text-property (match-beginning 0) - (match-end 0) - 'font-lock-face 'magit-keyword)))) - (run-hook-wrapped 'magit-wash-message-hook - (lambda (fn) (save-excursion (funcall fn)))) + (run-hook-wrapped 'magit-revision-wash-message-hook + (lambda (fn) (prog1 nil (save-excursion (funcall fn))))) (buffer-string))) +(defun magit-highlight-squash-markers () + "Highlight \"squash!\" and similar markers." + (when (looking-at "\\(?:squash\\|fixup\\)!") + (magit--add-face-text-property (match-beginning 0) (match-end 0) + 'magit-keyword-squash))) + +(defun magit-highlight-bracket-keywords () + "Highlight text between brackets." + (while (re-search-forward "\\[[^][]*]" nil t) + (put-text-property (match-beginning 0) + (match-end 0) + 'font-lock-face 'magit-keyword))) + (defun magit-revision--wash-message-hashes () (when magit-revision-use-hash-sections (save-excursion @@ -3438,12 +3464,10 @@ are highlighted." ;;; Hunk Region (defun magit-diff-hunk-region-beginning () - (save-excursion (goto-char (region-beginning)) - (line-beginning-position))) + (magit--bol-position (region-beginning))) (defun magit-diff-hunk-region-end () - (save-excursion (goto-char (region-end)) - (line-end-position))) + (magit--eol-position (region-end))) (defun magit-diff-update-hunk-region (section) "Highlight the hunk-internal region if any." diff --git a/elpa/magit-20241223.2133/magit-ediff.el b/elpa/magit-20250107.2324/magit-ediff.el similarity index 98% rename from elpa/magit-20241223.2133/magit-ediff.el rename to elpa/magit-20250107.2324/magit-ediff.el index 71721eb2..650268d8 100644 --- a/elpa/magit-20241223.2133/magit-ediff.el +++ b/elpa/magit-20250107.2324/magit-ediff.el @@ -1,6 +1,6 @@ ;;; magit-ediff.el --- Ediff extension for Magit -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -42,8 +42,8 @@ :group 'magit-extensions) (defcustom magit-ediff-quit-hook - '(magit-ediff-cleanup-auxiliary-buffers - magit-ediff-restore-previous-winconf) + (list #'magit-ediff-cleanup-auxiliary-buffers + #'magit-ediff-restore-previous-winconf) "Hooks to run after finishing Ediff, when that was invoked using Magit. The hooks are run in the Ediff control buffer. This is similar to `ediff-quit-hook' but takes the needs of Magit into account. @@ -53,8 +53,8 @@ invoked using Magit." :group 'magit-ediff :type 'hook :get #'magit-hook-custom-get - :options '(magit-ediff-cleanup-auxiliary-buffers - magit-ediff-restore-previous-winconf)) + :options (list #'magit-ediff-cleanup-auxiliary-buffers + #'magit-ediff-restore-previous-winconf)) (defcustom magit-ediff-dwim-resolve-function #'magit-ediff-resolve-rest "The function `magit-ediff-dwim' uses to resolve conflicts." diff --git a/elpa/magit-20241223.2133/magit-extras.el b/elpa/magit-20250107.2324/magit-extras.el similarity index 99% rename from elpa/magit-20241223.2133/magit-extras.el rename to elpa/magit-20250107.2324/magit-extras.el index b487289d..5cc64a38 100644 --- a/elpa/magit-20241223.2133/magit-extras.el +++ b/elpa/magit-20250107.2324/magit-extras.el @@ -1,6 +1,6 @@ ;;; magit-extras.el --- Additional functionality for Magit -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-fetch.el b/elpa/magit-20250107.2324/magit-fetch.el similarity index 99% rename from elpa/magit-20241223.2133/magit-fetch.el rename to elpa/magit-20250107.2324/magit-fetch.el index 1b64a6d9..18a2d631 100644 --- a/elpa/magit-20241223.2133/magit-fetch.el +++ b/elpa/magit-20250107.2324/magit-fetch.el @@ -1,6 +1,6 @@ ;;; magit-fetch.el --- Download objects and refs -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-files.el b/elpa/magit-20250107.2324/magit-files.el similarity index 99% rename from elpa/magit-20241223.2133/magit-files.el rename to elpa/magit-20250107.2324/magit-files.el index ff74e622..2dbf1189 100644 --- a/elpa/magit-20241223.2133/magit-files.el +++ b/elpa/magit-20250107.2324/magit-files.el @@ -1,6 +1,6 @@ ;;; magit-files.el --- Finding files -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-git.el b/elpa/magit-20250107.2324/magit-git.el similarity index 99% rename from elpa/magit-20241223.2133/magit-git.el rename to elpa/magit-20250107.2324/magit-git.el index 356f42a7..c529518a 100644 --- a/elpa/magit-20241223.2133/magit-git.el +++ b/elpa/magit-20250107.2324/magit-git.el @@ -1,6 +1,6 @@ ;;; magit-git.el --- Git functionality -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -1022,17 +1022,17 @@ If the file is not inside a Git repository, then return nil. If TRACKED is non-nil, return the path only if it matches a tracked file." - (unless file - (with-current-buffer (or (buffer-base-buffer) - (current-buffer)) - (setq file (or magit-buffer-file-name buffer-file-name - (and (derived-mode-p 'dired-mode) default-directory))))) - (when (and file (or (not tracked) - (magit-file-tracked-p (file-relative-name file)))) - (and-let* ((dir (magit-toplevel - (magit--safe-default-directory - (directory-file-name (file-name-directory file)))))) - (file-relative-name file dir)))) + (and-let* ((file (or file + magit-buffer-file-name + buffer-file-name + (and (derived-mode-p 'dired-mode) + default-directory))) + ((or (not tracked) + (magit-file-tracked-p (file-relative-name file)))) + (dir (magit-toplevel + (magit--safe-default-directory + (directory-file-name (file-name-directory file)))))) + (file-relative-name file dir))) (defun magit-file-ignored-p (file) (magit-git-string-p "ls-files" "--others" "--ignored" "--exclude-standard" diff --git a/elpa/magit-20241223.2133/magit-gitignore.el b/elpa/magit-20250107.2324/magit-gitignore.el similarity index 99% rename from elpa/magit-20241223.2133/magit-gitignore.el rename to elpa/magit-20250107.2324/magit-gitignore.el index 82d494ef..14ce4307 100644 --- a/elpa/magit-20241223.2133/magit-gitignore.el +++ b/elpa/magit-20250107.2324/magit-gitignore.el @@ -1,6 +1,6 @@ ;;; magit-gitignore.el --- Intentionally untracked files -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-log.el b/elpa/magit-20250107.2324/magit-log.el similarity index 98% rename from elpa/magit-20241223.2133/magit-log.el rename to elpa/magit-20250107.2324/magit-log.el index 5f4bae56..6c015991 100644 --- a/elpa/magit-20241223.2133/magit-log.el +++ b/elpa/magit-20250107.2324/magit-log.el @@ -1,6 +1,6 @@ ;;; magit-log.el --- Inspect Git history -*- lexical-binding:t; coding:utf-8 -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -55,6 +55,14 @@ (require 'crm) (require 'which-func) +(make-obsolete-variable 'magit-log-highlight-keywords + 'magit-log-wash-summary-hook + "Magit 4.2.1") + +(make-obsolete-variable 'magit-log-format-message-function + 'magit-log-wash-summary-hook + "Magit 4.2.1") + ;;; Options ;;;; Log Mode @@ -143,11 +151,23 @@ This is useful if you use really long branch names." :group 'magit-log :type 'boolean) -(defcustom magit-log-highlight-keywords t - "Whether to highlight bracketed keywords in commit summaries." - :package-version '(magit . "2.12.0") +(defcustom magit-log-wash-summary-hook + (list #'magit-highlight-squash-markers + #'magit-highlight-bracket-keywords) + "Functions used to highlight parts of each individual commit summary. + +These functions are called in order, in a buffer that containing the +first line of the commit message. They should set text properties as +they see fit, usually just `font-lock-face'. Before each function is +called, point is at the beginning of the buffer. + +See also the related `magit-revision-wash-message-hook'. You likely +want to use the same functions for both hooks." + :package-version '(magit . "4.2.1") :group 'magit-log - :type 'boolean) + :type 'hook + :options (list #'magit-highlight-squash-markers + #'magit-highlight-bracket-keywords)) (defcustom magit-log-header-line-function #'magit-log-header-line-sentence "Function used to generate text shown in header line of log buffers." @@ -280,8 +300,8 @@ AUTHOR-WIDTH has to be an integer. When the name of the author ;;;; Cherry Mode (defcustom magit-cherry-sections-hook - '(magit-insert-cherry-headers - magit-insert-cherry-commits) + (list #'magit-insert-cherry-headers + #'magit-insert-cherry-commits) "Hook run to insert sections into the cherry buffer." :package-version '(magit . "2.1.0") :group 'magit-log @@ -736,21 +756,7 @@ completion candidates." With a prefix argument or when `--follow' is an active log argument, then follow renames. When the region is active, restrict the log to the lines that the region touches." - (interactive - (cons current-prefix-arg - (and (region-active-p) - (magit-file-relative-name) - (not (derived-mode-p 'dired-mode)) - (save-restriction - (widen) - (list (line-number-at-pos (region-beginning)) - (line-number-at-pos - (let ((end (region-end))) - (if (char-after end) - end - ;; Ensure that we don't get the line number - ;; of a trailing newline. - (1- end))))))))) + (interactive (cons current-prefix-arg (magit-file-region-line-numbers))) (require 'magit) (if-let ((file (magit-file-relative-name))) (magit-log-setup-buffer @@ -1277,8 +1283,6 @@ Do not add this to a hook variable." (defvar magit-log-count nil) -(defvar magit-log-format-message-function #'magit-log-propertize-keywords) - (defun magit-log-wash-log (style args) (setq args (flatten-tree args)) (when (if (derived-mode-p 'magit-log-mode) @@ -1387,7 +1391,7 @@ Do not add this to a hook variable." (insert (magit-reflog-format-subject (substring refsub 0 (if (string-search ":" refsub) -2 -1)))))) - (insert (funcall magit-log-format-message-function hash msg)) + (insert (magit-log--wash-summary msg)) (when (and refs magit-log-show-refname-after-summary) (insert ?\s) (insert (magit-format-ref-labels refs))) @@ -1451,18 +1455,12 @@ Do not add this to a hook variable." (insert graph ?\n)))))))) t) -(defun magit-log-propertize-keywords (_rev msg) - (let ((boundary 0)) - (when (string-match "^\\(?:squash\\|fixup\\)! " msg boundary) - (setq boundary (match-end 0)) - (magit--put-face (match-beginning 0) (1- boundary) - 'magit-keyword-squash msg)) - (when magit-log-highlight-keywords - (while (string-match "\\[[^][]*]" msg boundary) - (setq boundary (match-end 0)) - (magit--put-face (match-beginning 0) boundary - 'magit-keyword msg)))) - msg) +(defun magit-log--wash-summary (summary) + (with-temp-buffer + (save-excursion (insert summary)) + (run-hook-wrapped 'magit-log-wash-summary-hook + (lambda (fn) (prog1 nil (save-excursion (funcall fn))))) + (buffer-string))) (defun magit-log-maybe-show-more-commits (section) "When point is at the end of a log buffer, insert more commits. diff --git a/elpa/magit-20241223.2133/magit-margin.el b/elpa/magit-20250107.2324/magit-margin.el similarity index 99% rename from elpa/magit-20241223.2133/magit-margin.el rename to elpa/magit-20250107.2324/magit-margin.el index 46d360f6..f2abe52b 100644 --- a/elpa/magit-20241223.2133/magit-margin.el +++ b/elpa/magit-20250107.2324/magit-margin.el @@ -1,6 +1,6 @@ ;;; magit-margin.el --- Margins in Magit buffers -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-merge.el b/elpa/magit-20250107.2324/magit-merge.el similarity index 99% rename from elpa/magit-20241223.2133/magit-merge.el rename to elpa/magit-20250107.2324/magit-merge.el index 3f41cc43..af687c6a 100644 --- a/elpa/magit-20241223.2133/magit-merge.el +++ b/elpa/magit-20250107.2324/magit-merge.el @@ -1,6 +1,6 @@ ;;; magit-merge.el --- Merge functionality -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-mode.el b/elpa/magit-20250107.2324/magit-mode.el similarity index 97% rename from elpa/magit-20241223.2133/magit-mode.el rename to elpa/magit-20250107.2324/magit-mode.el index 2a7b79fe..baf35f88 100644 --- a/elpa/magit-20241223.2133/magit-mode.el +++ b/elpa/magit-20250107.2324/magit-mode.el @@ -1,6 +1,6 @@ ;;; magit-mode.el --- Create and refresh Magit buffers -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -54,17 +54,17 @@ ;;; Options (defcustom magit-mode-hook - '(magit-load-config-extensions) + (list #'magit-load-config-extensions) "Hook run when entering a mode derived from Magit mode." :package-version '(magit . "3.0.0") :group 'magit-modes :type 'hook - :options '(magit-load-config-extensions - bug-reference-mode)) + :options (list #'magit-load-config-extensions + #'bug-reference-mode)) (defcustom magit-setup-buffer-hook - '(magit-maybe-save-repository-buffers - magit-set-buffer-margin) + (list #'magit-maybe-save-repository-buffers + 'magit-set-buffer-margin) ; from magit-margin.el "Hook run by `magit-setup-buffer'. This is run right after displaying the buffer and right before @@ -75,10 +75,11 @@ should be used instead of this one." :package-version '(magit . "2.3.0") :group 'magit-modes :type 'hook - :options '(magit-maybe-save-repository-buffers - magit-set-buffer-margin)) + :options (list #'magit-maybe-save-repository-buffers + 'magit-set-buffer-margin)) -(defcustom magit-pre-refresh-hook '(magit-maybe-save-repository-buffers) +(defcustom magit-pre-refresh-hook + (list #'magit-maybe-save-repository-buffers) "Hook run before refreshing in `magit-refresh'. This hook, or `magit-post-refresh-hook', should be used @@ -90,9 +91,10 @@ inside your function." :package-version '(magit . "2.4.0") :group 'magit-refresh :type 'hook - :options '(magit-maybe-save-repository-buffers)) + :options (list #'magit-maybe-save-repository-buffers)) (defcustom magit-post-refresh-hook + ;; Do not function-quote to avoid circular dependencies. '(magit-auto-revert-buffers magit-run-post-commit-hook magit-run-post-stage-hook @@ -129,21 +131,22 @@ which in turn uses the function specified here." (function-item display-buffer) (function :tag "Function"))) -(defcustom magit-pre-display-buffer-hook '(magit-save-window-configuration) +(defcustom magit-pre-display-buffer-hook + (list #'magit-save-window-configuration) "Hook run by `magit-display-buffer' before displaying the buffer." :package-version '(magit . "2.3.0") :group 'magit-buffers :type 'hook :get #'magit-hook-custom-get - :options '(magit-save-window-configuration)) + :options (list #'magit-save-window-configuration)) -(defcustom magit-post-display-buffer-hook '(magit-maybe-set-dedicated) +(defcustom magit-post-display-buffer-hook (list #'magit-maybe-set-dedicated) "Hook run by `magit-display-buffer' after displaying the buffer." :package-version '(magit . "2.3.0") :group 'magit-buffers :type 'hook :get #'magit-hook-custom-get - :options '(magit-maybe-set-dedicated)) + :options (list #'magit-maybe-set-dedicated)) (defcustom magit-generate-buffer-name-function #'magit-generate-buffer-name-default-function @@ -269,7 +272,8 @@ and Buffer Variables'." (const :tag "use args from buffer if it is current" current) (const :tag "never use args from buffer" never))) -(defcustom magit-region-highlight-hook '(magit-diff-update-hunk-region) +(defcustom magit-region-highlight-hook + '(magit-diff-update-hunk-region) ; from magit-diff.el "Functions used to highlight the region. Each function is run with the current section as only argument @@ -1179,10 +1183,6 @@ if you so desire." (not (equal msg (current-message)))) (message "%s" msg))))) -(add-hook 'magit-pre-refresh-hook #'magit-maybe-save-repository-buffers) -(add-hook 'magit-pre-call-git-hook #'magit-maybe-save-repository-buffers) -(add-hook 'magit-pre-start-git-hook #'magit-maybe-save-repository-buffers) - (defvar-local magit-inhibit-refresh-save nil) (defun magit-save-repository-buffers (&optional arg) @@ -1499,6 +1499,22 @@ The additional output can be found in the *Messages* buffer." (message " %-50s %f" fn (benchmark-elapse (funcall fn)))))))) ((run-hooks hook)))) +(defun magit-file-region-line-numbers () + "Return the bounds of the region as line numbers. +The returned value has the form (BEGINNING-LINE END-LINE). If +the region end at the beginning of a line, do not include that +line. Avoid including the line after the end of the file." + (and (or magit-buffer-file-name buffer-file-name) + (region-active-p) + (not (= (region-beginning) (region-end) (1+ (buffer-size)))) + (let ((beg (region-beginning)) + (end (min (region-end) (buffer-size)))) + (list (line-number-at-pos beg t) + (line-number-at-pos (if (= (magit--bol-position end) end) + (max beg (1- end)) + end) + t))))) + ;;; _ (provide 'magit-mode) ;;; magit-mode.el ends here diff --git a/elpa/magit-20241223.2133/magit-notes.el b/elpa/magit-20250107.2324/magit-notes.el similarity index 99% rename from elpa/magit-20241223.2133/magit-notes.el rename to elpa/magit-20250107.2324/magit-notes.el index 08fcc303..64bf977a 100644 --- a/elpa/magit-20241223.2133/magit-notes.el +++ b/elpa/magit-20250107.2324/magit-notes.el @@ -1,6 +1,6 @@ ;;; magit-notes.el --- Notes support -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-patch.el b/elpa/magit-20250107.2324/magit-patch.el similarity index 99% rename from elpa/magit-20241223.2133/magit-patch.el rename to elpa/magit-20250107.2324/magit-patch.el index bd91fb45..4c6bba86 100644 --- a/elpa/magit-20241223.2133/magit-patch.el +++ b/elpa/magit-20250107.2324/magit-patch.el @@ -1,6 +1,6 @@ ;;; magit-patch.el --- Creating and applying patches -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-pkg.el b/elpa/magit-20250107.2324/magit-pkg.el similarity index 71% rename from elpa/magit-20241223.2133/magit-pkg.el rename to elpa/magit-20250107.2324/magit-pkg.el index 412fd7cf..1b162469 100644 --- a/elpa/magit-20241223.2133/magit-pkg.el +++ b/elpa/magit-20250107.2324/magit-pkg.el @@ -1,16 +1,16 @@ ;; -*- no-byte-compile: t; lexical-binding: nil -*- -(define-package "magit" "20241223.2133" +(define-package "magit" "20250107.2324" "A Git porcelain inside Emacs." '((emacs "27.1") - (compat "30.0.0.0") + (compat "30.0.1.0") (dash "2.19.1") - (magit-section "4.1.3") + (magit-section "4.2.0") (seq "2.24") - (transient "20241217") + (transient "0.8.2") (with-editor "3.4.3")) :url "https://github.com/magit/magit" - :commit "692cc5e7696f9de6fce4a2e076eb51507809aaf3" - :revdesc "692cc5e7696f" + :commit "8b6bb7c7e88c298e1447ca7c86138588a3953784" + :revdesc "8b6bb7c7e88c" :keywords '("git" "tools" "vc") :authors '(("Marius Vollmer" . "marius.vollmer@gmail.com") ("Jonas Bernoulli" . "emacs.magit@jonas.bernoulli.dev")) diff --git a/elpa/magit-20241223.2133/magit-process.el b/elpa/magit-20250107.2324/magit-process.el similarity index 99% rename from elpa/magit-20241223.2133/magit-process.el rename to elpa/magit-20250107.2324/magit-process.el index 6570b776..91c90def 100644 --- a/elpa/magit-20241223.2133/magit-process.el +++ b/elpa/magit-20250107.2324/magit-process.el @@ -1,6 +1,6 @@ ;;; magit-process.el --- Process functionality -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -191,7 +191,7 @@ non-nil, then the password is read from the user instead." :package-version '(magit . "2.3.0") :group 'magit-process :type 'hook - :options '(magit-process-password-auth-source)) + :options (list #'magit-process-password-auth-source)) (defcustom magit-process-username-prompt-regexps '("^Username for '.*': ?$") @@ -416,7 +416,7 @@ Process output goes into a new section in the buffer returned by (setq magit--refresh-cache nil)) (magit-refresh)))) -(defvar magit-pre-call-git-hook nil) +(defvar magit-pre-call-git-hook (list #'magit-maybe-save-repository-buffers)) (defun magit-call-git (&rest args) "Call Git synchronously in a separate process. @@ -579,7 +579,7 @@ See `magit-start-process' and `with-editor' for more information." (set-process-sentinel magit-this-process #'magit-sequencer-process-sentinel) magit-this-process) -(defvar magit-pre-start-git-hook nil) +(defvar magit-pre-start-git-hook (list #'magit-maybe-save-repository-buffers)) (defun magit-start-git (input &rest args) "Start Git, prepare for refresh, and return the process object. diff --git a/elpa/magit-20241223.2133/magit-pull.el b/elpa/magit-20250107.2324/magit-pull.el similarity index 99% rename from elpa/magit-20241223.2133/magit-pull.el rename to elpa/magit-20250107.2324/magit-pull.el index d218c72c..7116c29d 100644 --- a/elpa/magit-20241223.2133/magit-pull.el +++ b/elpa/magit-20250107.2324/magit-pull.el @@ -1,6 +1,6 @@ ;;; magit-pull.el --- Update local objects and refs -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-push.el b/elpa/magit-20250107.2324/magit-push.el similarity index 99% rename from elpa/magit-20241223.2133/magit-push.el rename to elpa/magit-20250107.2324/magit-push.el index 558a0da8..c2ba4871 100644 --- a/elpa/magit-20241223.2133/magit-push.el +++ b/elpa/magit-20250107.2324/magit-push.el @@ -1,6 +1,6 @@ ;;; magit-push.el --- Update remote objects and refs -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-reflog.el b/elpa/magit-20250107.2324/magit-reflog.el similarity index 99% rename from elpa/magit-20241223.2133/magit-reflog.el rename to elpa/magit-20250107.2324/magit-reflog.el index cb6c2274..7ffce3e0 100644 --- a/elpa/magit-20241223.2133/magit-reflog.el +++ b/elpa/magit-20250107.2324/magit-reflog.el @@ -1,6 +1,6 @@ ;;; magit-reflog.el --- Inspect ref history -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-refs.el b/elpa/magit-20250107.2324/magit-refs.el similarity index 96% rename from elpa/magit-20241223.2133/magit-refs.el rename to elpa/magit-20250107.2324/magit-refs.el index 7e2d9a31..bfb9f7a8 100644 --- a/elpa/magit-20241223.2133/magit-refs.el +++ b/elpa/magit-20250107.2324/magit-refs.el @@ -1,6 +1,6 @@ ;;; magit-refs.el --- Listing references -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -42,11 +42,11 @@ :type 'hook) (defcustom magit-refs-sections-hook - '(magit-insert-error-header - magit-insert-branch-description - magit-insert-local-branches - magit-insert-remote-branches - magit-insert-tags) + (list #'magit-insert-error-header + #'magit-insert-branch-description + #'magit-insert-local-branches + #'magit-insert-remote-branches + #'magit-insert-tags) "Hook run to insert sections into a references buffer." :package-version '(magit . "2.1.0") :group 'magit-refs @@ -100,6 +100,15 @@ in the heading preceding the list of its branches." :group 'magit-refs :type 'boolean) +(defcustom magit-refs-show-branch-descriptions nil + "Whether to show the description, if any, of local branches. +To distinguish branch descriptions from the commit summary of the tip, +which is shown when there is no description or this option is disabled, +descriptions use the bold face." + :package-version '(magit . "4.2.1") + :group 'magit-refs + :type 'boolean) + (defcustom magit-refs-margin (list nil (nth 1 magit-log-margin) @@ -552,7 +561,7 @@ line is inserted at all." magit-refs-primary-column-width) (length tag))) ?\s) - (and msg (magit-log-propertize-keywords nil msg))) + (and msg (magit-log--wash-summary msg))) (when (and magit-refs-margin-for-tags (magit-buffer-margin-p)) (magit-refs--format-margin tag)) (magit-refs--insert-cherry-commits tag))))) @@ -607,7 +616,7 @@ line is inserted at all." magit-refs-primary-column-width) (length abbrev))) ?\s) - (and msg (magit-log-propertize-keywords nil msg)))) + (and msg (magit-log--wash-summary msg)))) (when (magit-buffer-margin-p) (magit-refs--format-margin branch)) (magit-refs--insert-cherry-commits branch)))))))) @@ -653,8 +662,9 @@ line is inserted at all." def (pcase-let ((`(,min . ,max) def)) (min max (apply #'max min (mapcar #'car lines))))))) - (mapcar (pcase-lambda (`(,_ ,branch ,focus ,branch-desc ,u:ahead ,p:ahead - ,u:behind ,upstream ,p:behind ,push ,msg)) + (mapcar (pcase-lambda (`( ,_ ,branch ,focus + ,branch-desc ,u:ahead ,p:ahead + ,u:behind ,upstream ,p:behind ,msg)) (list branch focus branch-desc u:ahead p:ahead (make-string (max 1 (- magit-refs-primary-column-width (length (concat branch-desc @@ -662,8 +672,7 @@ line is inserted at all." p:ahead u:behind)))) ?\s) - u:behind upstream p:behind push - msg)) + u:behind upstream p:behind msg)) lines))) (defun magit-refs--format-local-branch (line) @@ -677,7 +686,7 @@ line is inserted at all." magit-refs-show-push-remote (magit-rev-verify p:ref) (not (equal p:ref u:ref)))) - (branch-desc + (branch-pretty (if branch (magit-refs--propertize-branch branch ref (and headp 'magit-branch-current)) @@ -710,10 +719,11 @@ line is inserted at all." (match-string 1 p:track) (and magit-refs-pad-commit-counts " ")) 'magit-dimmed)))) - (list (1+ (length (concat branch-desc u:ahead p:ahead u:behind))) + (list (1+ (length (concat branch-pretty u:ahead p:ahead u:behind))) branch (magit-refs--format-focus-column branch headp) - branch-desc u:ahead p:ahead u:behind + branch-pretty u:ahead p:ahead + u:behind (and upstream (concat (if (equal u:track "[gone]") (magit--propertize-face upstream 'error) @@ -724,7 +734,10 @@ line is inserted at all." (magit--propertize-face push 'magit-branch-remote) " ")) - (and msg (magit-log-propertize-keywords nil msg))))))) + (if-let ((magit-refs-show-branch-descriptions) + (desc (magit-get "branch" branch "description"))) + (magit--propertize-face desc 'bold) + (and msg (magit-log--wash-summary msg)))))))) (defun magit-refs--format-focus-column (ref &optional type) (let ((focus magit-buffer-upstream) diff --git a/elpa/magit-20241223.2133/magit-remote.el b/elpa/magit-20250107.2324/magit-remote.el similarity index 99% rename from elpa/magit-20241223.2133/magit-remote.el rename to elpa/magit-20250107.2324/magit-remote.el index aa218ee8..8102c4d3 100644 --- a/elpa/magit-20241223.2133/magit-remote.el +++ b/elpa/magit-20250107.2324/magit-remote.el @@ -1,6 +1,6 @@ ;;; magit-remote.el --- Transfer Git commits -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-repos.el b/elpa/magit-20250107.2324/magit-repos.el similarity index 99% rename from elpa/magit-20241223.2133/magit-repos.el rename to elpa/magit-20250107.2324/magit-repos.el index 20784ef7..bb9e933c 100644 --- a/elpa/magit-20241223.2133/magit-repos.el +++ b/elpa/magit-20250107.2324/magit-repos.el @@ -1,6 +1,6 @@ ;;; magit-repos.el --- Listing repositories -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-reset.el b/elpa/magit-20250107.2324/magit-reset.el similarity index 98% rename from elpa/magit-20241223.2133/magit-reset.el rename to elpa/magit-20250107.2324/magit-reset.el index c576a175..4baa64b2 100644 --- a/elpa/magit-20241223.2133/magit-reset.el +++ b/elpa/magit-20250107.2324/magit-reset.el @@ -1,6 +1,6 @@ ;;; magit-reset.el --- Reset functionality -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-sequence.el b/elpa/magit-20250107.2324/magit-sequence.el similarity index 99% rename from elpa/magit-20241223.2133/magit-sequence.el rename to elpa/magit-20250107.2324/magit-sequence.el index 1cfa7f98..048a53d5 100644 --- a/elpa/magit-20241223.2133/magit-sequence.el +++ b/elpa/magit-20250107.2324/magit-sequence.el @@ -1,6 +1,6 @@ ;;; magit-sequence.el --- History manipulation in Magit -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-sparse-checkout.el b/elpa/magit-20250107.2324/magit-sparse-checkout.el similarity index 99% rename from elpa/magit-20241223.2133/magit-sparse-checkout.el rename to elpa/magit-20250107.2324/magit-sparse-checkout.el index 2805f3e3..d5ab0e9e 100644 --- a/elpa/magit-20241223.2133/magit-sparse-checkout.el +++ b/elpa/magit-20250107.2324/magit-sparse-checkout.el @@ -1,6 +1,6 @@ ;;; magit-sparse-checkout.el --- Sparse checkout support for Magit -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Kyle Meyer ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-stash.el b/elpa/magit-20250107.2324/magit-stash.el similarity index 88% rename from elpa/magit-20241223.2133/magit-stash.el rename to elpa/magit-20250107.2324/magit-stash.el index 269a2434..cf1830ac 100644 --- a/elpa/magit-20241223.2133/magit-stash.el +++ b/elpa/magit-20250107.2324/magit-stash.el @@ -1,6 +1,6 @@ ;;; magit-stash.el --- Stash support for Magit -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -39,10 +39,10 @@ ;;;; Diff options (defcustom magit-stash-sections-hook - '(magit-insert-stash-notes - magit-insert-stash-worktree - magit-insert-stash-index - magit-insert-stash-untracked) + (list #'magit-insert-stash-notes + #'magit-insert-stash-worktree + #'magit-insert-stash-index + #'magit-insert-stash-untracked) "Hook run to insert sections into stash diff buffers." :package-version '(magit . "2.1.0") :group 'magit-stash @@ -269,21 +269,17 @@ apply\" or with a prefix argument \"git stash apply --index\". When using Git v2.38.0 or later, behave more intelligently: -First try \"git stash apply --index\", which tries to preserve -the index stored in the stash, if any. This may fail because -applying the stash could result in conflicts and those have to -be stored in the index, making it impossible to also store the -stash's index there. - -If the above failed, then try \"git stash apply\". This fails -\(with or without \"--index\") if there are any uncommitted -changes to files that are also modified in the stash. - -If both of the above failed, then apply using \"git apply\". -If there are no conflicting files, use \"--3way\". If there are -conflicting files, then using \"--3way\" requires that those -files are staged first, which may be undesirable, so prompt -the user whether to use \"--3way\" or \"--reject\"." +First try \"git stash apply --index\", which tries to preserve the +index stored in the stash, if any. This may fail because applying +the stash could result in conflicts and those have to be stored in +the index, making it impossible to also store the stash's index +there. + +If \"git stash\" fails, then potentially fall back to using \"git +apply\". If the stash does not touch any unstaged files, then pass +\"--3way\" to that command. Otherwise ask the user whether to use +that argument or \"--reject\". Customize `magit-no-confirm' if you +want to fall back to using \"--3way\", without being prompted." (interactive (list (magit-read-stash "Apply stash"))) (magit-stash--apply "apply" stash)) @@ -296,59 +292,67 @@ pop\" or with a prefix argument \"git stash pop --index\". When using Git v2.38.0 or later, behave more intelligently: -First try \"git stash pop --index\", which tries to preserve -the index stored in the stash, if any. This may fail because -applying the stash could result in conflicts and those have to -be stored in the index, making it impossible to also store the -stash's index there. - -If the above failed, then try \"git stash apply\". This fails -\(with or without \"--index\") if there are any uncommitted -changes to files that are also modified in the stash. - -If both of the above failed, then apply using \"git apply\". -If there are no conflicting files, use \"--3way\". If there are -conflicting files, then using \"--3way\" requires that those -files are staged first, which may be undesirable, so prompt -the user whether to use \"--3way\" or \"--reject\"." +First try \"git stash apply --index\", which tries to preserve the +index stored in the stash, if any. This may fail because applying +the stash could result in conflicts and those have to be stored in +the index, making it impossible to also store the stash's index +there. + +If \"git stash\" fails, then potentially fall back to using \"git +apply\". If the stash does not touch any unstaged files, then pass +\"--3way\" to that command. Otherwise ask the user whether to use +that argument or \"--reject\". Customize `magit-no-confirm' if you +want to fall back to using \"--3way\", without being prompted." (interactive (list (magit-read-stash "Pop stash"))) (magit-stash--apply "pop" stash)) (defun magit-stash--apply (action stash) (if (magit-git-version< "2.38.0") (magit-run-git "stash" action stash (and current-prefix-arg "--index")) - (or (magit--run-git-stash action "--index" stash) - ;; The stash's index could not be applied, so always keep the stash. - (magit--run-git-stash "apply" stash) - (let* ((range (format "%s^..%s" stash stash)) - (stashed (magit-git-items "diff" "-z" "--name-only" range "--")) - (conflicts (cl-sort (cl-union (magit-unstaged-files t stashed) - (magit-untracked-files t stashed) - :test #'equal) - #'string<)) - (arg (cond - ((not conflicts) "--3way") - ((magit-confirm-files - 'stash-apply-3way conflicts - "Apply stash using `--3way', which requires first staging" - "(else use `--reject')" - t) - (magit-stage-1 nil conflicts) - "--3way") - ("--reject")))) - (with-temp-buffer - (magit-git-insert "diff" range) - (magit-run-git-with-input "apply" arg "-")))) + (magit-stash--apply-1 action stash) (magit-refresh))) +(defun magit-stash--apply-1 (action stash) + (or + (magit--run-git-stash action "--index" stash) + ;; The stash's index could not be applied, so always keep the stash. + (magit--run-git-stash "apply" stash) + (let* ((range (format "%s^..%s" stash stash)) + (stashed (magit-git-items "diff" "-z" "--name-only" range "--")) + (conflicts (cl-sort (cl-union (magit-unstaged-files t stashed) + (magit-untracked-files t stashed) + :test #'equal) + #'string<)) + (arg (if (or (not conflicts) + (memq 'stash-apply-3way magit-no-confirm)) + "--3way" + (magit-read-char-case + (concat + "Could not apply stash because of unstaged changes.\n\n" + "To do a tree-way merge, these files have to be staged\n" + (mapconcat (lambda (f) (format " %s" f)) conflicts "\n") + "\n") + nil + (?s (format + "\n[s] stage file%s and apply with \"git apply --3way\"" + (if (length> conflicts 1) "s" "")) + "--3way") + (?r "\n[r] apply with \"git apply --reject\"" "--reject") + (?c "\n[c] cancel" nil))))) + (when arg + (when (and (equal arg "--3way") conflicts) + (magit-stage-1 nil conflicts)) + (with-temp-buffer + (magit-git-insert "diff" range) + (magit-run-git-with-input "apply" arg "-")))))) + (defun magit--run-git-stash (&rest args) (magit--with-temp-process-buffer (let ((exit (save-excursion (with-environment-variables (("LC_ALL" "en_US.utf8")) (magit-process-git t "stash" args)))) (buffer (current-buffer)) - (failed (looking-at "\\`error: \ -Your local changes to the following files would be overwritten by merge"))) + (failed (looking-at "\\`error: "))) (with-current-buffer (magit-process-buffer t) (magit-process-finish-section (magit-process-insert-section default-directory magit-git-executable diff --git a/elpa/magit-20241223.2133/magit-status.el b/elpa/magit-20250107.2324/magit-status.el similarity index 87% rename from elpa/magit-20241223.2133/magit-status.el rename to elpa/magit-20250107.2324/magit-status.el index 9881d70d..193693d4 100644 --- a/elpa/magit-20241223.2133/magit-status.el +++ b/elpa/magit-20250107.2324/magit-status.el @@ -1,6 +1,6 @@ ;;; magit-status.el --- The grand overview -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -41,12 +41,12 @@ :type 'hook) (defcustom magit-status-headers-hook - '(magit-insert-error-header - magit-insert-diff-filter-header - magit-insert-head-branch-header - magit-insert-upstream-branch-header - magit-insert-push-branch-header - magit-insert-tags-header) + (list #'magit-insert-error-header + #'magit-insert-diff-filter-header + #'magit-insert-head-branch-header + #'magit-insert-upstream-branch-header + #'magit-insert-push-branch-header + #'magit-insert-tags-header) "Hook run to insert headers into the status buffer. This hook is run by `magit-insert-status-headers', which in turn @@ -55,32 +55,32 @@ all." :package-version '(magit . "2.1.0") :group 'magit-status :type 'hook - :options '(magit-insert-error-header - magit-insert-diff-filter-header - magit-insert-repo-header - magit-insert-remote-header - magit-insert-head-branch-header - magit-insert-upstream-branch-header - magit-insert-push-branch-header - magit-insert-tags-header)) + :options (list #'magit-insert-error-header + #'magit-insert-diff-filter-header + #'magit-insert-repo-header + #'magit-insert-remote-header + #'magit-insert-head-branch-header + #'magit-insert-upstream-branch-header + #'magit-insert-push-branch-header + #'magit-insert-tags-header)) (defcustom magit-status-sections-hook - '(magit-insert-status-headers - magit-insert-merge-log - magit-insert-rebase-sequence - magit-insert-am-sequence - magit-insert-sequencer-sequence - magit-insert-bisect-output - magit-insert-bisect-rest - magit-insert-bisect-log - magit-insert-untracked-files - magit-insert-unstaged-changes - magit-insert-staged-changes - magit-insert-stashes - magit-insert-unpushed-to-pushremote - magit-insert-unpushed-to-upstream-or-recent - magit-insert-unpulled-from-pushremote - magit-insert-unpulled-from-upstream) + (list #'magit-insert-status-headers + #'magit-insert-merge-log + #'magit-insert-rebase-sequence + #'magit-insert-am-sequence + #'magit-insert-sequencer-sequence + #'magit-insert-bisect-output + #'magit-insert-bisect-rest + #'magit-insert-bisect-log + #'magit-insert-untracked-files + #'magit-insert-unstaged-changes + #'magit-insert-staged-changes + #'magit-insert-stashes + #'magit-insert-unpushed-to-pushremote + #'magit-insert-unpushed-to-upstream-or-recent + #'magit-insert-unpulled-from-pushremote + #'magit-insert-unpulled-from-upstream) "Hook run to insert sections into a status buffer." :package-version '(magit . "2.12.0") :group 'magit-status @@ -142,6 +142,58 @@ The functions which respect this option are :group 'magit-status :type 'boolean) +(defcustom magit-status-show-untracked-files nil + "Whether and how to list untracked files in the status buffer. + +This controls the behavior of function `magit-insert-untracked-files'. +If that function is removed from `magit-status-sections-hook', then +untracked files are not shown, regardless of what this option says. + +The behavior can be controled using this option and/or the Git variable +`status.showUntrackedFiles'. The following settings are used in order: + +1. The buffer-local value of this option. + + This can be set in \".dir-locals-2.el\" like so: + ((magit-status-mode + (magit-status-show-untracked-files . \"no\"))) + +2. The repository-local value of `status.showUntrackedFiles'. + + This can be set using: + git config --local status.showUntrackedFiles normal + +3. The global value of this option. + + This can be set using the Custom interface or `setq'. + +4. The global value of `status.showUntrackedFiles'. + + This can be set using: + git config --global status.showUntrackedFiles all + +5. The default is \"normal\" and is used if all of the above places + are unspecified or, in the case of the Lisp values, nil. + +The valid non-nil values are: + +- \"no\" - Show no untracked files. + +- \"normal\" - Show top-level untracked files and directories containing + untracked files. The directories can be expanded to reveal the + contained untracked files. + +- \"all\" - Immediately show all individual untracked files. This is + potentially expensive and/or overwhelming, and should be avoided." + :package-version '(magit . "4.2.1") + :group 'magit-status + :type '(choice + (const :tag "Show no untracked files" "no") + (const :tag "Show directories containing untracked files" "normal") + (const :tag "Show individual untracked files" "all") + (const :tag "Use value of status.showUntrackedFiles" nil)) + :safe (lambda (value) (member value '("no" "normal" "all" nil)))) + (defcustom magit-status-margin (list nil (nth 1 magit-log-margin) @@ -537,13 +589,13 @@ instead. The optional BRANCH argument is for internal use only." (insert (propertize commit 'font-lock-face 'magit-hash) ?\s)) (insert (propertize branch 'font-lock-face 'magit-branch-local)) (insert ?\s) - (insert (funcall magit-log-format-message-function branch summary)) + (insert (magit-log--wash-summary summary)) (insert ?\n)) (magit-insert-section (commit commit) (insert (format "%-10s" "Head: ")) (insert (propertize commit 'font-lock-face 'magit-hash)) (insert ?\s) - (insert (funcall magit-log-format-message-function nil summary)) + (insert (magit-log--wash-summary summary)) (insert ?\n)))))) (defun magit-insert-upstream-branch-header (&optional branch upstream keyword) @@ -570,10 +622,9 @@ arguments are for internal use only." 'font-lock-face 'magit-hash) " ")) upstream " " - (funcall magit-log-format-message-function upstream - (funcall magit-log-format-message-function nil - (or (magit-rev-format "%s" upstream) - "(no commit message)")))) + (magit-log--wash-summary + (or (magit-rev-format "%s" upstream) + "(no commit message)"))) (cond ((magit--unnamed-upstream-p remote merge) (concat (propertize merge 'font-lock-face 'magit-branch-remote) @@ -609,10 +660,8 @@ arguments are for internal use only." 'font-lock-face 'magit-hash) " ")) target " " - (funcall magit-log-format-message-function target - (funcall magit-log-format-message-function nil - (or (magit-rev-format "%s" target) - "(no commit message)")))) + (magit-log--wash-summary (or (magit-rev-format "%s" target) + "(no commit message)"))) (let ((remote (magit-get-push-remote branch))) (if (magit-remote-p remote) (concat target " " @@ -708,22 +757,26 @@ remote in alphabetic order." (defun magit-insert-untracked-files () "Maybe insert a list or tree of untracked files. -Do so depending on the value of `status.showUntrackedFiles'. Note -that even if the value is `all', Magit still initially only shows -directories. But the directory sections can then be expanded using -\"TAB\". +The option `magit-status-show-untracked-files' (which see), in +cooperation with the Git variable `status.showUntrackedFiles', control +whether and how that is done. If the first element of `magit-buffer-diff-files' is a directory, then limit the list to files below that. The value of that variable can be set using \"D -- DIRECTORY RET g\"." - (let ((show (or (magit-get "status.showUntrackedFiles") "normal"))) + (let ((show (or (and (local-variable-p 'magit-status-show-untracked-files) + magit-status-show-untracked-files) + (magit-get "--local" "status.showUntrackedFiles") + (default-value 'magit-status-show-untracked-files) + (magit-get "--global" "status.showUntrackedFiles") + "normal"))) (unless (equal show "no") (let* ((all (equal show "all")) (base (car magit-buffer-diff-files)) (base (and base (file-directory-p base) base))) (magit-insert-files 'untracked - (lambda () (magit-untracked-files nil base (not all))) - (not all)))))) + (lambda () (magit-untracked-files nil base all)) + all))))) (defun magit-insert-tracked-files () "Insert a tree of tracked files. diff --git a/elpa/magit-20241223.2133/magit-submodule.el b/elpa/magit-20250107.2324/magit-submodule.el similarity index 98% rename from elpa/magit-20241223.2133/magit-submodule.el rename to elpa/magit-20250107.2324/magit-submodule.el index a27abc50..66a0937c 100644 --- a/elpa/magit-20241223.2133/magit-submodule.el +++ b/elpa/magit-20250107.2324/magit-submodule.el @@ -1,6 +1,6 @@ ;;; magit-submodule.el --- Submodule support for Magit -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -29,11 +29,11 @@ ;;; Options (defcustom magit-module-sections-hook - '(magit-insert-modules-overview - magit-insert-modules-unpulled-from-upstream - magit-insert-modules-unpulled-from-pushremote - magit-insert-modules-unpushed-to-upstream - magit-insert-modules-unpushed-to-pushremote) + (list #'magit-insert-modules-overview + #'magit-insert-modules-unpulled-from-upstream + #'magit-insert-modules-unpulled-from-pushremote + #'magit-insert-modules-unpushed-to-upstream + #'magit-insert-modules-unpushed-to-pushremote) "Hook run by `magit-insert-modules'. That function isn't part of `magit-status-sections-hook's default @@ -618,8 +618,7 @@ These sections can be expanded to show the respective commits." (msg (match-string 2 line))) (magit-insert-section (module-commit rev t) (insert (propertize rev 'font-lock-face 'magit-hash) " " - (funcall magit-log-format-message-function rev msg) - "\n"))))))) + (magit-log--wash-summary msg) "\n"))))))) (magit-cancel-section 'if-empty) (insert ?\n)))) diff --git a/elpa/magit-20241223.2133/magit-subtree.el b/elpa/magit-20250107.2324/magit-subtree.el similarity index 99% rename from elpa/magit-20241223.2133/magit-subtree.el rename to elpa/magit-20250107.2324/magit-subtree.el index 8f4ec3d0..a46e5967 100644 --- a/elpa/magit-20241223.2133/magit-subtree.el +++ b/elpa/magit-20250107.2324/magit-subtree.el @@ -1,6 +1,6 @@ ;;; magit-subtree.el --- Subtree support for Magit -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-tag.el b/elpa/magit-20250107.2324/magit-tag.el similarity index 99% rename from elpa/magit-20241223.2133/magit-tag.el rename to elpa/magit-20250107.2324/magit-tag.el index 1b4f282d..4ca8855e 100644 --- a/elpa/magit-20241223.2133/magit-tag.el +++ b/elpa/magit-20250107.2324/magit-tag.el @@ -1,6 +1,6 @@ ;;; magit-tag.el --- Tag functionality -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-transient.el b/elpa/magit-20250107.2324/magit-transient.el similarity index 99% rename from elpa/magit-20241223.2133/magit-transient.el rename to elpa/magit-20250107.2324/magit-transient.el index 06b0f12e..aaaca233 100644 --- a/elpa/magit-20241223.2133/magit-transient.el +++ b/elpa/magit-20250107.2324/magit-transient.el @@ -1,6 +1,6 @@ ;;; magit-transient.el --- Support for transients -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-wip.el b/elpa/magit-20250107.2324/magit-wip.el similarity index 99% rename from elpa/magit-20241223.2133/magit-wip.el rename to elpa/magit-20250107.2324/magit-wip.el index cee20dea..50cf8167 100644 --- a/elpa/magit-20241223.2133/magit-wip.el +++ b/elpa/magit-20250107.2324/magit-wip.el @@ -1,6 +1,6 @@ ;;; magit-wip.el --- Commit snapshots to work-in-progress refs -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit-worktree.el b/elpa/magit-20250107.2324/magit-worktree.el similarity index 99% rename from elpa/magit-20241223.2133/magit-worktree.el rename to elpa/magit-20250107.2324/magit-worktree.el index a9bc05ba..c55b1787 100644 --- a/elpa/magit-20241223.2133/magit-worktree.el +++ b/elpa/magit-20250107.2324/magit-worktree.el @@ -1,6 +1,6 @@ ;;; magit-worktree.el --- Worktree support -*- lexical-binding:t -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli diff --git a/elpa/magit-20241223.2133/magit.el b/elpa/magit-20250107.2324/magit.el similarity index 99% rename from elpa/magit-20241223.2133/magit.el rename to elpa/magit-20250107.2324/magit.el index 556393a1..58272a0b 100644 --- a/elpa/magit-20241223.2133/magit.el +++ b/elpa/magit-20250107.2324/magit.el @@ -1,6 +1,6 @@ ;;; magit.el --- A Git porcelain inside Emacs -*- lexical-binding:t; coding:utf-8 -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Marius Vollmer ;; Jonas Bernoulli @@ -17,15 +17,15 @@ ;; Homepage: https://github.com/magit/magit ;; Keywords: git tools vc -;; Package-Version: 20241223.2133 -;; Package-Revision: 692cc5e7696f +;; Package-Version: 20250107.2324 +;; Package-Revision: 8b6bb7c7e88c ;; Package-Requires: ( ;; (emacs "27.1") -;; (compat "30.0.0.0") +;; (compat "30.0.1.0") ;; (dash "2.19.1") -;; (magit-section "4.1.3") +;; (magit-section "4.2.0") ;; (seq "2.24") -;; (transient "20241217") +;; (transient "0.8.2") ;; (with-editor "3.4.3")) ;; SPDX-License-Identifier: GPL-3.0-or-later diff --git a/elpa/magit-20241223.2133/magit.info b/elpa/magit-20250107.2324/magit.info similarity index 85% rename from elpa/magit-20241223.2133/magit.info rename to elpa/magit-20250107.2324/magit.info index 1da3cc2d..05aaf72a 100644 --- a/elpa/magit-20241223.2133/magit.info +++ b/elpa/magit-20250107.2324/magit.info @@ -1,6 +1,6 @@ This is magit.info, produced by makeinfo version 6.8 from magit.texi. - Copyright (C) 2015-2024 Jonas Bernoulli + Copyright (C) 2015-2025 Jonas Bernoulli You can redistribute this document and/or modify it under the terms @@ -32,9 +32,9 @@ to perform almost all of their daily version control tasks directly from within Emacs. While many fine Git clients exist, only Magit and Git itself deserve to be called porcelains. -This manual is for Magit version 4.1.3. +This manual is for Magit version 4.2.0. - Copyright (C) 2015-2024 Jonas Bernoulli + Copyright (C) 2015-2025 Jonas Bernoulli You can redistribute this document and/or modify it under the terms @@ -83,44 +83,6 @@ Interface Concepts * Mouse Support:: * Running Git:: -Modes and Buffers - -* Switching Buffers:: -* Naming Buffers:: -* Quitting Windows:: -* Automatic Refreshing of Magit Buffers:: -* Automatic Saving of File-Visiting Buffers:: -* Automatic Reverting of File-Visiting Buffers:: - - -Sections - -* Section Movement:: -* Section Visibility:: -* Section Hooks:: -* Section Types and Values:: -* Section Options:: - - -Completion, Confirmation and the Selection - -* Action Confirmation:: -* Completion and Confirmation:: -* The Selection:: -* The hunk-internal region:: -* Support for Completion Frameworks:: -* Additional Completion Options:: - - -Running Git - -* Viewing Git Output:: -* Git Process Status:: -* Running Git Manually:: -* Git Executable:: -* Global Git Arguments:: - - Inspecting * Status Buffer:: @@ -133,43 +95,6 @@ Inspecting * Visiting Files and Blobs:: * Blaming:: -Status Buffer - -* Status Sections:: -* Status Header Sections:: -* Status Module Sections:: -* Status Options:: - - -Logging - -* Refreshing Logs:: -* Log Buffer:: -* Log Margin:: -* Select from Log:: -* Reflog:: -* Cherries:: - - -Diffing - -* Refreshing Diffs:: -* Commands Available in Diffs:: -* Diff Options:: -* Revision Buffer:: - - -References Buffer - -* References Sections:: - - -Visiting Files and Blobs - -* General-Purpose Visit Commands:: -* Visiting Files and Blobs from a Diff:: - - Manipulating * Creating Repository:: @@ -185,36 +110,6 @@ Manipulating * Resetting:: * Stashing:: -Staging and Unstaging - -* Staging from File-Visiting Buffers:: - - -Committing - -* Initiating a Commit:: -* Editing Commit Messages:: - - -Branching - -* The Two Remotes:: -* Branch Commands:: -* Branch Git Variables:: -* Auxiliary Branch Commands:: - - -Rebasing - -* Editing Rebase Sequences:: -* Information About In-Progress Rebase:: - - -Cherry Picking - -* Reverting:: - - Transferring * Remotes:: @@ -224,12 +119,6 @@ Transferring * Plain Patches:: * Maildir Patches:: -Remotes - -* Remote Commands:: -* Remote Git Variables:: - - Miscellaneous * Tagging:: @@ -244,30 +133,11 @@ Miscellaneous * Commands for Buffers Visiting Files:: * Minor Mode for Buffers Visiting Blobs:: -Submodules - -* Listing Submodules:: -* Submodule Transient:: - - -Wip Modes - -* Wip Graph:: -* Legacy Wip Modes:: - - Customizing * Per-Repository Configuration:: * Essential Settings:: -Essential Settings - -* Safety:: -* Performance:: -* Global Bindings:: - - Plumbing * Calling Git:: @@ -275,56 +145,11 @@ Plumbing * Refreshing Buffers:: * Conventions:: -Calling Git - -* Getting a Value from Git:: -* Calling Git for Effect:: - - -Section Plumbing - -* Creating Sections:: -* Section Selection:: -* Matching Sections:: - - -Conventions - -* Theming Faces:: - - FAQ * FAQ - How to ...?:: * FAQ - Issues and Errors:: -FAQ - How to ...? - -* How to pronounce Magit?:: -* How to show git's output?:: -* How to install the gitman info manual?:: -* How to show diffs for gpg-encrypted files?:: -* How does branching and pushing work?:: -* Should I disable VC?:: - - -FAQ - Issues and Errors - -* Magit is slow:: -* I changed several thousand files at once and now Magit is unusable:: -* I am having problems committing:: -* I am using MS Windows and cannot push with Magit:: -* I am using macOS and SOMETHING works in shell, but not in Magit: I am using macOS and SOMETHING works in shell but not in Magit. -* Expanding a file to show the diff causes it to disappear:: -* Point is wrong in the COMMIT_EDITMSG buffer:: -* The mode-line information isn't always up-to-date:: -* A branch and tag sharing the same name breaks SOMETHING:: -* My Git hooks work on the command-line but not inside Magit:: -* git-commit-mode isn't used when committing from the command-line:: -* Point ends up inside invisible text when jumping to a file-visiting buffer:: -* I am no longer able to save popup defaults:: - -  File: magit.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top @@ -731,18 +556,6 @@ buffers whose major-modes derive from ‘magit-mode’. repository, then the former buffer is instead deleted and the latter is displayed in its place. -* Menu: - -* Switching Buffers:: -* Naming Buffers:: -* Quitting Windows:: -* Automatic Refreshing of Magit Buffers:: -* Automatic Saving of File-Visiting Buffers:: -* Automatic Reverting of File-Visiting Buffers:: - - -File: magit.info, Node: Switching Buffers, Next: Naming Buffers, Up: Modes and Buffers - 4.1.1 Switching Buffers ----------------------- @@ -836,9 +649,6 @@ File: magit.info, Node: Switching Buffers, Next: Naming Buffers, Up: Modes an whether the window should be deleted when its last Magit buffer is buried. - -File: magit.info, Node: Naming Buffers, Next: Quitting Windows, Prev: Switching Buffers, Up: Modes and Buffers - 4.1.2 Naming Buffers -------------------- @@ -913,9 +723,6 @@ File: magit.info, Node: Naming Buffers, Next: Quitting Windows, Prev: Switchi This is done using the ‘uniquify’ package; customize its options to control how buffer names are uniquified. - -File: magit.info, Node: Quitting Windows, Next: Automatic Refreshing of Magit Buffers, Prev: Naming Buffers, Up: Modes and Buffers - 4.1.3 Quitting Windows ---------------------- @@ -956,9 +763,6 @@ File: magit.info, Node: Quitting Windows, Next: Automatic Refreshing of Magit buffer and the buried buffer was the last remaining Magit buffer that was ever displayed in the window, then that is deleted. - -File: magit.info, Node: Automatic Refreshing of Magit Buffers, Next: Automatic Saving of File-Visiting Buffers, Prev: Quitting Windows, Up: Modes and Buffers - 4.1.4 Automatic Refreshing of Magit Buffers ------------------------------------------- @@ -1021,9 +825,6 @@ to the repository outside of Magit. you are not satisfied with Magit’s performance, then you should obviously not add this function to that hook. - -File: magit.info, Node: Automatic Saving of File-Visiting Buffers, Next: Automatic Reverting of File-Visiting Buffers, Prev: Automatic Refreshing of Magit Buffers, Up: Modes and Buffers - 4.1.5 Automatic Saving of File-Visiting Buffers ----------------------------------------------- @@ -1045,9 +846,6 @@ explicitly. without user intervention. If it is ‘t’ then the user has to confirm each save. - -File: magit.info, Node: Automatic Reverting of File-Visiting Buffers, Prev: Automatic Saving of File-Visiting Buffers, Up: Modes and Buffers - 4.1.6 Automatic Reverting of File-Visiting Buffers -------------------------------------------------- @@ -1147,13 +945,6 @@ the visiting buffer before you could continue making changes. group named ‘auto-revert’. The other, Magit-specific, options are located in the ‘magit’ group. -* Menu: - -* Risk of Reverting Automatically:: - - -File: magit.info, Node: Risk of Reverting Automatically, Up: Automatic Reverting of File-Visiting Buffers - Risk of Reverting Automatically ............................... @@ -1214,17 +1005,6 @@ only make sense for a particular section type (as opposed to just behaving differently depending on the type) are usually bound in section type keymaps. -* Menu: - -* Section Movement:: -* Section Visibility:: -* Section Hooks:: -* Section Types and Values:: -* Section Options:: - - -File: magit.info, Node: Section Movement, Next: Section Visibility, Up: Sections - 4.2.1 Section Movement ---------------------- @@ -1333,9 +1113,6 @@ remove function that haven’t even been added yet, for example: have to adjust this delay and/or the keyboard repeat rate and delay of your graphical environment or operating system. - -File: magit.info, Node: Section Visibility, Next: Section Hooks, Prev: Section Movement, Up: Sections - 4.2.2 Section Visibility ------------------------ @@ -1483,9 +1260,6 @@ certain sections can also be overwritten using the hook so might potentially have an impact on performance, while not doing so is kinda ugly. - -File: magit.info, Node: Section Hooks, Next: Section Types and Values, Prev: Section Visibility, Up: Sections - 4.2.3 Section Hooks ------------------- @@ -1532,9 +1306,6 @@ this manual along with the appropriate "section inserter functions". To remove a function from a section hook, use ‘remove-hook’. - -File: magit.info, Node: Section Types and Values, Next: Section Options, Prev: Section Hooks, Up: Sections - 4.2.4 Section Types and Values ------------------------------ @@ -1565,9 +1336,6 @@ of all text belonging to any section of the respective type. If such a map does not exist for a certain type, then you can define it yourself, and it will automatically be used. - -File: magit.info, Node: Section Options, Prev: Section Types and Values, Up: Sections - 4.2.5 Section Options --------------------- @@ -1747,18 +1515,6 @@ File: magit.info, Node: Completion Confirmation and the Selection, Next: Mouse 4.5 Completion, Confirmation and the Selection ============================================== -* Menu: - -* Action Confirmation:: -* Completion and Confirmation:: -* The Selection:: -* The hunk-internal region:: -* Support for Completion Frameworks:: -* Additional Completion Options:: - - -File: magit.info, Node: Action Confirmation, Next: Completion and Confirmation, Up: Completion Confirmation and the Selection - 4.5.1 Action Confirmation ------------------------- @@ -1936,9 +1692,6 @@ telling Magit to ask fewer questions. and only if this mode is enabled, then ‘safe-with-wip’ has the same effect as adding all of these symbols individually. - -File: magit.info, Node: Completion and Confirmation, Next: The Selection, Prev: Action Confirmation, Up: Completion Confirmation and the Selection - 4.5.2 Completion and Confirmation --------------------------------- @@ -2001,9 +1754,6 @@ or without confirmation. abort. DEFAULT can also be ‘nil’, in which case the entry has no effect. - -File: magit.info, Node: The Selection, Next: The hunk-internal region, Prev: Completion and Confirmation, Up: Completion Confirmation and the Selection - 4.5.3 The Selection ------------------- @@ -2058,9 +1808,6 @@ happen. even when a valid Magit selection or a hunk-internal region exists. See the doc-string for more information. - -File: magit.info, Node: The hunk-internal region, Next: Support for Completion Frameworks, Prev: The Selection, Up: Completion Confirmation and the Selection - 4.5.4 The hunk-internal region ------------------------------ @@ -2082,9 +1829,6 @@ among other targets, act on a hunk. If the hunk-internal region is active, then such commands act only on the marked part of the hunk instead of on the complete hunk. - -File: magit.info, Node: Support for Completion Frameworks, Next: Additional Completion Options, Prev: The hunk-internal region, Up: Completion Confirmation and the Selection - 4.5.5 Support for Completion Frameworks --------------------------------------- @@ -2177,9 +1921,6 @@ You will also have to install the ‘ido-completing-read+’ package and use ‘minibuffer-default-prompt-format’ and depending on ‘magit-completing-read-default-prompt-predicate’. - -File: magit.info, Node: Additional Completion Options, Prev: Support for Completion Frameworks, Up: Completion Confirmation and the Selection - 4.5.6 Additional Completion Options ----------------------------------- @@ -2211,17 +1952,6 @@ File: magit.info, Node: Running Git, Prev: Mouse Support, Up: Interface Conce 4.7 Running Git =============== -* Menu: - -* Viewing Git Output:: -* Git Process Status:: -* Running Git Manually:: -* Git Executable:: -* Global Git Arguments:: - - -File: magit.info, Node: Viewing Git Output, Next: Git Process Status, Up: Running Git - 4.7.1 Viewing Git Output ------------------------ @@ -2267,9 +1997,6 @@ sections are available. There is one additional command. relevant in the context of some unexpected behavior has to be judged on a case by case basis. - -File: magit.info, Node: Git Process Status, Next: Running Git Manually, Prev: Viewing Git Output, Up: Running Git - 4.7.2 Git Process Status ------------------------ @@ -2291,9 +2018,6 @@ customize the ‘magit-process-display-mode-line-error’ user option. Process errors are additionally indicated at the top of the status buffer. - -File: magit.info, Node: Running Git Manually, Next: Git Executable, Prev: Git Process Status, Up: Running Git - 4.7.3 Running Git Manually -------------------------- @@ -2358,9 +2082,6 @@ to a shell. With a prefix argument this acts as a transient prefix command, allowing the user to select the mergetool and change some settings. - -File: magit.info, Node: Git Executable, Next: Global Git Arguments, Prev: Running Git Manually, Up: Running Git - 4.7.4 Git Executable -------------------- @@ -2421,9 +2142,6 @@ where Emacs is searching for ‘git’. Emacs in the echo area. Non-interactively this just returns the Magit version. - -File: magit.info, Node: Global Git Arguments, Prev: Git Executable, Up: Running Git - 4.7.5 Global Git Arguments -------------------------- @@ -2588,16 +2306,6 @@ that it should be bound globally. We recommend using ‘C-x g’: (define-key ido-common-completion-map (kbd \"C-x g\") 'ido-enter-magit-status) -* Menu: - -* Status Sections:: -* Status Header Sections:: -* Status Module Sections:: -* Status Options:: - - -File: magit.info, Node: Status Sections, Next: Status Header Sections, Up: Status Buffer - 5.1.1 Status Sections --------------------- @@ -2640,10 +2348,9 @@ default the following functions are also members of that hook: -- Function: magit-insert-untracked-files Maybe insert a list or tree of untracked files. - Do so depending on the value of ‘status.showUntrackedFiles’. Note - that even if the value is ‘all’, Magit still initially only shows - directories. But the directory sections can then be expanded using - ‘TAB’. + The option ‘magit-status-show-untracked-files’ (which see), in + cooperation with the Git variable ‘status.showUntrackedFiles’, + control whether and how that is done. If the first element of ‘magit-buffer-diff-files’ is a directory, then limit the list to files below that. The value of that @@ -2734,9 +2441,6 @@ default the following functions are also members of that hook: See *note References Buffer:: for some more section inserters, which could be used here. - -File: magit.info, Node: Status Header Sections, Next: Status Module Sections, Prev: Status Sections, Up: Status Buffer - 5.1.2 Status Header Sections ---------------------------- @@ -2802,9 +2506,6 @@ hook variable. -- Function: magit-insert-user-header Insert a header line about the current user. - -File: magit.info, Node: Status Module Sections, Next: Status Options, Prev: Status Header Sections, Up: Status Buffer - 5.1.3 Status Module Sections ---------------------------- @@ -2862,9 +2563,6 @@ variable. push-remote yet. These sections can be expanded to show the respective commits. - -File: magit.info, Node: Status Options, Prev: Status Module Sections, Up: Status Buffer - 5.1.4 Status Options -------------------- @@ -3080,18 +2778,6 @@ is being visited in the current buffer exists, see *note Commands for Buffers Visiting Files::. The command ‘magit-cherry’ also shows a log, see *note Cherries::. -* Menu: - -* Refreshing Logs:: -* Log Buffer:: -* Log Margin:: -* Select from Log:: -* Reflog:: -* Cherries:: - - -File: magit.info, Node: Refreshing Logs, Next: Log Buffer, Up: Logging - 5.3.1 Refreshing Logs --------------------- @@ -3125,9 +2811,6 @@ the status buffer. ‘L L’ (‘magit-toggle-margin’) Show or hide the margin. - -File: magit.info, Node: Log Buffer, Next: Log Margin, Prev: Refreshing Logs, Up: Logging - 5.3.2 Log Buffer ---------------- @@ -3243,9 +2926,6 @@ named ‘magit-signature-*’ (which see). For a description of ‘magit-log-margin’ see *note Log Margin::. - -File: magit.info, Node: Log Margin, Next: Select from Log, Prev: Log Buffer, Up: Logging - 5.3.3 Log Margin ---------------- @@ -3311,9 +2991,6 @@ then some other unrelated commands. ‘L d’ (‘magit-toggle-margin-details’) This command shows or hides details in the margin. - -File: magit.info, Node: Select from Log, Next: Reflog, Prev: Log Margin, Up: Logging - 5.3.4 Select from Log --------------------- @@ -3362,9 +3039,6 @@ buffers: author is shown, then this specifies how much space is used to do so. - -File: magit.info, Node: Reflog, Next: Cherries, Prev: Select from Log, Up: Logging - 5.3.5 Reflog ------------ @@ -3405,9 +3079,6 @@ Also see *note (gitman)git-reflog::. author is shown, then this specifies how much space is used to do so. - -File: magit.info, Node: Cherries, Prev: Reflog, Up: Logging - 5.3.6 Cherries -------------- @@ -3541,16 +3212,6 @@ another buffer: is being visited in the current buffer exists, see *note Commands for Buffers Visiting Files::. -* Menu: - -* Refreshing Diffs:: -* Commands Available in Diffs:: -* Diff Options:: -* Revision Buffer:: - - -File: magit.info, Node: Refreshing Diffs, Next: Commands Available in Diffs, Up: Diffing - 5.4.1 Refreshing Diffs ---------------------- @@ -3637,9 +3298,6 @@ without having to using one of the diff transient. ‘C-c C-f’ (‘magit-go-forward’) This command moves forward in current buffer’s history. - -File: magit.info, Node: Commands Available in Diffs, Next: Diff Options, Prev: Refreshing Diffs, Up: Diffing - 5.4.2 Commands Available in Diffs --------------------------------- @@ -3695,9 +3353,6 @@ they are available here too. ‘’ (‘scroll-down’) This command scrolls text downward. - -File: magit.info, Node: Diff Options, Next: Revision Buffer, Prev: Commands Available in Diffs, Up: Diffing - 5.4.3 Diff Options ------------------ @@ -3817,9 +3472,6 @@ File: magit.info, Node: Diff Options, Next: Revision Buffer, Prev: Commands A ‘--stat-graph-width’ and ‘--compact-summary’. Also see *note (gitman)git-diff::. - -File: magit.info, Node: Revision Buffer, Prev: Diff Options, Up: Diffing - 5.4.4 Revision Buffer --------------------- @@ -4254,13 +3906,6 @@ you should also change the others to keep things aligned. The following Instead of adding this symbol, consider pressing "b b RET", like you would do in other buffers. -* Menu: - -* References Sections:: - - -File: magit.info, Node: References Sections, Up: References Buffer - 5.6.1 References Sections ------------------------- @@ -4357,14 +4002,6 @@ group. Also see *note Commands for Buffers Visiting Files::. -* Menu: - -* General-Purpose Visit Commands:: -* Visiting Files and Blobs from a Diff:: - - -File: magit.info, Node: General-Purpose Visit Commands, Next: Visiting Files and Blobs from a Diff, Up: Visiting Files and Blobs - 5.8.1 General-Purpose Visit Commands ------------------------------------ @@ -4386,9 +4023,6 @@ are bound to these commands by default, but that is likely to change. the respective blob in a buffer. The buffer is displayed in another frame. - -File: magit.info, Node: Visiting Files and Blobs from a Diff, Prev: General-Purpose Visit Commands, Up: Visiting Files and Blobs - 5.8.2 Visiting Files and Blobs from a Diff ------------------------------------------ @@ -4890,13 +4524,6 @@ apply variants are described in the next section. and defaults to the commit at point. If there is no commit at point, then it defaults to ‘HEAD’. -* Menu: - -* Staging from File-Visiting Buffers:: - - -File: magit.info, Node: Staging from File-Visiting Buffers, Up: Staging and Unstaging - 6.3.1 Staging from File-Visiting Buffers ---------------------------------------- @@ -4986,14 +4613,6 @@ arranges for that editor to be the Emacsclient. Once the user finishes the editing session, the Emacsclient exits and Git creates the commit using the file’s content as message. -* Menu: - -* Initiating a Commit:: -* Editing Commit Messages:: - - -File: magit.info, Node: Initiating a Commit, Next: Editing Commit Messages, Up: Committing - 6.5.1 Initiating a Commit ------------------------- @@ -5114,9 +4733,6 @@ Also see *note (gitman)git-commit::. Also see . - -File: magit.info, Node: Editing Commit Messages, Prev: Initiating a Commit, Up: Committing - 6.5.2 Editing Commit Messages ----------------------------- @@ -5172,16 +4788,6 @@ changes alongside those that have already been committed. While amending, invoking the command again toggles between showing just the new changes or all the changes that will be committed. -* Menu: - -* Using the Revision Stack:: -* Commit Pseudo Headers:: -* Commit Mode and Hooks:: -* Commit Message Conventions:: - - -File: magit.info, Node: Using the Revision Stack, Next: Commit Pseudo Headers, Up: Editing Commit Messages - Using the Revision Stack ........................ @@ -5241,9 +4847,6 @@ Using the Revision Stack the buffer ends with a comment, then it is inserted right before that). - -File: magit.info, Node: Commit Pseudo Headers, Next: Commit Mode and Hooks, Prev: Using the Revision Stack, Up: Editing Commit Messages - Commit Pseudo Headers ..................... @@ -5278,9 +4881,6 @@ such headers and provides some commands to insert such headers. ‘C-c M-i’ (‘git-commit-suggested’) Insert a header mentioning the person who suggested the change. - -File: magit.info, Node: Commit Mode and Hooks, Next: Commit Message Conventions, Prev: Commit Pseudo Headers, Up: Editing Commit Messages - Commit Mode and Hooks ..................... @@ -5348,9 +4948,6 @@ The following functions are suitable for this hook: Also see ‘magit-post-commit-hook’. - -File: magit.info, Node: Commit Message Conventions, Prev: Commit Mode and Hooks, Up: Editing Commit Messages - Commit Message Conventions .......................... @@ -5398,16 +4995,6 @@ File: magit.info, Node: Branching, Next: Merging, Prev: Committing, Up: Mani 6.6 Branching ============= -* Menu: - -* The Two Remotes:: -* Branch Commands:: -* Branch Git Variables:: -* Auxiliary Branch Commands:: - - -File: magit.info, Node: The Two Remotes, Next: Branch Commands, Up: Branching - 6.6.1 The Two Remotes --------------------- @@ -5455,9 +5042,6 @@ from many transient prefix commands that deal with branches. It is also possible to set the push-remote or upstream while pushing (see *note Pushing::). - -File: magit.info, Node: Branch Commands, Next: Branch Git Variables, Prev: The Two Remotes, Up: Branching - 6.6.2 Branch Commands --------------------- @@ -5731,9 +5315,6 @@ should also account for other common names: (transient-replace-suffix 'magit-branch 'magit-checkout '("b" "dwim" magit-branch-or-checkout)) - -File: magit.info, Node: Branch Git Variables, Next: Auxiliary Branch Commands, Prev: Branch Commands, Up: Branching - 6.6.3 Branch Git Variables -------------------------- @@ -5849,9 +5430,6 @@ e.g.: ‘magit-read-starting-point’, which includes all commands that change the upstream and many which create new branches. - -File: magit.info, Node: Auxiliary Branch Commands, Prev: Branch Git Variables, Up: Branching - 6.6.4 Auxiliary Branch Commands ------------------------------- @@ -6199,14 +5777,6 @@ following suffix commands. This command aborts the current rebase operation, restoring the original branch. -* Menu: - -* Editing Rebase Sequences:: -* Information About In-Progress Rebase:: - - -File: magit.info, Node: Editing Rebase Sequences, Next: Information About In-Progress Rebase, Up: Rebasing - 6.9.1 Editing Rebase Sequences ------------------------------ @@ -6318,9 +5888,6 @@ commands become relevant. the editor when creating the merge, allowing the user to edit the message. - -File: magit.info, Node: Information About In-Progress Rebase, Prev: Editing Rebase Sequences, Up: Rebasing - 6.9.2 Information About In-Progress Rebase ------------------------------------------ @@ -6598,13 +6165,6 @@ instead features the following suffix commands. Abort the current cherry-pick or revert sequence. This discards all changes made since the sequence started. -* Menu: - -* Reverting:: - - -File: magit.info, Node: Reverting, Up: Cherry Picking - 6.10.1 Reverting ---------------- @@ -6752,18 +6312,17 @@ Also see *note (gitman)git-stash::. the index, making it impossible to also store the stash’s index there. - If the above failed, then try ‘git stash apply’. This fails (with - or without ‘--index’) if there are any uncommitted changes to files - that are also modified in the stash. - - If both of the above failed, then apply using ‘git apply’. If - there are no conflicting files, use ‘--3way’. If there are - conflicting files, then using ‘--3way’ requires that those files - are staged first, which may be undesirable, so prompt the user - whether to use ‘--3way’ or ‘--reject’. + First try ‘git stash apply --index’, which tries to preserve the + index stored in the stash, if any. This may fail because applying + the stash could result in conflicts and those have to be stored in + the index, making it impossible to also store the stash’s index + there. - Customize ‘magit-no-confirm’ if you want to always use ‘--3way’, - without being prompted. + If ‘git stash’ fails, then potentially fall back to using ‘git + apply’. If the stash does not touch any unstaged files, then pass + ‘--3way’ to that command. Otherwise ask the user whether to use + that argument or ‘--reject’. Customize ‘magit-no-confirm’ if you + want to fall back to using ‘--3way’, without being prompted. ‘z p’ (‘magit-stash-pop’) Apply a stash to the working tree. On complete success (if the @@ -6781,18 +6340,11 @@ Also see *note (gitman)git-stash::. the index, making it impossible to also store the stash’s index there. - If the above failed, then try ‘git stash apply’. This fails (with - or without ‘--index’) if there are any uncommitted changes to files - that are also modified in the stash. - - If both of the above failed, then apply using ‘git apply’. If - there are no conflicting files, use ‘--3way’. If there are - conflicting files, then using ‘--3way’ requires that those files - are staged first, which may be undesirable, so prompt the user - whether to use ‘--3way’ or ‘--reject’. - - Customize ‘magit-no-confirm’ if you want to always use ‘--3way’, - without being prompted. + If ‘git stash’ fails, then potentially fall back to using ‘git + apply’. If the stash does not touch any unstaged files, then pass + ‘--3way’ to that command. Otherwise ask the user whether to use + that argument or ‘--reject’. Customize ‘magit-no-confirm’ if you + want to fall back to using ‘--3way’, without being prompted. ‘z k’ (‘magit-stash-drop’) Remove a stash from the stash list. When the region is active, @@ -6864,14 +6416,6 @@ File: magit.info, Node: Remotes, Next: Fetching, Up: Transferring 7.1 Remotes =========== -* Menu: - -* Remote Commands:: -* Remote Git Variables:: - - -File: magit.info, Node: Remote Commands, Next: Remote Git Variables, Up: Remotes - 7.1.1 Remote Commands --------------------- @@ -6963,9 +6507,6 @@ features are available from separate transient commands. provided that the name of the added remote is equal to that string and the variable isn’t already set. - -File: magit.info, Node: Remote Git Variables, Prev: Remote Commands, Up: Remotes - 7.1.2 Remote Git Variables -------------------------- @@ -7405,14 +6946,6 @@ File: magit.info, Node: Submodules, Next: Subtree, Prev: Notes, Up: Miscella Also see *note (gitman)git-submodule::. -* Menu: - -* Listing Submodules:: -* Submodule Transient:: - - -File: magit.info, Node: Listing Submodules, Next: Submodule Transient, Up: Submodules - 8.3.1 Listing Submodules ------------------------ @@ -7456,9 +6989,6 @@ Sections::. and set ‘:pad-right’ to 9. ‘+’ is substituted for numbers higher than 9. - -File: magit.info, Node: Submodule Transient, Prev: Listing Submodules, Up: Submodules - 8.3.2 Submodule Transient ------------------------- @@ -7831,14 +7361,6 @@ files are being committed. -- User Option: magit-wip-mode-lighter Mode-line lighter for ‘magit-wip--mode’. -* Menu: - -* Wip Graph:: -* Legacy Wip Modes:: - - -File: magit.info, Node: Wip Graph, Next: Legacy Wip Modes, Up: Wip Modes - 8.9.1 Wip Graph --------------- @@ -7895,9 +7417,6 @@ commit does not change the fork-point of the working tree wip ref. The fork-points are not adjusted until there actually is a change that should be committed to the respective wip ref. - -File: magit.info, Node: Legacy Wip Modes, Prev: Wip Graph, Up: Wip Modes - 8.9.2 Legacy Wip Modes ---------------------- @@ -8277,15 +7796,6 @@ File: magit.info, Node: Essential Settings, Prev: Per-Repository Configuration The next three sections list and discuss several variables that many users might want to customize, for safety and/or performance reasons. -* Menu: - -* Safety:: -* Performance:: -* Global Bindings:: - - -File: magit.info, Node: Safety, Next: Performance, Up: Essential Settings - 9.2.1 Safety ------------ @@ -8320,9 +7830,6 @@ visited file changes on disk. This isn’t as risky as it might seem, but to make an informed decision you should see *note Risk of Reverting Automatically::. - -File: magit.info, Node: Performance, Next: Global Bindings, Prev: Safety, Up: Essential Settings - 9.2.2 Performance ----------------- @@ -8381,11 +7888,6 @@ determine the next and current tag in repository with exceptional numbers of tags. It would therefore be a good idea to disable ‘magit-insert-tags-headers’, as explained at the mentioned node. -* Menu: - -* Microsoft Windows Performance:: -* MacOS Performance:: - Log Performance ............... @@ -8476,9 +7978,6 @@ buffer, but doing it this way has the advantage that you usually get to see the diff, which is useful because it increases the odds that you spot potential issues. - -File: magit.info, Node: Microsoft Windows Performance, Next: MacOS Performance, Up: Performance - Microsoft Windows Performance ............................. @@ -8504,9 +8003,6 @@ also help. You should also check whether an anti-virus program is affecting performance. - -File: magit.info, Node: MacOS Performance, Prev: Microsoft Windows Performance, Up: Performance - MacOS Performance ................. @@ -8527,14 +8023,6 @@ executable you’re running against the one at ‘/usr/bin/git’, and if you notice a notable difference try using the latter as ‘magit-git-executable’. - ---------- Footnotes ---------- - - (1) - - - -File: magit.info, Node: Global Bindings, Prev: Performance, Up: Essential Settings - 9.2.3 Global Bindings --------------------- @@ -8584,6 +8072,11 @@ File: magit.info, Node: Global Bindings, Prev: Performance, Up: Essential Set Setting this variable has no effect if ‘after-init-hook’ has already been run. + ---------- Footnotes ---------- + + (1) + +  File: magit.info, Node: Plumbing, Next: FAQ, Prev: Customizing, Up: Top @@ -8640,14 +8133,6 @@ be further divided into subgroups depending on whether they run Git synchronously or asynchronously, and depending on whether they trigger a refresh when the executable has finished. -* Menu: - -* Getting a Value from Git:: -* Calling Git for Effect:: - - -File: magit.info, Node: Getting a Value from Git, Next: Calling Git for Effect, Up: Calling Git - 10.1.1 Getting a Value from Git ------------------------------- @@ -8728,9 +8213,6 @@ need to be able to debug them. therefore lead to an infinite recursion. You probably won’t ever need to use this function. - -File: magit.info, Node: Calling Git for Effect, Prev: Getting a Value from Git, Up: Calling Git - 10.1.2 Calling Git for Effect ----------------------------- @@ -8863,15 +8345,6 @@ File: magit.info, Node: Section Plumbing, Next: Refreshing Buffers, Prev: Cal 10.2 Section Plumbing ===================== -* Menu: - -* Creating Sections:: -* Section Selection:: -* Matching Sections:: - - -File: magit.info, Node: Creating Sections, Next: Section Selection, Up: Section Plumbing - 10.2.1 Creating Sections ------------------------ @@ -8947,9 +8420,6 @@ File: magit.info, Node: Creating Sections, Next: Section Selection, Up: Secti Define an interactive function to go to section SYM. TITLE is the displayed title of the section. - -File: magit.info, Node: Section Selection, Next: Matching Sections, Prev: Creating Sections, Up: Section Plumbing - 10.2.2 Section Selection ------------------------ @@ -8988,9 +8458,6 @@ File: magit.info, Node: Section Selection, Next: Matching Sections, Prev: Cre Return the values that themselves would be returned by ‘magit-region-sections’ (which see). - -File: magit.info, Node: Matching Sections, Prev: Section Selection, Up: Section Plumbing - 10.2.3 Matching Sections ------------------------ @@ -9193,13 +8660,6 @@ File: magit.info, Node: Conventions, Prev: Refreshing Buffers, Up: Plumbing Also see *note Completion and Confirmation::. -* Menu: - -* Theming Faces:: - - -File: magit.info, Node: Theming Faces, Up: Conventions - 10.4.1 Theming Faces -------------------- @@ -9362,18 +8822,6 @@ File: magit.info, Node: FAQ - How to ...?, Next: FAQ - Issues and Errors, Up: A.1 FAQ - How to ...? ===================== -* Menu: - -* How to pronounce Magit?:: -* How to show git's output?:: -* How to install the gitman info manual?:: -* How to show diffs for gpg-encrypted files?:: -* How does branching and pushing work?:: -* Should I disable VC?:: - - -File: magit.info, Node: How to pronounce Magit?, Next: How to show git's output?, Up: FAQ - How to ...? - A.1.1 How to pronounce Magit? ----------------------------- @@ -9393,9 +8841,6 @@ like it better. Also see . Also see . - -File: magit.info, Node: How to show git's output?, Next: How to install the gitman info manual?, Prev: How to pronounce Magit?, Up: FAQ - How to ...? - A.1.2 How to show git’s output? ------------------------------- @@ -9410,9 +8855,6 @@ also inserting it into the process buffer would be too expensive. For debugging purposes, it’s possible to do so anyway, using ‘M-x magit-toggle-git-debug’. - -File: magit.info, Node: How to install the gitman info manual?, Next: How to show diffs for gpg-encrypted files?, Prev: How to show git's output?, Up: FAQ - How to ...? - A.1.3 How to install the gitman info manual? -------------------------------------------- @@ -9432,9 +8874,6 @@ one of the supported Emacs packages ‘man’ or ‘woman’, e.g.: (setq magit-view-git-manual-method 'man) - -File: magit.info, Node: How to show diffs for gpg-encrypted files?, Next: How does branching and pushing work?, Prev: How to install the gitman info manual?, Up: FAQ - How to ...? - A.1.4 How to show diffs for gpg-encrypted files? ------------------------------------------------ @@ -9445,18 +8884,12 @@ affects the diffs displayed inside Magit. git config --global diff.gpg.textconv "gpg --no-tty --decrypt" echo "*.gpg filter=gpg diff=gpg" > .gitattributes - -File: magit.info, Node: How does branching and pushing work?, Next: Should I disable VC?, Prev: How to show diffs for gpg-encrypted files?, Up: FAQ - How to ...? - A.1.5 How does branching and pushing work? ------------------------------------------ Please see *note Branching:: and - -File: magit.info, Node: Should I disable VC?, Prev: How does branching and pushing work?, Up: FAQ - How to ...? - A.1.6 Should I disable VC? -------------------------- @@ -9477,34 +8910,12 @@ File: magit.info, Node: FAQ - Issues and Errors, Prev: FAQ - How to ...?, Up: A.2 FAQ - Issues and Errors =========================== -* Menu: - -* Magit is slow:: -* I changed several thousand files at once and now Magit is unusable:: -* I am having problems committing:: -* I am using MS Windows and cannot push with Magit:: -* I am using macOS and SOMETHING works in shell, but not in Magit: I am using macOS and SOMETHING works in shell but not in Magit. -* Expanding a file to show the diff causes it to disappear:: -* Point is wrong in the COMMIT_EDITMSG buffer:: -* The mode-line information isn't always up-to-date:: -* A branch and tag sharing the same name breaks SOMETHING:: -* My Git hooks work on the command-line but not inside Magit:: -* git-commit-mode isn't used when committing from the command-line:: -* Point ends up inside invisible text when jumping to a file-visiting buffer:: -* I am no longer able to save popup defaults:: - - -File: magit.info, Node: Magit is slow, Next: I changed several thousand files at once and now Magit is unusable, Up: FAQ - Issues and Errors - A.2.1 Magit is slow ------------------- See *note Performance:: and *note I changed several thousand files at once and now Magit is unusable::. - -File: magit.info, Node: I changed several thousand files at once and now Magit is unusable, Next: I am having problems committing, Prev: Magit is slow, Up: FAQ - Issues and Errors - A.2.2 I changed several thousand files at once and now Magit is unusable ------------------------------------------------------------------------ @@ -9516,9 +8927,6 @@ task but I hope to eventually find the time to make it happen. But for now we recommend you use the command line to complete this one commit. Also see *note Performance::. - -File: magit.info, Node: I am having problems committing, Next: I am using MS Windows and cannot push with Magit, Prev: I changed several thousand files at once and now Magit is unusable, Up: FAQ - Issues and Errors - A.2.3 I am having problems committing ------------------------------------- @@ -9526,9 +8934,6 @@ That likely means that Magit is having problems finding an appropriate ‘emacsclient’ executable. See *note (with-editor)Configuring With-Editor:: and *note (with-editor)Debugging::. - -File: magit.info, Node: I am using MS Windows and cannot push with Magit, Next: I am using macOS and SOMETHING works in shell but not in Magit, Prev: I am having problems committing, Up: FAQ - Issues and Errors - A.2.4 I am using MS Windows and cannot push with Magit ------------------------------------------------------ @@ -9539,9 +8944,6 @@ push on the command line. Detailed setup instructions can be found at . - -File: magit.info, Node: I am using macOS and SOMETHING works in shell but not in Magit, Next: Expanding a file to show the diff causes it to disappear, Prev: I am using MS Windows and cannot push with Magit, Up: FAQ - Issues and Errors - A.2.5 I am using macOS and SOMETHING works in shell, but not in Magit --------------------------------------------------------------------- @@ -9554,9 +8956,6 @@ you are using on the shell. If SOMETHING is "passphrase caching with gpg-agent for commit and/or tag signing", then you’ll also need to synchronize ‘$GPG_AGENT_INFO’. - -File: magit.info, Node: Expanding a file to show the diff causes it to disappear, Next: Point is wrong in the COMMIT_EDITMSG buffer, Prev: I am using macOS and SOMETHING works in shell but not in Magit, Up: FAQ - Issues and Errors - A.2.6 Expanding a file to show the diff causes it to disappear -------------------------------------------------------------- @@ -9564,9 +8963,6 @@ This is probably caused by a customization of a ‘diff.*’ Git variable. You probably set that variable for a reason, and should therefore only undo that setting in Magit by customizing ‘magit-git-global-arguments’. - -File: magit.info, Node: Point is wrong in the COMMIT_EDITMSG buffer, Next: The mode-line information isn't always up-to-date, Prev: Expanding a file to show the diff causes it to disappear, Up: FAQ - Issues and Errors - A.2.7 Point is wrong in the ‘COMMIT_EDITMSG’ buffer --------------------------------------------------- @@ -9588,9 +8984,6 @@ help: (when (or git-commit-mode git-rebase-mode) (pointback-mode -1)))) - -File: magit.info, Node: The mode-line information isn't always up-to-date, Next: A branch and tag sharing the same name breaks SOMETHING, Prev: Point is wrong in the COMMIT_EDITMSG buffer, Up: FAQ - Issues and Errors - A.2.8 The mode-line information isn’t always up-to-date ------------------------------------------------------- @@ -9611,9 +9004,6 @@ consider simply not displaying it in the mode-line: (setq-default mode-line-format (delete '(vc-mode vc-mode) mode-line-format)) - -File: magit.info, Node: A branch and tag sharing the same name breaks SOMETHING, Next: My Git hooks work on the command-line but not inside Magit, Prev: The mode-line information isn't always up-to-date, Up: FAQ - Issues and Errors - A.2.9 A branch and tag sharing the same name breaks SOMETHING ------------------------------------------------------------- @@ -9627,9 +9017,6 @@ non-ambiguous naming scheme. However, if you do work with a repository that has ambiguous refnames, please report any issues you encounter, so that we can investigate whether there is a simple fix. - -File: magit.info, Node: My Git hooks work on the command-line but not inside Magit, Next: git-commit-mode isn't used when committing from the command-line, Prev: A branch and tag sharing the same name breaks SOMETHING, Up: FAQ - Issues and Errors - A.2.10 My Git hooks work on the command-line but not inside Magit ----------------------------------------------------------------- @@ -9641,9 +9028,6 @@ subprocesses with the ‘--literal-pathspecs’ argument. You can therefore override this setting in hook scripts using ‘unset GIT_LITERAL_PATHSPECS’. - -File: magit.info, Node: git-commit-mode isn't used when committing from the command-line, Next: Point ends up inside invisible text when jumping to a file-visiting buffer, Prev: My Git hooks work on the command-line but not inside Magit, Up: FAQ - Issues and Errors - A.2.11 ‘git-commit-mode’ isn’t used when committing from the command-line ------------------------------------------------------------------------- @@ -9697,9 +9081,6 @@ is running, then you cannot use ‘emacsclient’ directly. that succeeds, do nothing else. Otherwise start ‘emacs &’ (and ‘init.el’ must call ‘server-start’) and try to use ‘emacsclient’ again. - -File: magit.info, Node: Point ends up inside invisible text when jumping to a file-visiting buffer, Next: I am no longer able to save popup defaults, Prev: git-commit-mode isn't used when committing from the command-line, Up: FAQ - Issues and Errors - A.2.12 Point ends up inside invisible text when jumping to a file-visiting buffer --------------------------------------------------------------------------------- @@ -9710,9 +9091,6 @@ visible. If that is too drastic for your taste, then you may instead use ‘magit-diff-visit-file-hook’ to reveal the text, possibly using ‘reveal-post-command’ or for Org buffers ‘org-reveal’. - -File: magit.info, Node: I am no longer able to save popup defaults, Prev: Point ends up inside invisible text when jumping to a file-visiting buffer, Up: FAQ - Issues and Errors - A.2.13 I am no longer able to save popup defaults ------------------------------------------------- @@ -9833,47 +9211,36 @@ Appendix C Keystroke Index [index] * Menu: -* !: Running Git Manually. - (line 13) -* ! !: Running Git Manually. - (line 17) -* ! a: Running Git Manually. - (line 53) -* ! b: Running Git Manually. - (line 56) -* ! g: Running Git Manually. - (line 59) -* ! k: Running Git Manually. - (line 50) -* ! m: Running Git Manually. - (line 62) -* ! p: Running Git Manually. - (line 25) -* ! s: Running Git Manually. - (line 34) -* ! S: Running Git Manually. - (line 38) -* $: Viewing Git Output. (line 17) -* +: Log Buffer. (line 64) -* + <1>: Refreshing Diffs. (line 65) -* -: Log Buffer. (line 67) -* - <1>: Refreshing Diffs. (line 62) -* 0: Refreshing Diffs. (line 68) -* 1: Section Visibility. (line 39) -* 2: Section Visibility. (line 39) -* 3: Section Visibility. (line 39) -* 4: Section Visibility. (line 39) +* !: Running Git. (line 82) +* ! !: Running Git. (line 86) +* ! a: Running Git. (line 122) +* ! b: Running Git. (line 125) +* ! g: Running Git. (line 128) +* ! k: Running Git. (line 119) +* ! m: Running Git. (line 131) +* ! p: Running Git. (line 94) +* ! s: Running Git. (line 103) +* ! S: Running Git. (line 107) +* $: Running Git. (line 20) +* +: Logging. (line 160) +* + <1>: Diffing. (line 154) +* -: Logging. (line 163) +* - <1>: Diffing. (line 151) +* 0: Diffing. (line 157) +* 1: Sections. (line 163) +* 2: Sections. (line 163) +* 3: Sections. (line 163) +* 4: Sections. (line 163) * 5: Repository List. (line 115) -* :: Running Git Manually. - (line 25) -* =: Log Buffer. (line 59) +* :: Running Git. (line 94) +* =: Logging. (line 155) * >: Sparse checkouts. (line 17) * > a: Sparse checkouts. (line 39) * > d: Sparse checkouts. (line 50) * > e: Sparse checkouts. (line 21) * > r: Sparse checkouts. (line 44) * > s: Sparse checkouts. (line 33) -* ^: Section Movement. (line 28) +* ^: Sections. (line 44) * a: Applying. (line 34) * A: Cherry Picking. (line 9) * A A: Cherry Picking. (line 17) @@ -9887,88 +9254,71 @@ Appendix C Keystroke Index * A s <1>: Cherry Picking. (line 88) * B: Bisecting. (line 9) * b: Blaming. (line 115) -* b <1>: Branch Commands. (line 13) -* b <2>: Editing Rebase Sequences. - (line 70) +* b <1>: Branching. (line 63) +* b <2>: Rebasing. (line 181) * B B: Bisecting. (line 16) * B b: Bisecting. (line 32) -* b b: Branch Commands. (line 47) -* b C: Branch Commands. (line 31) -* b c: Branch Commands. (line 63) +* b b: Branching. (line 97) +* b C: Branching. (line 81) +* b c: Branching. (line 113) * B g: Bisecting. (line 36) * B k: Bisecting. (line 46) -* b k: Branch Commands. (line 138) -* b l: Branch Commands. (line 69) +* b k: Branching. (line 188) +* b l: Branching. (line 119) * B m: Bisecting. (line 40) -* b m: Branch Commands. (line 149) -* b n: Branch Commands. (line 54) +* b m: Branching. (line 199) +* b n: Branching. (line 104) * B r: Bisecting. (line 51) * B s: Bisecting. (line 26) -* b s: Branch Commands. (line 91) -* b S: Branch Commands. (line 118) -* b x: Branch Commands. (line 123) +* b s: Branching. (line 141) +* b S: Branching. (line 168) +* b x: Branching. (line 173) * c: Blaming. (line 141) * C: Cloning Repository. (line 20) -* c <1>: Initiating a Commit. (line 9) -* c <2>: Editing Rebase Sequences. - (line 59) +* c <1>: Committing. (line 19) +* c <2>: Rebasing. (line 170) * C >: Cloning Repository. (line 38) -* c a: Initiating a Commit. (line 18) -* c A: Initiating a Commit. (line 59) +* c a: Committing. (line 28) +* c A: Committing. (line 69) * C b: Cloning Repository. (line 44) * C C: Cloning Repository. (line 28) -* c c: Initiating a Commit. (line 14) +* c c: Committing. (line 24) * C d: Cloning Repository. (line 55) * C e: Cloning Repository. (line 61) -* c e: Initiating a Commit. (line 21) -* c f: Initiating a Commit. (line 39) -* c F: Initiating a Commit. (line 46) +* c e: Committing. (line 31) +* c f: Committing. (line 49) +* c F: Committing. (line 56) * C m: Cloning Repository. (line 48) * C s: Cloning Repository. (line 32) -* c s: Initiating a Commit. (line 49) -* c S: Initiating a Commit. (line 56) -* c w: Initiating a Commit. (line 30) -* C-: Visiting Files and Blobs from a Diff. - (line 50) -* C-: Section Visibility. (line 14) -* C-c C-a: Commit Pseudo Headers. - (line 16) -* C-c C-b: Log Buffer. (line 20) -* C-c C-b <1>: Refreshing Diffs. (line 84) -* C-c C-c: Select from Log. (line 21) -* C-c C-c <1>: Editing Commit Messages. - (line 18) -* C-c C-c <2>: Editing Rebase Sequences. - (line 7) -* C-c C-d: Refreshing Diffs. (line 75) -* C-c C-d <1>: Editing Commit Messages. - (line 54) -* C-c C-e: Commands Available in Diffs. - (line 24) -* C-c C-f: Log Buffer. (line 23) -* C-c C-f <1>: Refreshing Diffs. (line 87) -* C-c C-i: Commit Pseudo Headers. - (line 13) -* C-c C-k: Select from Log. (line 26) -* C-c C-k <1>: Editing Commit Messages. - (line 22) -* C-c C-k <2>: Editing Rebase Sequences. - (line 11) -* C-c C-n: Log Buffer. (line 26) -* C-c C-o: Commit Pseudo Headers. - (line 28) -* C-c C-p: Commit Pseudo Headers. - (line 31) -* C-c C-r: Commit Pseudo Headers. - (line 19) -* C-c C-s: Commit Pseudo Headers. - (line 22) -* C-c C-t: Commands Available in Diffs. - (line 15) -* C-c C-t <1>: Commit Pseudo Headers. - (line 25) -* C-c C-w: Using the Revision Stack. - (line 7) +* c s: Committing. (line 59) +* c S: Committing. (line 66) +* c w: Committing. (line 40) +* C-: Visiting Files and Blobs. + (line 81) +* C-: Sections. (line 138) +* C-c C-a: Committing. (line 260) +* C-c C-b: Logging. (line 116) +* C-c C-b <1>: Diffing. (line 173) +* C-c C-c: Logging. (line 297) +* C-c C-c <1>: Committing. (line 148) +* C-c C-c <2>: Rebasing. (line 118) +* C-c C-d: Diffing. (line 164) +* C-c C-d <1>: Committing. (line 184) +* C-c C-e: Diffing. (line 199) +* C-c C-f: Logging. (line 119) +* C-c C-f <1>: Diffing. (line 176) +* C-c C-i: Committing. (line 257) +* C-c C-k: Logging. (line 302) +* C-c C-k <1>: Committing. (line 152) +* C-c C-k <2>: Rebasing. (line 122) +* C-c C-n: Logging. (line 122) +* C-c C-o: Committing. (line 272) +* C-c C-p: Committing. (line 275) +* C-c C-r: Committing. (line 263) +* C-c C-s: Committing. (line 266) +* C-c C-t: Diffing. (line 190) +* C-c C-t <1>: Committing. (line 269) +* C-c C-w: Committing. (line 192) * C-c f: Commands for Buffers Visiting Files. (line 52) * C-c f , c: Commands for Buffers Visiting Files. @@ -10098,43 +9448,37 @@ Appendix C Keystroke Index (line 156) * C-c M-g V: Commands for Buffers Visiting Files. (line 160) -* C-c M-i: Commit Pseudo Headers. - (line 35) -* C-c M-s: Editing Commit Messages. - (line 33) -* C-c TAB: Section Visibility. (line 14) +* C-c M-i: Committing. (line 279) +* C-c M-s: Committing. (line 163) +* C-c TAB: Sections. (line 138) * C-w: Common Commands. (line 22) * C-x g: Status Buffer. (line 23) * C-x M-g: Transient Commands. (line 20) -* C-x u: Editing Rebase Sequences. - (line 77) +* C-x u: Rebasing. (line 188) * d: Diffing. (line 22) -* D: Refreshing Diffs. (line 16) +* D: Diffing. (line 105) * d c: Diffing. (line 82) * d d: Diffing. (line 27) -* D f: Refreshing Diffs. (line 45) -* D F: Refreshing Diffs. (line 49) -* D g: Refreshing Diffs. (line 21) +* D f: Diffing. (line 134) +* D F: Diffing. (line 138) +* D g: Diffing. (line 110) * d p: Diffing. (line 75) * d r: Diffing. (line 49) -* D r: Refreshing Diffs. (line 41) +* D r: Diffing. (line 130) * d s: Diffing. (line 67) -* D s: Refreshing Diffs. (line 25) +* D s: Diffing. (line 114) * d t: Diffing. (line 86) -* D t: Refreshing Diffs. (line 38) +* D t: Diffing. (line 127) * d u: Diffing. (line 72) * d w: Diffing. (line 62) -* D w: Refreshing Diffs. (line 31) -* DEL: Log Buffer. (line 50) -* DEL <1>: Commands Available in Diffs. - (line 56) +* D w: Diffing. (line 120) +* DEL: Logging. (line 146) +* DEL <1>: Diffing. (line 231) * DEL <2>: Blaming. (line 103) -* DEL <3>: Editing Rebase Sequences. - (line 25) +* DEL <3>: Rebasing. (line 136) * e: Ediffing. (line 10) * E: Ediffing. (line 21) -* e <1>: Editing Rebase Sequences. - (line 46) +* e <1>: Rebasing. (line 157) * E c: Ediffing. (line 100) * E i: Ediffing. (line 94) * E m: Ediffing. (line 33) @@ -10146,13 +9490,12 @@ Appendix C Keystroke Index * E w: Ediffing. (line 97) * E z: Ediffing. (line 103) * f: Repository List. (line 111) -* f <1>: Editing Rebase Sequences. - (line 52) +* f <1>: Rebasing. (line 163) * f <2>: Fetching. (line 10) * F: Pulling. (line 10) * f a: Fetching. (line 45) -* f C: Branch Commands. (line 31) -* F C: Branch Commands. (line 31) +* f C: Branching. (line 81) +* F C: Branching. (line 81) * f e: Fetching. (line 34) * F e: Pulling. (line 28) * f m: Fetching. (line 48) @@ -10162,118 +9505,104 @@ Appendix C Keystroke Index * f r: Fetching. (line 41) * f u: Fetching. (line 22) * F u: Pulling. (line 21) -* g: Automatic Refreshing of Magit Buffers. - (line 26) -* G: Automatic Refreshing of Magit Buffers. - (line 34) -* H: Section Types and Values. - (line 14) +* g: Modes and Buffers. (line 265) +* G: Modes and Buffers. (line 273) +* H: Sections. (line 331) * I: Creating Repository. (line 7) -* j: Log Buffer. (line 31) -* j <1>: Commands Available in Diffs. - (line 43) -* k: Viewing Git Output. (line 24) +* j: Logging. (line 127) +* j <1>: Diffing. (line 218) +* k: Running Git. (line 27) * k <1>: Applying. (line 40) -* k <2>: Editing Rebase Sequences. - (line 56) -* k <3>: Stashing. (line 128) +* k <2>: Rebasing. (line 167) +* k <3>: Stashing. (line 120) * l: Logging. (line 28) -* L: Refreshing Logs. (line 12) -* L <1>: Log Buffer. (line 7) -* L <2>: Log Margin. (line 52) -* l <1>: Editing Rebase Sequences. - (line 94) +* L: Logging. (line 75) +* L <1>: Logging. (line 103) +* L <2>: Logging. (line 263) +* l <1>: Rebasing. (line 205) * l a: Logging. (line 59) * l b: Logging. (line 56) -* L d: Log Margin. (line 66) -* L g: Refreshing Logs. (line 17) +* L d: Logging. (line 277) +* L g: Logging. (line 80) * l h: Logging. (line 38) -* l H: Reflog. (line 18) +* l H: Logging. (line 342) * l l: Logging. (line 33) * l L: Logging. (line 53) -* L L: Refreshing Logs. (line 34) -* L L <1>: Log Margin. (line 60) -* L l: Log Margin. (line 63) +* L L: Logging. (line 97) +* L L <1>: Logging. (line 271) +* L l: Logging. (line 274) * l o: Logging. (line 47) -* l O: Reflog. (line 15) -* l r: Reflog. (line 12) -* L s: Refreshing Logs. (line 21) +* l O: Logging. (line 339) +* l r: Logging. (line 336) +* L s: Logging. (line 84) * l u: Logging. (line 41) -* L w: Refreshing Logs. (line 27) +* L w: Logging. (line 90) * m: Repository List. (line 105) * m <1>: Merging. (line 10) -* M: Remote Commands. (line 14) +* M: Remotes. (line 17) * m a: Merging. (line 42) * m a <1>: Merging. (line 91) -* M a: Remote Commands. (line 48) -* M C: Remote Commands. (line 32) +* M a: Remotes. (line 51) +* M C: Remotes. (line 35) * m e: Merging. (line 30) * m i: Merging. (line 54) -* M k: Remote Commands. (line 60) +* M k: Remotes. (line 63) * m m: Merging. (line 18) * m m <1>: Merging. (line 86) * m n: Merging. (line 36) * m p: Merging. (line 75) -* M p: Remote Commands. (line 63) -* M P: Remote Commands. (line 67) -* M r: Remote Commands. (line 52) +* M p: Remotes. (line 66) +* M P: Remotes. (line 70) +* M r: Remotes. (line 55) * m s: Merging. (line 67) -* M u: Remote Commands. (line 56) -* M-1: Section Visibility. (line 45) -* M-2: Section Visibility. (line 45) -* M-3: Section Visibility. (line 45) -* M-4: Section Visibility. (line 45) -* M-: Section Visibility. (line 29) -* M-n: Section Movement. (line 24) -* M-n <1>: Editing Commit Messages. - (line 41) -* M-n <2>: Editing Rebase Sequences. - (line 40) -* M-p: Section Movement. (line 19) -* M-p <1>: Editing Commit Messages. - (line 36) -* M-p <2>: Editing Rebase Sequences. - (line 37) +* M u: Remotes. (line 59) +* M-1: Sections. (line 169) +* M-2: Sections. (line 169) +* M-3: Sections. (line 169) +* M-4: Sections. (line 169) +* M-: Sections. (line 153) +* M-n: Sections. (line 40) +* M-n <1>: Committing. (line 171) +* M-n <2>: Rebasing. (line 151) +* M-p: Sections. (line 35) +* M-p <1>: Committing. (line 166) +* M-p <2>: Rebasing. (line 148) * M-w: Blaming. (line 134) * M-w <1>: Common Commands. (line 39) -* MM: Editing Rebase Sequences. - (line 102) -* Mt: Editing Rebase Sequences. - (line 108) -* n: Section Movement. (line 16) +* MM: Rebasing. (line 213) +* Mt: Rebasing. (line 219) +* n: Sections. (line 32) * n <1>: Blaming. (line 118) * N: Blaming. (line 121) -* n <2>: Editing Rebase Sequences. - (line 34) +* n <2>: Rebasing. (line 145) * n <3>: Minor Mode for Buffers Visiting Blobs. (line 16) -* o: Submodule Transient. (line 7) +* o: Submodules. (line 55) * O: Subtree. (line 9) -* o a: Submodule Transient. (line 20) -* o d: Submodule Transient. (line 45) +* o a: Submodules. (line 68) +* o d: Submodules. (line 93) * O e: Subtree. (line 37) * O e p: Subtree. (line 48) * O e s: Subtree. (line 52) -* o f: Submodule Transient. (line 51) +* o f: Submodules. (line 99) * O i: Subtree. (line 13) * O i a: Subtree. (line 24) * O i c: Subtree. (line 28) * O i f: Subtree. (line 34) * O i m: Subtree. (line 31) -* o l: Submodule Transient. (line 48) -* o p: Submodule Transient. (line 32) -* o r: Submodule Transient. (line 26) -* o s: Submodule Transient. (line 40) -* o u: Submodule Transient. (line 36) -* p: Section Movement. (line 11) +* o l: Submodules. (line 96) +* o p: Submodules. (line 80) +* o r: Submodules. (line 74) +* o s: Submodules. (line 88) +* o u: Submodules. (line 84) +* p: Sections. (line 27) * p <1>: Blaming. (line 124) * P: Blaming. (line 127) -* p <2>: Editing Rebase Sequences. - (line 31) +* p <2>: Rebasing. (line 142) * P <1>: Pushing. (line 10) * p <3>: Minor Mode for Buffers Visiting Blobs. (line 13) -* P C: Branch Commands. (line 31) +* P C: Branching. (line 81) * P e: Pushing. (line 29) * P m: Pushing. (line 45) * P o: Pushing. (line 33) @@ -10282,14 +9611,13 @@ Appendix C Keystroke Index * P t: Pushing. (line 52) * P T: Pushing. (line 59) * P u: Pushing. (line 22) -* q: Quitting Windows. (line 7) -* q <1>: Log Buffer. (line 14) +* q: Modes and Buffers. (line 206) +* q <1>: Logging. (line 110) * q <2>: Blaming. (line 130) * q <3>: Minor Mode for Buffers Visiting Blobs. (line 19) * r: Rebasing. (line 10) -* r <1>: Editing Rebase Sequences. - (line 43) +* r <1>: Rebasing. (line 154) * r a: Rebasing. (line 111) * r e: Rebasing. (line 42) * r e <1>: Rebasing. (line 107) @@ -10305,26 +9633,21 @@ Appendix C Keystroke Index * r w: Rebasing. (line 87) * RET: Repository List. (line 102) * RET <1>: References Buffer. (line 159) -* RET <2>: Visiting Files and Blobs from a Diff. - (line 9) +* RET <2>: Visiting Files and Blobs. + (line 40) * RET <3>: Blaming. (line 91) -* RET <4>: Editing Rebase Sequences. - (line 15) +* RET <4>: Rebasing. (line 126) * s: Staging and Unstaging. (line 29) * S: Staging and Unstaging. (line 36) -* s <1>: Editing Rebase Sequences. - (line 49) -* S-: Section Visibility. (line 33) -* SPC: Log Buffer. (line 41) -* SPC <1>: Commands Available in Diffs. - (line 53) +* s <1>: Rebasing. (line 160) +* S-: Sections. (line 157) +* SPC: Logging. (line 137) +* SPC <1>: Diffing. (line 228) * SPC <2>: Blaming. (line 94) -* SPC <3>: Editing Rebase Sequences. - (line 19) -* t: Editing Rebase Sequences. - (line 97) +* SPC <3>: Rebasing. (line 130) +* t: Rebasing. (line 208) * t <1>: Tagging. (line 9) * T: Notes. (line 9) * T a: Notes. (line 47) @@ -10337,19 +9660,19 @@ Appendix C Keystroke Index * T r: Notes. (line 21) * t t: Tagging. (line 14) * T T: Notes. (line 14) -* TAB: Section Visibility. (line 10) +* TAB: Sections. (line 134) * u: Repository List. (line 108) * u <1>: Staging and Unstaging. (line 42) * U: Staging and Unstaging. (line 50) * v: Applying. (line 47) -* V: Reverting. (line 7) -* V a: Reverting. (line 35) -* V s: Reverting. (line 32) -* V V: Reverting. (line 15) -* V v: Reverting. (line 20) -* V V <1>: Reverting. (line 29) +* V: Cherry Picking. (line 98) +* V a: Cherry Picking. (line 126) +* V s: Cherry Picking. (line 123) +* V V: Cherry Picking. (line 106) +* V v: Cherry Picking. (line 111) +* V V <1>: Cherry Picking. (line 120) * W: Plain Patches. (line 7) * w: Maildir Patches. (line 9) * w a: Plain Patches. (line 20) @@ -10361,8 +9684,7 @@ Appendix C Keystroke Index * w s: Maildir Patches. (line 34) * w w: Maildir Patches. (line 14) * w w <1>: Maildir Patches. (line 31) -* x: Editing Rebase Sequences. - (line 62) +* x: Rebasing. (line 173) * x <1>: Resetting. (line 9) * X f: Resetting. (line 44) * X h: Resetting. (line 24) @@ -10372,10 +9694,9 @@ Appendix C Keystroke Index * X s: Resetting. (line 19) * X w: Resetting. (line 39) * X w <1>: Wip Modes. (line 64) -* Y: Cherries. (line 18) +* Y: Logging. (line 382) * y: References Buffer. (line 7) -* y <1>: Editing Rebase Sequences. - (line 74) +* y <1>: Rebasing. (line 185) * y c: References Buffer. (line 25) * y o: References Buffer. (line 30) * y r: References Buffer. (line 34) @@ -10383,20 +9704,20 @@ Appendix C Keystroke Index * z: Stashing. (line 9) * Z: Worktree. (line 9) * z a: Stashing. (line 52) -* z b: Stashing. (line 115) -* z B: Stashing. (line 120) +* z b: Stashing. (line 107) +* z B: Stashing. (line 112) * Z b: Worktree. (line 13) * Z c: Worktree. (line 16) -* z f: Stashing. (line 125) +* z f: Stashing. (line 117) * Z g: Worktree. (line 26) * z i: Stashing. (line 20) * z I: Stashing. (line 42) -* z k: Stashing. (line 108) +* z k: Stashing. (line 100) * Z k: Worktree. (line 22) -* z l: Stashing. (line 131) +* z l: Stashing. (line 123) * Z m: Worktree. (line 19) -* z p: Stashing. (line 79) -* z v: Stashing. (line 112) +* z p: Stashing. (line 78) +* z v: Stashing. (line 104) * z w: Stashing. (line 24) * z W: Stashing. (line 46) * z x: Stashing. (line 30) @@ -10412,88 +9733,48 @@ Appendix D Function and Command Index [index] * Menu: -* bug-reference-mode: Commit Mode and Hooks. - (line 48) -* forward-line: Editing Rebase Sequences. - (line 34) -* git-commit-ack: Commit Pseudo Headers. - (line 16) -* git-commit-cc: Commit Pseudo Headers. - (line 28) -* git-commit-check-style-conventions: Commit Message Conventions. - (line 33) -* git-commit-insert-pseudo-header: Commit Pseudo Headers. - (line 13) -* git-commit-next-message: Editing Commit Messages. - (line 41) -* git-commit-prev-message: Editing Commit Messages. - (line 36) -* git-commit-propertize-diff: Commit Mode and Hooks. - (line 40) -* git-commit-reported: Commit Pseudo Headers. - (line 31) -* git-commit-review: Commit Pseudo Headers. - (line 19) -* git-commit-save-message: Editing Commit Messages. - (line 33) -* git-commit-save-message <1>: Commit Mode and Hooks. - (line 26) -* git-commit-setup-changelog-support: Commit Mode and Hooks. - (line 29) -* git-commit-signoff: Commit Pseudo Headers. - (line 22) -* git-commit-suggested: Commit Pseudo Headers. - (line 35) -* git-commit-test: Commit Pseudo Headers. - (line 25) -* git-commit-turn-on-auto-fill: Commit Mode and Hooks. - (line 33) -* git-commit-turn-on-flyspell: Commit Mode and Hooks. - (line 36) -* git-rebase-backward-line: Editing Rebase Sequences. - (line 31) -* git-rebase-break: Editing Rebase Sequences. - (line 70) -* git-rebase-edit: Editing Rebase Sequences. - (line 46) -* git-rebase-exec: Editing Rebase Sequences. - (line 62) -* git-rebase-fixup: Editing Rebase Sequences. - (line 52) -* git-rebase-insert: Editing Rebase Sequences. - (line 74) -* git-rebase-kill-line: Editing Rebase Sequences. - (line 56) -* git-rebase-label: Editing Rebase Sequences. - (line 94) -* git-rebase-merge: Editing Rebase Sequences. - (line 102) -* git-rebase-merge-toggle-editmsg: Editing Rebase Sequences. - (line 108) -* git-rebase-move-line-down: Editing Rebase Sequences. - (line 40) -* git-rebase-move-line-up: Editing Rebase Sequences. - (line 37) -* git-rebase-pick: Editing Rebase Sequences. - (line 59) -* git-rebase-reset: Editing Rebase Sequences. - (line 97) -* git-rebase-reword: Editing Rebase Sequences. - (line 43) -* git-rebase-show-commit: Editing Rebase Sequences. - (line 15) -* git-rebase-show-or-scroll-down: Editing Rebase Sequences. - (line 25) -* git-rebase-show-or-scroll-up: Editing Rebase Sequences. - (line 19) -* git-rebase-squash: Editing Rebase Sequences. - (line 49) -* git-rebase-undo: Editing Rebase Sequences. - (line 77) +* bug-reference-mode: Committing. (line 326) +* forward-line: Rebasing. (line 145) +* git-commit-ack: Committing. (line 260) +* git-commit-cc: Committing. (line 272) +* git-commit-check-style-conventions: Committing. (line 378) +* git-commit-insert-pseudo-header: Committing. (line 257) +* git-commit-next-message: Committing. (line 171) +* git-commit-prev-message: Committing. (line 166) +* git-commit-propertize-diff: Committing. (line 318) +* git-commit-reported: Committing. (line 275) +* git-commit-review: Committing. (line 263) +* git-commit-save-message: Committing. (line 163) +* git-commit-save-message <1>: Committing. (line 304) +* git-commit-setup-changelog-support: Committing. (line 307) +* git-commit-signoff: Committing. (line 266) +* git-commit-suggested: Committing. (line 279) +* git-commit-test: Committing. (line 269) +* git-commit-turn-on-auto-fill: Committing. (line 311) +* git-commit-turn-on-flyspell: Committing. (line 314) +* git-rebase-backward-line: Rebasing. (line 142) +* git-rebase-break: Rebasing. (line 181) +* git-rebase-edit: Rebasing. (line 157) +* git-rebase-exec: Rebasing. (line 173) +* git-rebase-fixup: Rebasing. (line 163) +* git-rebase-insert: Rebasing. (line 185) +* git-rebase-kill-line: Rebasing. (line 167) +* git-rebase-label: Rebasing. (line 205) +* git-rebase-merge: Rebasing. (line 213) +* git-rebase-merge-toggle-editmsg: Rebasing. (line 219) +* git-rebase-move-line-down: Rebasing. (line 151) +* git-rebase-move-line-up: Rebasing. (line 148) +* git-rebase-pick: Rebasing. (line 170) +* git-rebase-reset: Rebasing. (line 208) +* git-rebase-reword: Rebasing. (line 154) +* git-rebase-show-commit: Rebasing. (line 126) +* git-rebase-show-or-scroll-down: Rebasing. (line 136) +* git-rebase-show-or-scroll-up: Rebasing. (line 130) +* git-rebase-squash: Rebasing. (line 160) +* git-rebase-undo: Rebasing. (line 188) * ido-enter-magit-status: Status Buffer. (line 96) -* magit-add-section-hook: Section Hooks. (line 20) -* magit-after-save-refresh-status: Automatic Refreshing of Magit Buffers. - (line 55) +* magit-add-section-hook: Sections. (line 291) +* magit-after-save-refresh-status: Modes and Buffers. (line 294) * magit-am: Maildir Patches. (line 9) * magit-am-abort: Maildir Patches. (line 38) * magit-am-apply-maildir: Maildir Patches. (line 20) @@ -10559,32 +9840,28 @@ Appendix D Function and Command Index (line 52) * magit-blob-visit-file <1>: Commands for Buffers Visiting Files. (line 160) -* magit-branch: Branch Commands. (line 13) -* magit-branch-and-checkout: Branch Commands. (line 63) -* magit-branch-checkout: Branch Commands. (line 69) -* magit-branch-configure: Branch Commands. (line 31) -* magit-branch-create: Branch Commands. (line 54) -* magit-branch-delete: Branch Commands. (line 138) -* magit-branch-or-checkout: Branch Commands. (line 257) -* magit-branch-orphan: Branch Commands. (line 253) -* magit-branch-rename: Branch Commands. (line 149) -* magit-branch-reset: Branch Commands. (line 123) -* magit-branch-shelve: Auxiliary Branch Commands. - (line 9) -* magit-branch-spinoff: Branch Commands. (line 91) -* magit-branch-spinout: Branch Commands. (line 118) -* magit-branch-unshelve: Auxiliary Branch Commands. - (line 19) -* magit-builtin-completing-read: Support for Completion Frameworks. - (line 41) +* magit-branch: Branching. (line 63) +* magit-branch-and-checkout: Branching. (line 113) +* magit-branch-checkout: Branching. (line 119) +* magit-branch-configure: Branching. (line 81) +* magit-branch-create: Branching. (line 104) +* magit-branch-delete: Branching. (line 188) +* magit-branch-or-checkout: Branching. (line 307) +* magit-branch-orphan: Branching. (line 303) +* magit-branch-rename: Branching. (line 199) +* magit-branch-reset: Branching. (line 173) +* magit-branch-shelve: Branching. (line 447) +* magit-branch-spinoff: Branching. (line 141) +* magit-branch-spinout: Branching. (line 168) +* magit-branch-unshelve: Branching. (line 457) +* magit-builtin-completing-read: Completion Confirmation and the Selection. + (line 358) * magit-bundle: Bundle. (line 8) -* magit-call-git: Calling Git for Effect. - (line 28) -* magit-call-process: Calling Git for Effect. - (line 31) -* magit-cancel-section: Creating Sections. (line 69) -* magit-checkout: Branch Commands. (line 47) -* magit-cherry: Cherries. (line 18) +* magit-call-git: Calling Git. (line 135) +* magit-call-process: Calling Git. (line 138) +* magit-cancel-section: Section Plumbing. (line 72) +* magit-checkout: Branching. (line 97) +* magit-cherry: Logging. (line 382) * magit-cherry-apply: Cherry Picking. (line 23) * magit-cherry-copy: Cherry Picking. (line 17) * magit-cherry-donate: Cherry Picking. (line 51) @@ -10600,34 +9877,32 @@ Appendix D Function and Command Index * magit-clone-shallow-exclude: Cloning Repository. (line 61) * magit-clone-shallow-since: Cloning Repository. (line 55) * magit-clone-sparse: Cloning Repository. (line 38) -* magit-commit: Initiating a Commit. (line 9) +* magit-commit: Committing. (line 19) * magit-commit <1>: Commands for Buffers Visiting Files. (line 52) * magit-commit <2>: Commands for Buffers Visiting Files. (line 176) -* magit-commit-amend: Initiating a Commit. (line 18) -* magit-commit-augment: Initiating a Commit. (line 59) -* magit-commit-create: Initiating a Commit. (line 14) -* magit-commit-extend: Initiating a Commit. (line 21) -* magit-commit-fixup: Initiating a Commit. (line 39) -* magit-commit-instant-fixup: Initiating a Commit. (line 46) -* magit-commit-instant-squash: Initiating a Commit. (line 56) -* magit-commit-reword: Initiating a Commit. (line 30) -* magit-commit-squash: Initiating a Commit. (line 49) -* magit-completing-read: Support for Completion Frameworks. - (line 57) +* magit-commit-amend: Committing. (line 28) +* magit-commit-augment: Committing. (line 69) +* magit-commit-create: Committing. (line 24) +* magit-commit-extend: Committing. (line 31) +* magit-commit-fixup: Committing. (line 49) +* magit-commit-instant-fixup: Committing. (line 56) +* magit-commit-instant-squash: Committing. (line 66) +* magit-commit-reword: Committing. (line 40) +* magit-commit-squash: Committing. (line 59) +* magit-completing-read: Completion Confirmation and the Selection. + (line 374) * magit-copy-buffer-revision: Common Commands. (line 39) * magit-copy-section-value: Common Commands. (line 22) -* magit-current-section: Section Selection. (line 6) -* magit-cycle-margin-style: Log Margin. (line 63) -* magit-debug-git-executable: Git Executable. (line 55) +* magit-current-section: Section Plumbing. (line 84) +* magit-cycle-margin-style: Logging. (line 274) +* magit-debug-git-executable: Running Git. (line 188) * magit-debug-git-executable <1>: Debugging Tools. (line 69) -* magit-define-section-jumper: Creating Sections. (line 74) -* magit-describe-section: Section Types and Values. - (line 14) -* magit-describe-section-briefly: Section Types and Values. - (line 17) -* magit-describe-section-briefly <1>: Matching Sections. (line 7) +* magit-define-section-jumper: Section Plumbing. (line 77) +* magit-describe-section: Sections. (line 331) +* magit-describe-section-briefly: Sections. (line 334) +* magit-describe-section-briefly <1>: Section Plumbing. (line 123) * magit-diff: Diffing. (line 22) * magit-diff <1>: Commands for Buffers Visiting Files. (line 52) @@ -10637,61 +9912,58 @@ Appendix D Function and Command Index (line 52) * magit-diff-buffer-file <1>: Commands for Buffers Visiting Files. (line 101) -* magit-diff-default-context: Refreshing Diffs. (line 68) +* magit-diff-default-context: Diffing. (line 157) * magit-diff-dwim: Diffing. (line 27) -* magit-diff-edit-hunk-commit: Commands Available in Diffs. - (line 24) -* magit-diff-flip-revs: Refreshing Diffs. (line 45) -* magit-diff-less-context: Refreshing Diffs. (line 62) -* magit-diff-more-context: Refreshing Diffs. (line 65) +* magit-diff-edit-hunk-commit: Diffing. (line 199) +* magit-diff-flip-revs: Diffing. (line 134) +* magit-diff-less-context: Diffing. (line 151) +* magit-diff-more-context: Diffing. (line 154) * magit-diff-paths: Diffing. (line 75) * magit-diff-range: Diffing. (line 49) -* magit-diff-refresh: Refreshing Diffs. (line 16) -* magit-diff-refresh <1>: Refreshing Diffs. (line 21) -* magit-diff-save-default-arguments: Refreshing Diffs. (line 31) -* magit-diff-scope: Matching Sections. (line 110) -* magit-diff-set-default-arguments: Refreshing Diffs. (line 25) -* magit-diff-show-or-scroll-down: Log Buffer. (line 50) +* magit-diff-refresh: Diffing. (line 105) +* magit-diff-refresh <1>: Diffing. (line 110) +* magit-diff-save-default-arguments: Diffing. (line 120) +* magit-diff-scope: Section Plumbing. (line 226) +* magit-diff-set-default-arguments: Diffing. (line 114) +* magit-diff-show-or-scroll-down: Logging. (line 146) * magit-diff-show-or-scroll-down <1>: Blaming. (line 103) -* magit-diff-show-or-scroll-up: Log Buffer. (line 41) +* magit-diff-show-or-scroll-up: Logging. (line 137) * magit-diff-show-or-scroll-up <1>: Blaming. (line 94) * magit-diff-staged: Diffing. (line 67) -* magit-diff-switch-range-type: Refreshing Diffs. (line 41) -* magit-diff-toggle-file-filter: Refreshing Diffs. (line 49) -* magit-diff-toggle-refine-hunk: Refreshing Diffs. (line 38) -* magit-diff-trace-definition: Commands Available in Diffs. - (line 15) -* magit-diff-type: Matching Sections. (line 88) +* magit-diff-switch-range-type: Diffing. (line 130) +* magit-diff-toggle-file-filter: Diffing. (line 138) +* magit-diff-toggle-refine-hunk: Diffing. (line 127) +* magit-diff-trace-definition: Diffing. (line 190) +* magit-diff-type: Section Plumbing. (line 204) * magit-diff-unstaged: Diffing. (line 72) -* magit-diff-visit-file: Visiting Files and Blobs from a Diff. - (line 9) -* magit-diff-visit-file-other-frame: Visiting Files and Blobs from a Diff. - (line 71) -* magit-diff-visit-file-other-window: Visiting Files and Blobs from a Diff. - (line 70) -* magit-diff-visit-file-worktree: Visiting Files and Blobs from a Diff. - (line 50) -* magit-diff-visit-worktree-file-other-frame: Visiting Files and Blobs from a Diff. - (line 73) -* magit-diff-visit-worktree-file-other-window: Visiting Files and Blobs from a Diff. - (line 72) -* magit-diff-while-committing: Refreshing Diffs. (line 75) -* magit-diff-while-committing <1>: Editing Commit Messages. - (line 54) +* magit-diff-visit-file: Visiting Files and Blobs. + (line 40) +* magit-diff-visit-file-other-frame: Visiting Files and Blobs. + (line 102) +* magit-diff-visit-file-other-window: Visiting Files and Blobs. + (line 101) +* magit-diff-visit-file-worktree: Visiting Files and Blobs. + (line 81) +* magit-diff-visit-worktree-file-other-frame: Visiting Files and Blobs. + (line 104) +* magit-diff-visit-worktree-file-other-window: Visiting Files and Blobs. + (line 103) +* magit-diff-while-committing: Diffing. (line 164) +* magit-diff-while-committing <1>: Committing. (line 184) * magit-diff-working-tree: Diffing. (line 62) * magit-disable-section-inserter: Per-Repository Configuration. (line 31) * magit-discard: Applying. (line 40) * magit-dispatch: Transient Commands. (line 20) -* magit-display-buffer: Switching Buffers. (line 6) -* magit-display-buffer-fullcolumn-most-v1: Switching Buffers. (line 68) -* magit-display-buffer-fullframe-status-topleft-v1: Switching Buffers. - (line 59) -* magit-display-buffer-fullframe-status-v1: Switching Buffers. - (line 54) -* magit-display-buffer-same-window-except-diff-v1: Switching Buffers. - (line 49) -* magit-display-buffer-traditional: Switching Buffers. (line 42) +* magit-display-buffer: Modes and Buffers. (line 38) +* magit-display-buffer-fullcolumn-most-v1: Modes and Buffers. (line 100) +* magit-display-buffer-fullframe-status-topleft-v1: Modes and Buffers. + (line 91) +* magit-display-buffer-fullframe-status-v1: Modes and Buffers. + (line 86) +* magit-display-buffer-same-window-except-diff-v1: Modes and Buffers. + (line 81) +* magit-display-buffer-traditional: Modes and Buffers. (line 74) * magit-display-repository-buffer: Common Commands. (line 9) * magit-display-repository-buffer <1>: Commands for Buffers Visiting Files. (line 52) @@ -10719,7 +9991,7 @@ Appendix D Function and Command Index * magit-fetch-from-pushremote: Fetching. (line 15) * magit-fetch-from-upstream: Fetching. (line 22) * magit-fetch-modules: Fetching. (line 48) -* magit-fetch-modules <1>: Submodule Transient. (line 51) +* magit-fetch-modules <1>: Submodules. (line 99) * magit-fetch-other: Fetching. (line 34) * magit-fetch-refspec: Fetching. (line 41) * magit-file-checkout: Resetting. (line 44) @@ -10743,125 +10015,94 @@ Appendix D Function and Command Index (line 52) * magit-file-untrack <1>: Commands for Buffers Visiting Files. (line 74) -* magit-find-file: General-Purpose Visit Commands. - (line 9) +* magit-find-file: Visiting Files and Blobs. + (line 19) * magit-find-file <1>: Commands for Buffers Visiting Files. (line 52) * magit-find-file <2>: Commands for Buffers Visiting Files. (line 156) -* magit-find-file-other-frame: General-Purpose Visit Commands. - (line 19) -* magit-find-file-other-window: General-Purpose Visit Commands. - (line 14) -* magit-generate-buffer-name-default-function: Naming Buffers. - (line 16) -* magit-get-section: Matching Sections. (line 14) -* magit-git: Calling Git for Effect. - (line 46) -* magit-git-command: Running Git Manually. - (line 25) -* magit-git-command-topdir: Running Git Manually. - (line 17) -* magit-git-exit-code: Getting a Value from Git. - (line 10) -* magit-git-failure: Getting a Value from Git. - (line 17) -* magit-git-false: Getting a Value from Git. - (line 25) -* magit-git-insert: Getting a Value from Git. +* magit-find-file-other-frame: Visiting Files and Blobs. (line 29) -* magit-git-items: Getting a Value from Git. - (line 41) -* magit-git-lines: Getting a Value from Git. - (line 37) -* magit-git-mergetool: Running Git Manually. - (line 62) +* magit-find-file-other-window: Visiting Files and Blobs. + (line 24) +* magit-generate-buffer-name-default-function: Modes and Buffers. + (line 141) +* magit-get-section: Section Plumbing. (line 130) +* magit-git: Calling Git. (line 153) +* magit-git-command: Running Git. (line 94) +* magit-git-command-topdir: Running Git. (line 86) +* magit-git-exit-code: Calling Git. (line 37) +* magit-git-failure: Calling Git. (line 44) +* magit-git-false: Calling Git. (line 52) +* magit-git-insert: Calling Git. (line 56) +* magit-git-items: Calling Git. (line 68) +* magit-git-lines: Calling Git. (line 64) +* magit-git-mergetool: Running Git. (line 131) * magit-git-mergetool <1>: Ediffing. (line 79) -* magit-git-str: Getting a Value from Git. - (line 75) -* magit-git-string: Getting a Value from Git. - (line 32) -* magit-git-success: Getting a Value from Git. - (line 13) -* magit-git-true: Getting a Value from Git. - (line 21) -* magit-git-wash: Calling Git for Effect. - (line 50) -* magit-go-backward: Log Buffer. (line 20) -* magit-go-backward <1>: Refreshing Diffs. (line 84) -* magit-go-forward: Log Buffer. (line 23) -* magit-go-forward <1>: Refreshing Diffs. (line 87) -* magit-hunk-set-window-start: Section Movement. (line 45) -* magit-ido-completing-read: Support for Completion Frameworks. - (line 46) +* magit-git-str: Calling Git. (line 102) +* magit-git-string: Calling Git. (line 59) +* magit-git-success: Calling Git. (line 40) +* magit-git-true: Calling Git. (line 48) +* magit-git-wash: Calling Git. (line 157) +* magit-go-backward: Logging. (line 116) +* magit-go-backward <1>: Diffing. (line 173) +* magit-go-forward: Logging. (line 119) +* magit-go-forward <1>: Diffing. (line 176) +* magit-hunk-set-window-start: Sections. (line 61) +* magit-ido-completing-read: Completion Confirmation and the Selection. + (line 363) * magit-init: Creating Repository. (line 7) -* magit-insert-am-sequence: Status Sections. (line 25) -* magit-insert-assumed-unchanged-files: Status Sections. (line 102) -* magit-insert-bisect-log: Status Sections. (line 39) -* magit-insert-bisect-output: Status Sections. (line 33) -* magit-insert-bisect-rest: Status Sections. (line 36) -* magit-insert-diff-filter-header: Status Header Sections. - (line 35) -* magit-insert-error-header: Status Header Sections. - (line 26) -* magit-insert-head-branch-header: Status Header Sections. - (line 38) -* magit-insert-heading: Creating Sections. (line 41) -* magit-insert-ignored-files: Status Sections. (line 87) -* magit-insert-local-branches: References Sections. (line 16) -* magit-insert-merge-log: Status Sections. (line 17) -* magit-insert-modules: Status Module Sections. - (line 12) -* magit-insert-modules-overview: Status Module Sections. - (line 30) -* magit-insert-modules-unpulled-from-pushremote: Status Module Sections. - (line 45) -* magit-insert-modules-unpulled-from-upstream: Status Module Sections. - (line 40) -* magit-insert-modules-unpushed-to-pushremote: Status Module Sections. - (line 55) -* magit-insert-modules-unpushed-to-upstream: Status Module Sections. - (line 50) -* magit-insert-push-branch-header: Status Header Sections. - (line 45) -* magit-insert-rebase-sequence: Status Sections. (line 21) -* magit-insert-recent-commits: Status Sections. (line 114) -* magit-insert-remote-branches: References Sections. (line 19) -* magit-insert-remote-header: Status Header Sections. - (line 58) -* magit-insert-repo-header: Status Header Sections. - (line 55) -* magit-insert-section: Creating Sections. (line 6) -* magit-insert-sequencer-sequence: Status Sections. (line 29) -* magit-insert-skip-worktree-files: Status Sections. (line 96) -* magit-insert-staged-changes: Status Sections. (line 57) -* magit-insert-stashes: Status Sections. (line 60) -* magit-insert-status-headers: Status Header Sections. - (line 12) -* magit-insert-tags: References Sections. (line 22) -* magit-insert-tags-header: Status Header Sections. - (line 49) -* magit-insert-tracked-files: Status Sections. (line 84) -* magit-insert-unpulled-cherries: Status Sections. (line 123) -* magit-insert-unpulled-from-pushremote: Status Sections. (line 70) -* magit-insert-unpulled-from-upstream: Status Sections. (line 66) -* magit-insert-unpulled-or-recent-commits: Status Sections. (line 108) -* magit-insert-unpushed-cherries: Status Sections. (line 129) -* magit-insert-unpushed-to-pushremote: Status Sections. (line 78) -* magit-insert-unpushed-to-upstream: Status Sections. (line 74) -* magit-insert-unstaged-changes: Status Sections. (line 54) -* magit-insert-untracked-files: Status Sections. (line 42) -* magit-insert-upstream-branch-header: Status Header Sections. - (line 41) -* magit-insert-user-header: Status Header Sections. - (line 65) -* magit-jump-to-diffstat-or-diff: Commands Available in Diffs. - (line 43) +* magit-insert-am-sequence: Status Buffer. (line 137) +* magit-insert-assumed-unchanged-files: Status Buffer. (line 213) +* magit-insert-bisect-log: Status Buffer. (line 151) +* magit-insert-bisect-output: Status Buffer. (line 145) +* magit-insert-bisect-rest: Status Buffer. (line 148) +* magit-insert-diff-filter-header: Status Buffer. (line 282) +* magit-insert-error-header: Status Buffer. (line 273) +* magit-insert-head-branch-header: Status Buffer. (line 285) +* magit-insert-heading: Section Plumbing. (line 44) +* magit-insert-ignored-files: Status Buffer. (line 198) +* magit-insert-local-branches: References Buffer. (line 244) +* magit-insert-merge-log: Status Buffer. (line 129) +* magit-insert-modules: Status Buffer. (line 324) +* magit-insert-modules-overview: Status Buffer. (line 342) +* magit-insert-modules-unpulled-from-pushremote: Status Buffer. + (line 357) +* magit-insert-modules-unpulled-from-upstream: Status Buffer. (line 352) +* magit-insert-modules-unpushed-to-pushremote: Status Buffer. (line 367) +* magit-insert-modules-unpushed-to-upstream: Status Buffer. (line 362) +* magit-insert-push-branch-header: Status Buffer. (line 292) +* magit-insert-rebase-sequence: Status Buffer. (line 133) +* magit-insert-recent-commits: Status Buffer. (line 225) +* magit-insert-remote-branches: References Buffer. (line 247) +* magit-insert-remote-header: Status Buffer. (line 305) +* magit-insert-repo-header: Status Buffer. (line 302) +* magit-insert-section: Section Plumbing. (line 9) +* magit-insert-sequencer-sequence: Status Buffer. (line 141) +* magit-insert-skip-worktree-files: Status Buffer. (line 207) +* magit-insert-staged-changes: Status Buffer. (line 168) +* magit-insert-stashes: Status Buffer. (line 171) +* magit-insert-status-headers: Status Buffer. (line 259) +* magit-insert-tags: References Buffer. (line 250) +* magit-insert-tags-header: Status Buffer. (line 296) +* magit-insert-tracked-files: Status Buffer. (line 195) +* magit-insert-unpulled-cherries: Status Buffer. (line 234) +* magit-insert-unpulled-from-pushremote: Status Buffer. (line 181) +* magit-insert-unpulled-from-upstream: Status Buffer. (line 177) +* magit-insert-unpulled-or-recent-commits: Status Buffer. (line 219) +* magit-insert-unpushed-cherries: Status Buffer. (line 240) +* magit-insert-unpushed-to-pushremote: Status Buffer. (line 189) +* magit-insert-unpushed-to-upstream: Status Buffer. (line 185) +* magit-insert-unstaged-changes: Status Buffer. (line 165) +* magit-insert-untracked-files: Status Buffer. (line 154) +* magit-insert-upstream-branch-header: Status Buffer. (line 288) +* magit-insert-user-header: Status Buffer. (line 312) +* magit-jump-to-diffstat-or-diff: Diffing. (line 218) * magit-kill-this-buffer: Minor Mode for Buffers Visiting Blobs. (line 19) * magit-list-repositories: Repository List. (line 6) -* magit-list-submodules: Listing Submodules. (line 13) -* magit-list-submodules <1>: Submodule Transient. (line 48) +* magit-list-submodules: Submodules. (line 18) +* magit-list-submodules <1>: Submodules. (line 96) * magit-log: Logging. (line 28) * magit-log <1>: Commands for Buffers Visiting Files. (line 52) @@ -10874,36 +10115,36 @@ Appendix D Function and Command Index (line 52) * magit-log-buffer-file <1>: Commands for Buffers Visiting Files. (line 119) -* magit-log-bury-buffer: Log Buffer. (line 14) +* magit-log-bury-buffer: Logging. (line 110) * magit-log-current: Logging. (line 33) -* magit-log-double-commit-limit: Log Buffer. (line 64) -* magit-log-half-commit-limit: Log Buffer. (line 67) +* magit-log-double-commit-limit: Logging. (line 160) +* magit-log-half-commit-limit: Logging. (line 163) * magit-log-head: Logging. (line 38) -* magit-log-maybe-show-more-commits: Section Movement. (line 58) -* magit-log-maybe-update-blob-buffer: Section Movement. (line 72) -* magit-log-maybe-update-revision-buffer: Section Movement. (line 65) +* magit-log-maybe-show-more-commits: Sections. (line 74) +* magit-log-maybe-update-blob-buffer: Sections. (line 88) +* magit-log-maybe-update-revision-buffer: Sections. (line 81) * magit-log-merged: Commands for Buffers Visiting Files. (line 52) * magit-log-merged <1>: Commands for Buffers Visiting Files. (line 132) -* magit-log-move-to-parent: Log Buffer. (line 26) -* magit-log-move-to-revision: Log Buffer. (line 31) +* magit-log-move-to-parent: Logging. (line 122) +* magit-log-move-to-revision: Logging. (line 127) * magit-log-other: Logging. (line 47) -* magit-log-refresh: Refreshing Logs. (line 12) -* magit-log-refresh <1>: Refreshing Logs. (line 17) -* magit-log-refresh <2>: Log Buffer. (line 7) +* magit-log-refresh: Logging. (line 75) +* magit-log-refresh <1>: Logging. (line 80) +* magit-log-refresh <2>: Logging. (line 103) * magit-log-related: Logging. (line 41) -* magit-log-save-default-arguments: Refreshing Logs. (line 27) -* magit-log-select-pick: Select from Log. (line 21) -* magit-log-select-quit: Select from Log. (line 26) -* magit-log-set-default-arguments: Refreshing Logs. (line 21) -* magit-log-toggle-commit-limit: Log Buffer. (line 59) +* magit-log-save-default-arguments: Logging. (line 90) +* magit-log-select-pick: Logging. (line 297) +* magit-log-select-quit: Logging. (line 302) +* magit-log-set-default-arguments: Logging. (line 84) +* magit-log-toggle-commit-limit: Logging. (line 155) * magit-log-trace-definition: Commands for Buffers Visiting Files. (line 52) * magit-log-trace-definition <1>: Commands for Buffers Visiting Files. (line 129) -* magit-margin-settings: Log Margin. (line 52) -* magit-maybe-set-dedicated: Switching Buffers. (line 89) +* magit-margin-settings: Logging. (line 263) +* magit-maybe-set-dedicated: Modes and Buffers. (line 121) * magit-merge: Merging. (line 10) * magit-merge <1>: Merging. (line 86) * magit-merge-abort: Merging. (line 91) @@ -10914,9 +10155,9 @@ Appendix D Function and Command Index * magit-merge-plain: Merging. (line 18) * magit-merge-preview: Merging. (line 75) * magit-merge-squash: Merging. (line 67) -* magit-mode-bury-buffer: Quitting Windows. (line 7) +* magit-mode-bury-buffer: Modes and Buffers. (line 206) * magit-mode-display-buffer: Refreshing Buffers. (line 32) -* magit-mode-quit-window: Quitting Windows. (line 34) +* magit-mode-quit-window: Modes and Buffers. (line 233) * magit-mode-setup: Refreshing Buffers. (line 17) * magit-notes: Notes. (line 9) * magit-notes-edit: Notes. (line 14) @@ -10930,14 +10171,11 @@ Appendix D Function and Command Index * magit-patch-apply <1>: Maildir Patches. (line 23) * magit-patch-create: Plain Patches. (line 12) * magit-patch-save: Plain Patches. (line 26) -* magit-pop-revision-stack: Using the Revision Stack. - (line 7) -* magit-process: Viewing Git Output. (line 17) -* magit-process-file: Getting a Value from Git. - (line 57) -* magit-process-git: Getting a Value from Git. - (line 50) -* magit-process-kill: Viewing Git Output. (line 24) +* magit-pop-revision-stack: Committing. (line 192) +* magit-process: Running Git. (line 20) +* magit-process-file: Calling Git. (line 84) +* magit-process-git: Calling Git. (line 77) +* magit-process-kill: Running Git. (line 27) * magit-profile-refresh-buffer: Debugging Tools. (line 76) * magit-pull: Pulling. (line 10) * magit-pull-branch: Pulling. (line 28) @@ -10968,24 +10206,22 @@ Appendix D Function and Command Index * magit-rebase-reword-commit: Rebasing. (line 87) * magit-rebase-skip: Rebasing. (line 103) * magit-rebase-subset: Rebasing. (line 47) -* magit-reflog-current: Reflog. (line 12) -* magit-reflog-head: Reflog. (line 18) -* magit-reflog-other: Reflog. (line 15) -* magit-refresh: Automatic Refreshing of Magit Buffers. - (line 26) -* magit-refresh-all: Automatic Refreshing of Magit Buffers. - (line 34) +* magit-reflog-current: Logging. (line 336) +* magit-reflog-head: Logging. (line 342) +* magit-reflog-other: Logging. (line 339) +* magit-refresh: Modes and Buffers. (line 265) +* magit-refresh-all: Modes and Buffers. (line 273) * magit-refs-set-show-commit-count: References Buffer. (line 34) -* magit-region-sections: Section Selection. (line 9) -* magit-region-values: Section Selection. (line 35) -* magit-remote: Remote Commands. (line 14) -* magit-remote-add: Remote Commands. (line 48) -* magit-remote-configure: Remote Commands. (line 32) -* magit-remote-prune: Remote Commands. (line 63) -* magit-remote-prune-refspecs: Remote Commands. (line 67) -* magit-remote-remove: Remote Commands. (line 60) -* magit-remote-rename: Remote Commands. (line 52) -* magit-remote-set-url: Remote Commands. (line 56) +* magit-region-sections: Section Plumbing. (line 87) +* magit-region-values: Section Plumbing. (line 113) +* magit-remote: Remotes. (line 17) +* magit-remote-add: Remotes. (line 51) +* magit-remote-configure: Remotes. (line 35) +* magit-remote-prune: Remotes. (line 66) +* magit-remote-prune-refspecs: Remotes. (line 70) +* magit-remote-remove: Remotes. (line 63) +* magit-remote-rename: Remotes. (line 55) +* magit-remote-set-url: Remotes. (line 59) * magit-repolist-column-branch: Repository List. (line 51) * magit-repolist-column-branches: Repository List. (line 58) * magit-repolist-column-flag: Repository List. (line 64) @@ -11018,70 +10254,59 @@ Appendix D Function and Command Index * magit-reset-soft: Resetting. (line 19) * magit-reset-worktree: Resetting. (line 39) * magit-reset-worktree <1>: Wip Modes. (line 64) -* magit-restore-window-configuration: Quitting Windows. (line 24) +* magit-restore-window-configuration: Modes and Buffers. (line 223) * magit-reverse: Applying. (line 47) * magit-reverse-in-index: Staging and Unstaging. (line 58) -* magit-revert: Reverting. (line 7) -* magit-revert-and-commit: Reverting. (line 15) -* magit-revert-no-commit: Reverting. (line 20) -* magit-run: Running Git Manually. - (line 13) -* magit-run-git: Calling Git for Effect. - (line 34) -* magit-run-git-async: Calling Git for Effect. - (line 59) -* magit-run-git-gui: Running Git Manually. - (line 59) -* magit-run-git-with-editor: Calling Git for Effect. - (line 71) -* magit-run-git-with-input: Calling Git for Effect. - (line 37) -* magit-run-gitk: Running Git Manually. - (line 50) -* magit-run-gitk-all: Running Git Manually. - (line 53) -* magit-run-gitk-branches: Running Git Manually. - (line 56) -* magit-save-window-configuration: Switching Buffers. (line 80) -* magit-section-backward: Section Movement. (line 11) -* magit-section-backward-siblings: Section Movement. (line 19) -* magit-section-case: Matching Sections. (line 66) -* magit-section-cycle: Section Visibility. (line 14) -* magit-section-cycle-diffs: Section Visibility. (line 29) -* magit-section-cycle-global: Section Visibility. (line 33) -* magit-section-forward: Section Movement. (line 16) -* magit-section-forward-siblings: Section Movement. (line 24) -* magit-section-hide: Section Visibility. (line 55) -* magit-section-hide-children: Section Visibility. (line 67) -* magit-section-ident: Matching Sections. (line 10) -* magit-section-match: Matching Sections. (line 18) -* magit-section-set-window-start: Section Movement. (line 52) -* magit-section-show: Section Visibility. (line 52) -* magit-section-show-children: Section Visibility. (line 62) -* magit-section-show-headings: Section Visibility. (line 58) -* magit-section-show-level-1: Section Visibility. (line 39) -* magit-section-show-level-1-all: Section Visibility. (line 45) -* magit-section-show-level-2: Section Visibility. (line 39) -* magit-section-show-level-2-all: Section Visibility. (line 45) -* magit-section-show-level-3: Section Visibility. (line 39) -* magit-section-show-level-3-all: Section Visibility. (line 45) -* magit-section-show-level-4: Section Visibility. (line 39) -* magit-section-show-level-4-all: Section Visibility. (line 45) -* magit-section-toggle: Section Visibility. (line 10) -* magit-section-toggle-children: Section Visibility. (line 70) -* magit-section-up: Section Movement. (line 28) -* magit-section-value-if: Matching Sections. (line 57) +* magit-revert: Cherry Picking. (line 98) +* magit-revert-and-commit: Cherry Picking. (line 106) +* magit-revert-no-commit: Cherry Picking. (line 111) +* magit-run: Running Git. (line 82) +* magit-run-git: Calling Git. (line 141) +* magit-run-git-async: Calling Git. (line 166) +* magit-run-git-gui: Running Git. (line 128) +* magit-run-git-with-editor: Calling Git. (line 178) +* magit-run-git-with-input: Calling Git. (line 144) +* magit-run-gitk: Running Git. (line 119) +* magit-run-gitk-all: Running Git. (line 122) +* magit-run-gitk-branches: Running Git. (line 125) +* magit-save-window-configuration: Modes and Buffers. (line 112) +* magit-section-backward: Sections. (line 27) +* magit-section-backward-siblings: Sections. (line 35) +* magit-section-case: Section Plumbing. (line 182) +* magit-section-cycle: Sections. (line 138) +* magit-section-cycle-diffs: Sections. (line 153) +* magit-section-cycle-global: Sections. (line 157) +* magit-section-forward: Sections. (line 32) +* magit-section-forward-siblings: Sections. (line 40) +* magit-section-hide: Sections. (line 179) +* magit-section-hide-children: Sections. (line 191) +* magit-section-ident: Section Plumbing. (line 126) +* magit-section-match: Section Plumbing. (line 134) +* magit-section-set-window-start: Sections. (line 68) +* magit-section-show: Sections. (line 176) +* magit-section-show-children: Sections. (line 186) +* magit-section-show-headings: Sections. (line 182) +* magit-section-show-level-1: Sections. (line 163) +* magit-section-show-level-1-all: Sections. (line 169) +* magit-section-show-level-2: Sections. (line 163) +* magit-section-show-level-2-all: Sections. (line 169) +* magit-section-show-level-3: Sections. (line 163) +* magit-section-show-level-3-all: Sections. (line 169) +* magit-section-show-level-4: Sections. (line 163) +* magit-section-show-level-4-all: Sections. (line 169) +* magit-section-toggle: Sections. (line 134) +* magit-section-toggle-children: Sections. (line 194) +* magit-section-up: Sections. (line 44) +* magit-section-value-if: Section Plumbing. (line 173) * magit-sequence-abort: Cherry Picking. (line 91) -* magit-sequence-abort <1>: Reverting. (line 35) +* magit-sequence-abort <1>: Cherry Picking. (line 126) * magit-sequence-continue: Cherry Picking. (line 85) -* magit-sequence-continue <1>: Reverting. (line 29) +* magit-sequence-continue <1>: Cherry Picking. (line 120) * magit-sequence-skip: Cherry Picking. (line 88) -* magit-sequence-skip <1>: Reverting. (line 32) -* magit-shell-command: Running Git Manually. - (line 38) -* magit-shell-command-topdir: Running Git Manually. - (line 34) +* magit-sequence-skip <1>: Cherry Picking. (line 123) +* magit-shell-command: Running Git. (line 107) +* magit-shell-command-topdir: Running Git. (line 103) * magit-show-commit: Diffing. (line 82) * magit-show-commit <1>: Blaming. (line 91) * magit-show-refs: References Buffer. (line 7) @@ -11103,51 +10328,48 @@ Appendix D Function and Command Index (line 52) * magit-stage-buffer-file <1>: Commands for Buffers Visiting Files. (line 63) -* magit-stage-file: Staging from File-Visiting Buffers. - (line 11) +* magit-stage-file: Staging and Unstaging. + (line 90) * magit-stage-file <1>: Commands for Buffers Visiting Files. (line 52) * magit-stage-file <2>: Commands for Buffers Visiting Files. (line 63) * magit-stage-modified: Staging and Unstaging. (line 36) -* magit-start-git: Calling Git for Effect. - (line 82) -* magit-start-process: Calling Git for Effect. - (line 100) +* magit-start-git: Calling Git. (line 189) +* magit-start-process: Calling Git. (line 207) * magit-stash: Stashing. (line 9) * magit-stash-apply: Stashing. (line 52) * magit-stash-both: Stashing. (line 14) -* magit-stash-branch: Stashing. (line 115) -* magit-stash-branch-here: Stashing. (line 120) -* magit-stash-clear: Stashing. (line 128) -* magit-stash-drop: Stashing. (line 108) -* magit-stash-format-patch: Stashing. (line 125) +* magit-stash-branch: Stashing. (line 107) +* magit-stash-branch-here: Stashing. (line 112) +* magit-stash-clear: Stashing. (line 120) +* magit-stash-drop: Stashing. (line 100) +* magit-stash-format-patch: Stashing. (line 117) * magit-stash-index: Stashing. (line 20) * magit-stash-keep-index: Stashing. (line 30) -* magit-stash-list: Stashing. (line 131) -* magit-stash-pop: Stashing. (line 79) +* magit-stash-list: Stashing. (line 123) +* magit-stash-pop: Stashing. (line 78) * magit-stash-show: Diffing. (line 86) -* magit-stash-show <1>: Stashing. (line 112) +* magit-stash-show <1>: Stashing. (line 104) * magit-stash-worktree: Stashing. (line 24) -* magit-stashes-maybe-update-stash-buffer: Section Movement. (line 92) +* magit-stashes-maybe-update-stash-buffer: Sections. (line 108) * magit-status: Status Buffer. (line 23) * magit-status-here: Commands for Buffers Visiting Files. (line 52) * magit-status-here <1>: Commands for Buffers Visiting Files. (line 166) -* magit-status-maybe-update-blob-buffer: Section Movement. (line 87) -* magit-status-maybe-update-revision-buffer: Section Movement. - (line 77) -* magit-status-maybe-update-stash-buffer: Section Movement. (line 82) +* magit-status-maybe-update-blob-buffer: Sections. (line 103) +* magit-status-maybe-update-revision-buffer: Sections. (line 93) +* magit-status-maybe-update-stash-buffer: Sections. (line 98) * magit-status-quick: Status Buffer. (line 70) -* magit-submodule: Submodule Transient. (line 7) -* magit-submodule-add: Submodule Transient. (line 20) -* magit-submodule-populate: Submodule Transient. (line 32) -* magit-submodule-register: Submodule Transient. (line 26) -* magit-submodule-synchronize: Submodule Transient. (line 40) -* magit-submodule-unpopulate: Submodule Transient. (line 45) -* magit-submodule-update: Submodule Transient. (line 36) +* magit-submodule: Submodules. (line 55) +* magit-submodule-add: Submodules. (line 68) +* magit-submodule-populate: Submodules. (line 80) +* magit-submodule-register: Submodules. (line 74) +* magit-submodule-synchronize: Submodules. (line 88) +* magit-submodule-unpopulate: Submodules. (line 93) +* magit-submodule-update: Submodules. (line 84) * magit-subtree: Subtree. (line 9) * magit-subtree-add: Subtree. (line 24) * magit-subtree-add-commit: Subtree. (line 28) @@ -11168,11 +10390,11 @@ Appendix D Function and Command Index * magit-tag-prune: Tagging. (line 43) * magit-tag-release: Tagging. (line 18) * magit-toggle-buffer-lock: Modes and Buffers. (line 18) -* magit-toggle-git-debug: Viewing Git Output. (line 27) +* magit-toggle-git-debug: Running Git. (line 30) * magit-toggle-git-debug <1>: Debugging Tools. (line 29) -* magit-toggle-margin: Refreshing Logs. (line 34) -* magit-toggle-margin <1>: Log Margin. (line 60) -* magit-toggle-margin-details: Log Margin. (line 66) +* magit-toggle-margin: Logging. (line 97) +* magit-toggle-margin <1>: Logging. (line 271) +* magit-toggle-margin-details: Logging. (line 277) * magit-toggle-profiling: Debugging Tools. (line 80) * magit-toggle-subprocess-record: Debugging Tools. (line 56) * magit-toggle-verbose-refresh: Debugging Tools. (line 51) @@ -11184,13 +10406,13 @@ Appendix D Function and Command Index (line 52) * magit-unstage-buffer-file <1>: Commands for Buffers Visiting Files. (line 69) -* magit-unstage-file: Staging from File-Visiting Buffers. - (line 18) +* magit-unstage-file: Staging and Unstaging. + (line 97) * magit-unstage-file <1>: Commands for Buffers Visiting Files. (line 52) * magit-unstage-file <2>: Commands for Buffers Visiting Files. (line 69) -* magit-version: Git Executable. (line 59) +* magit-version: Running Git. (line 192) * magit-version <1>: Debugging Tools. (line 11) * magit-visit-ref: References Buffer. (line 159) * magit-wip-commit: Wip Modes. (line 85) @@ -11202,21 +10424,14 @@ Appendix D Function and Command Index * magit-worktree-delete: Worktree. (line 22) * magit-worktree-move: Worktree. (line 19) * magit-worktree-status: Worktree. (line 26) -* scroll-down: Commands Available in Diffs. - (line 56) -* scroll-up: Commands Available in Diffs. - (line 53) -* with-editor-cancel: Editing Commit Messages. - (line 22) -* with-editor-cancel <1>: Editing Rebase Sequences. - (line 11) +* scroll-down: Diffing. (line 231) +* scroll-up: Diffing. (line 228) +* with-editor-cancel: Committing. (line 152) +* with-editor-cancel <1>: Rebasing. (line 122) * with-editor-debug: Debugging Tools. (line 85) -* with-editor-finish: Editing Commit Messages. - (line 18) -* with-editor-finish <1>: Editing Rebase Sequences. - (line 7) -* with-editor-usage-message: Commit Mode and Hooks. - (line 51) +* with-editor-finish: Committing. (line 148) +* with-editor-finish <1>: Rebasing. (line 118) +* with-editor-usage-message: Committing. (line 329)  File: magit.info, Node: Variable Index, Prev: Function and Command Index, Up: Top @@ -11227,61 +10442,34 @@ Appendix E Variable Index [index] * Menu: -* auto-revert-buffer-list-filter: Automatic Reverting of File-Visiting Buffers. - (line 73) -* auto-revert-interval: Automatic Reverting of File-Visiting Buffers. - (line 69) -* auto-revert-mode: Automatic Reverting of File-Visiting Buffers. - (line 57) -* auto-revert-stop-on-user-input: Automatic Reverting of File-Visiting Buffers. - (line 65) -* auto-revert-use-notify: Automatic Reverting of File-Visiting Buffers. - (line 46) -* auto-revert-verbose: Automatic Reverting of File-Visiting Buffers. - (line 94) -* branch.autoSetupMerge: Branch Git Variables. - (line 71) -* branch.autoSetupRebase: Branch Git Variables. - (line 85) -* branch.NAME.description: Branch Git Variables. - (line 42) -* branch.NAME.merge: Branch Git Variables. - (line 10) -* branch.NAME.pushRemote: Branch Git Variables. - (line 29) -* branch.NAME.rebase: Branch Git Variables. - (line 20) -* branch.NAME.remote: Branch Git Variables. - (line 15) +* auto-revert-buffer-list-filter: Modes and Buffers. (line 395) +* auto-revert-interval: Modes and Buffers. (line 391) +* auto-revert-mode: Modes and Buffers. (line 379) +* auto-revert-stop-on-user-input: Modes and Buffers. (line 387) +* auto-revert-use-notify: Modes and Buffers. (line 368) +* auto-revert-verbose: Modes and Buffers. (line 416) +* branch.autoSetupMerge: Branching. (line 394) +* branch.autoSetupRebase: Branching. (line 408) +* branch.NAME.description: Branching. (line 365) +* branch.NAME.merge: Branching. (line 333) +* branch.NAME.pushRemote: Branching. (line 352) +* branch.NAME.rebase: Branching. (line 343) +* branch.NAME.remote: Branching. (line 338) * core.notesRef: Notes. (line 53) -* git-commit-finish-query-functions: Commit Message Conventions. - (line 18) -* git-commit-known-pseudo-headers: Commit Pseudo Headers. - (line 9) -* git-commit-major-mode: Commit Mode and Hooks. - (line 12) -* git-commit-post-finish-hook: Commit Mode and Hooks. - (line 54) -* git-commit-setup-hook: Commit Mode and Hooks. - (line 21) -* git-commit-style-convention-checks: Commit Message Conventions. - (line 38) -* git-commit-summary-max-length: Commit Message Conventions. - (line 13) -* git-rebase-auto-advance: Editing Rebase Sequences. - (line 80) -* git-rebase-confirm-cancel: Editing Rebase Sequences. - (line 86) -* git-rebase-show-instructions: Editing Rebase Sequences. - (line 83) -* global-auto-revert-mode: Automatic Reverting of File-Visiting Buffers. - (line 21) -* magit-auto-revert-immediately: Automatic Reverting of File-Visiting Buffers. - (line 30) -* magit-auto-revert-mode: Automatic Reverting of File-Visiting Buffers. - (line 17) -* magit-auto-revert-tracked-only: Automatic Reverting of File-Visiting Buffers. - (line 51) +* git-commit-finish-query-functions: Committing. (line 363) +* git-commit-known-pseudo-headers: Committing. (line 253) +* git-commit-major-mode: Committing. (line 290) +* git-commit-post-finish-hook: Committing. (line 332) +* git-commit-setup-hook: Committing. (line 299) +* git-commit-style-convention-checks: Committing. (line 383) +* git-commit-summary-max-length: Committing. (line 358) +* git-rebase-auto-advance: Rebasing. (line 191) +* git-rebase-confirm-cancel: Rebasing. (line 197) +* git-rebase-show-instructions: Rebasing. (line 194) +* global-auto-revert-mode: Modes and Buffers. (line 343) +* magit-auto-revert-immediately: Modes and Buffers. (line 352) +* magit-auto-revert-mode: Modes and Buffers. (line 339) +* magit-auto-revert-tracked-only: Modes and Buffers. (line 373) * magit-bisect-show-graph: Bisecting. (line 57) * magit-blame-disable-modes: Blaming. (line 165) * magit-blame-echo-style: Blaming. (line 151) @@ -11289,340 +10477,321 @@ Appendix E Variable Index * magit-blame-read-only: Blaming. (line 161) * magit-blame-styles: Blaming. (line 147) * magit-blame-time-format: Blaming. (line 157) -* magit-branch-adjust-remote-upstream-alist: Branch Commands. (line 202) -* magit-branch-direct-configure: Branch Commands. (line 19) -* magit-branch-prefer-remote-upstream: Branch Commands. (line 158) -* magit-branch-read-upstream-first: Branch Commands. (line 153) -* magit-buffer-name-format: Naming Buffers. (line 25) -* magit-bury-buffer-function: Quitting Windows. (line 16) -* magit-cherry-margin: Cherries. (line 21) +* magit-branch-adjust-remote-upstream-alist: Branching. (line 252) +* magit-branch-direct-configure: Branching. (line 69) +* magit-branch-prefer-remote-upstream: Branching. (line 208) +* magit-branch-read-upstream-first: Branching. (line 203) +* magit-buffer-name-format: Modes and Buffers. (line 150) +* magit-bury-buffer-function: Modes and Buffers. (line 215) +* magit-cherry-margin: Logging. (line 385) * magit-clone-always-transient: Cloning Repository. (line 12) * magit-clone-default-directory: Cloning Repository. (line 84) * magit-clone-name-alist: Cloning Repository. (line 94) * magit-clone-set-remote-head: Cloning Repository. (line 66) * magit-clone-set-remote.pushDefault: Cloning Repository. (line 75) * magit-clone-url-format: Cloning Repository. (line 114) -* magit-commit-ask-to-stage: Initiating a Commit. (line 65) -* magit-commit-diff-inhibit-same-window: Initiating a Commit. (line 97) -* magit-commit-extend-override-date: Initiating a Commit. (line 72) -* magit-commit-reword-override-date: Initiating a Commit. (line 75) -* magit-commit-show-diff: Initiating a Commit. (line 69) -* magit-commit-squash-confirm: Initiating a Commit. (line 78) -* magit-completing-read-function: Support for Completion Frameworks. - (line 27) -* magit-define-global-key-bindings: Global Bindings. (line 6) -* magit-diff-adjust-tab-width: Diff Options. (line 17) +* magit-commit-ask-to-stage: Committing. (line 75) +* magit-commit-diff-inhibit-same-window: Committing. (line 107) +* magit-commit-extend-override-date: Committing. (line 82) +* magit-commit-reword-override-date: Committing. (line 85) +* magit-commit-show-diff: Committing. (line 79) +* magit-commit-squash-confirm: Committing. (line 88) +* magit-completing-read-function: Completion Confirmation and the Selection. + (line 344) +* magit-define-global-key-bindings: Essential Settings. (line 239) +* magit-diff-adjust-tab-width: Diffing. (line 247) * magit-diff-buffer-file-locked: Commands for Buffers Visiting Files. (line 104) -* magit-diff-extra-stat-arguments: Diff Options. (line 112) -* magit-diff-hide-trailing-cr-characters: Diff Options. (line 77) -* magit-diff-highlight-hunk-region-functions: Diff Options. (line 80) -* magit-diff-highlight-indentation: Diff Options. (line 63) -* magit-diff-highlight-trailing: Diff Options. (line 59) -* magit-diff-paint-whitespace: Diff Options. (line 38) -* magit-diff-paint-whitespace-lines: Diff Options. (line 52) -* magit-diff-refine-hunk: Diff Options. (line 6) -* magit-diff-refine-ignore-whitespace: Diff Options. (line 13) -* magit-diff-unmarked-lines-keep-foreground: Diff Options. (line 105) -* magit-diff-visit-previous-blob: Visiting Files and Blobs from a Diff. - (line 38) +* magit-diff-extra-stat-arguments: Diffing. (line 342) +* magit-diff-hide-trailing-cr-characters: Diffing. (line 307) +* magit-diff-highlight-hunk-region-functions: Diffing. (line 310) +* magit-diff-highlight-indentation: Diffing. (line 293) +* magit-diff-highlight-trailing: Diffing. (line 289) +* magit-diff-paint-whitespace: Diffing. (line 268) +* magit-diff-paint-whitespace-lines: Diffing. (line 282) +* magit-diff-refine-hunk: Diffing. (line 236) +* magit-diff-refine-ignore-whitespace: Diffing. (line 243) +* magit-diff-unmarked-lines-keep-foreground: Diffing. (line 335) +* magit-diff-visit-previous-blob: Visiting Files and Blobs. + (line 69) * magit-direct-use-buffer-arguments: Transient Arguments and Buffer Variables. (line 73) -* magit-display-buffer-function: Switching Buffers. (line 25) -* magit-display-buffer-noselect: Switching Buffers. (line 17) -* magit-dwim-selection: Completion and Confirmation. - (line 42) +* magit-display-buffer-function: Modes and Buffers. (line 57) +* magit-display-buffer-noselect: Modes and Buffers. (line 49) +* magit-dwim-selection: Completion Confirmation and the Selection. + (line 222) * magit-ediff-dwim-resolve-function: Ediffing. (line 105) * magit-ediff-dwim-show-on-hunks: Ediffing. (line 111) * magit-ediff-quit-hook: Ediffing. (line 124) * magit-ediff-show-stash-with-index: Ediffing. (line 118) -* magit-generate-buffer-name-function: Naming Buffers. (line 6) -* magit-git-debug: Getting a Value from Git. - (line 68) -* magit-git-executable: Git Executable. (line 26) -* magit-git-global-arguments: Global Git Arguments. - (line 6) -* magit-keep-region-overlay: The Selection. (line 52) -* magit-list-refs-sortby: Additional Completion Options. - (line 6) -* magit-log-auto-more: Log Buffer. (line 69) +* magit-generate-buffer-name-function: Modes and Buffers. (line 131) +* magit-git-debug: Calling Git. (line 95) +* magit-git-executable: Running Git. (line 159) +* magit-git-global-arguments: Running Git. (line 199) +* magit-keep-region-overlay: Completion Confirmation and the Selection. + (line 294) +* magit-list-refs-sortby: Completion Confirmation and the Selection. + (line 415) +* magit-log-auto-more: Logging. (line 165) * magit-log-buffer-file-locked: Commands for Buffers Visiting Files. (line 124) -* magit-log-margin: Log Margin. (line 12) -* magit-log-margin-show-committer-date: Log Margin. (line 44) -* magit-log-section-commit-count: Status Sections. (line 118) -* magit-log-select-margin: Select from Log. (line 28) -* magit-log-show-color-graph-limit: Log Buffer. (line 78) -* magit-log-show-refname-after-summary: Log Buffer. (line 74) -* magit-log-show-signatures-limit: Log Buffer. (line 84) -* magit-log-trace-definition-function: Commands Available in Diffs. - (line 17) -* magit-module-sections-hook: Status Module Sections. - (line 19) -* magit-module-sections-nested: Status Module Sections. - (line 22) -* magit-no-confirm: Action Confirmation. (line 18) -* magit-pop-revision-stack-format: Using the Revision Stack. - (line 34) +* magit-log-margin: Logging. (line 223) +* magit-log-margin-show-committer-date: Logging. (line 255) +* magit-log-section-commit-count: Status Buffer. (line 229) +* magit-log-select-margin: Logging. (line 304) +* magit-log-show-color-graph-limit: Logging. (line 174) +* magit-log-show-refname-after-summary: Logging. (line 170) +* magit-log-show-signatures-limit: Logging. (line 180) +* magit-log-trace-definition-function: Diffing. (line 192) +* magit-module-sections-hook: Status Buffer. (line 331) +* magit-module-sections-nested: Status Buffer. (line 334) +* magit-no-confirm: Completion Confirmation and the Selection. + (line 21) +* magit-pop-revision-stack-format: Committing. (line 219) * magit-post-clone-hook: Cloning Repository. (line 133) -* magit-post-commit-hook: Initiating a Commit. (line 86) -* magit-post-display-buffer-hook: Switching Buffers. (line 85) -* magit-pre-display-buffer-hook: Switching Buffers. (line 76) -* magit-prefer-remote-upstream: Branch Git Variables. - (line 108) +* magit-post-commit-hook: Committing. (line 96) +* magit-post-display-buffer-hook: Modes and Buffers. (line 117) +* magit-pre-display-buffer-hook: Modes and Buffers. (line 108) +* magit-prefer-remote-upstream: Branching. (line 431) * magit-prefix-use-buffer-arguments: Transient Arguments and Buffer Variables. (line 65) -* magit-process-raise-error: Calling Git for Effect. - (line 125) +* magit-process-raise-error: Calling Git. (line 232) * magit-pull-or-fetch: Fetching. (line 52) -* magit-reflog-margin: Reflog. (line 20) +* magit-reflog-margin: Logging. (line 344) * magit-refresh-args: Refreshing Buffers. (line 52) -* magit-refresh-buffer-hook: Automatic Refreshing of Magit Buffers. - (line 41) +* magit-refresh-buffer-hook: Modes and Buffers. (line 280) * magit-refresh-function: Refreshing Buffers. (line 47) -* magit-refresh-status-buffer: Automatic Refreshing of Magit Buffers. - (line 46) +* magit-refresh-status-buffer: Modes and Buffers. (line 285) * magit-refs-filter-alist: References Buffer. (line 137) * magit-refs-focus-column-width: References Buffer. (line 75) * magit-refs-margin: References Buffer. (line 89) * magit-refs-margin-for-tags: References Buffer. (line 112) * magit-refs-pad-commit-counts: References Buffer. (line 45) * magit-refs-primary-column-width: References Buffer. (line 63) -* magit-refs-sections-hook: References Sections. (line 13) +* magit-refs-sections-hook: References Buffer. (line 241) * magit-refs-show-commit-count: References Buffer. (line 36) * magit-refs-show-remote-prefix: References Buffer. (line 57) -* magit-remote-add-set-remote.pushDefault: Remote Commands. (line 83) -* magit-remote-direct-configure: Remote Commands. (line 20) -* magit-remote-git-executable: Git Executable. (line 32) +* magit-remote-add-set-remote.pushDefault: Remotes. (line 86) +* magit-remote-direct-configure: Remotes. (line 23) +* magit-remote-git-executable: Running Git. (line 165) * magit-repolist-columns: Repository List. (line 12) * magit-repository-directories: Status Buffer. (line 57) -* magit-revision-filter-files-on-follow: Revision Buffer. (line 55) -* magit-revision-insert-related-refs: Revision Buffer. (line 6) -* magit-revision-show-gravatars: Revision Buffer. (line 15) -* magit-revision-use-hash-sections: Revision Buffer. (line 31) -* magit-root-section: Matching Sections. (line 81) -* magit-save-repository-buffers: Automatic Saving of File-Visiting Buffers. - (line 13) -* magit-section-cache-visibility: Section Visibility. (line 95) -* magit-section-initial-visibility-alist: Section Visibility. (line 79) -* magit-section-movement-hook: Section Movement. (line 41) -* magit-section-set-visibility-hook: Section Visibility. (line 105) -* magit-section-show-child-count: Section Options. (line 9) -* magit-section-visibility-indicator: Section Visibility. (line 122) -* magit-shell-command-verbose-prompt: Running Git Manually. - (line 43) -* magit-stashes-margin: Stashing. (line 133) -* magit-status-headers-hook: Status Header Sections. - (line 17) -* magit-status-margin: Status Options. (line 6) -* magit-status-sections-hook: Status Sections. (line 10) -* magit-submodule-list-columns: Listing Submodules. (line 20) -* magit-this-process: Calling Git for Effect. - (line 121) -* magit-uniquify-buffer-names: Naming Buffers. (line 65) +* magit-revision-filter-files-on-follow: Diffing. (line 404) +* magit-revision-insert-related-refs: Diffing. (line 355) +* magit-revision-show-gravatars: Diffing. (line 364) +* magit-revision-use-hash-sections: Diffing. (line 380) +* magit-root-section: Section Plumbing. (line 197) +* magit-save-repository-buffers: Modes and Buffers. (line 314) +* magit-section-cache-visibility: Sections. (line 219) +* magit-section-initial-visibility-alist: Sections. (line 203) +* magit-section-movement-hook: Sections. (line 57) +* magit-section-set-visibility-hook: Sections. (line 229) +* magit-section-show-child-count: Sections. (line 356) +* magit-section-visibility-indicator: Sections. (line 246) +* magit-shell-command-verbose-prompt: Running Git. (line 112) +* magit-stashes-margin: Stashing. (line 125) +* magit-status-headers-hook: Status Buffer. (line 264) +* magit-status-margin: Status Buffer. (line 375) +* magit-status-sections-hook: Status Buffer. (line 122) +* magit-submodule-list-columns: Submodules. (line 25) +* magit-this-process: Calling Git. (line 228) +* magit-uniquify-buffer-names: Modes and Buffers. (line 190) * magit-unstage-committed: Staging and Unstaging. (line 52) -* magit-update-other-window-delay: Section Movement. (line 97) +* magit-update-other-window-delay: Sections. (line 113) * magit-visit-ref-behavior: References Buffer. (line 168) -* magit-wip-after-apply-mode: Legacy Wip Modes. (line 18) -* magit-wip-after-apply-mode-lighter: Legacy Wip Modes. (line 54) -* magit-wip-after-save-local-mode-lighter: Legacy Wip Modes. (line 51) -* magit-wip-after-save-mode: Legacy Wip Modes. (line 13) -* magit-wip-before-change-mode: Legacy Wip Modes. (line 31) -* magit-wip-before-change-mode-lighter: Legacy Wip Modes. (line 57) -* magit-wip-initial-backup-mode: Legacy Wip Modes. (line 35) -* magit-wip-initial-backup-mode-lighter: Legacy Wip Modes. (line 60) -* magit-wip-merge-branch: Wip Graph. (line 6) +* magit-wip-after-apply-mode: Wip Modes. (line 172) +* magit-wip-after-apply-mode-lighter: Wip Modes. (line 208) +* magit-wip-after-save-local-mode-lighter: Wip Modes. (line 205) +* magit-wip-after-save-mode: Wip Modes. (line 167) +* magit-wip-before-change-mode: Wip Modes. (line 185) +* magit-wip-before-change-mode-lighter: Wip Modes. (line 211) +* magit-wip-initial-backup-mode: Wip Modes. (line 189) +* magit-wip-initial-backup-mode-lighter: Wip Modes. (line 214) +* magit-wip-merge-branch: Wip Modes. (line 104) * magit-wip-mode: Wip Modes. (line 30) * magit-wip-mode-lighter: Wip Modes. (line 98) * magit-wip-namespace: Wip Modes. (line 91) * notes.displayRef: Notes. (line 57) -* pull.rebase: Branch Git Variables. - (line 50) -* remote.NAME.fetch: Remote Git Variables. - (line 14) -* remote.NAME.push: Remote Git Variables. - (line 23) -* remote.NAME.pushurl: Remote Git Variables. - (line 18) -* remote.NAME.tagOpts: Remote Git Variables. - (line 27) -* remote.NAME.url: Remote Git Variables. - (line 10) -* remote.pushDefault: Branch Git Variables. - (line 62) +* pull.rebase: Branching. (line 373) +* remote.NAME.fetch: Remotes. (line 108) +* remote.NAME.push: Remotes. (line 117) +* remote.NAME.pushurl: Remotes. (line 112) +* remote.NAME.tagOpts: Remotes. (line 121) +* remote.NAME.url: Remotes. (line 104) +* remote.pushDefault: Branching. (line 385)  Tag Table: Node: Top774 -Node: Introduction6559 -Node: Installation11275 -Node: Installing from Melpa11605 -Node: Installing from the Git Repository12680 -Node: Post-Installation Tasks15494 -Node: Getting Started16777 -Node: Interface Concepts22588 -Node: Modes and Buffers22967 -Node: Switching Buffers24678 -Node: Naming Buffers29417 -Node: Quitting Windows32492 -Node: Automatic Refreshing of Magit Buffers34427 -Node: Automatic Saving of File-Visiting Buffers37308 -Node: Automatic Reverting of File-Visiting Buffers38492 -Node: Risk of Reverting Automatically43477 -Node: Sections45859 -Node: Section Movement46785 -Node: Section Visibility51659 -Node: Section Hooks58346 -Node: Section Types and Values60752 -Node: Section Options62167 -Node: Transient Commands62638 -Node: Transient Arguments and Buffer Variables64114 -Node: Completion Confirmation and the Selection71131 -Node: Action Confirmation71577 -Node: Completion and Confirmation80082 -Node: The Selection83267 -Node: The hunk-internal region86165 -Node: Support for Completion Frameworks87254 -Node: Additional Completion Options92139 -Node: Mouse Support92737 -Node: Running Git93313 -Node: Viewing Git Output93558 -Node: Git Process Status95541 -Node: Running Git Manually96506 -Node: Git Executable99196 -Node: Global Git Arguments102204 -Node: Inspecting103009 -Node: Status Buffer104166 -Node: Status Sections109177 -Node: Status Header Sections114904 -Node: Status Module Sections117523 -Node: Status Options120020 -Node: Repository List121383 -Node: Logging126161 -Node: Refreshing Logs129000 -Node: Log Buffer130421 -Node: Log Margin135244 -Node: Select from Log138397 -Node: Reflog140607 -Node: Cherries142244 -Node: Diffing144082 -Node: Refreshing Diffs148133 -Node: Commands Available in Diffs151822 -Node: Diff Options154335 -Node: Revision Buffer159798 -Node: Ediffing163118 -Node: References Buffer169168 -Node: References Sections179762 -Node: Bisecting180619 -Node: Visiting Files and Blobs182930 -Node: General-Purpose Visit Commands183458 -Node: Visiting Files and Blobs from a Diff184411 -Node: Blaming187855 -Node: Manipulating194843 -Node: Creating Repository195185 -Node: Cloning Repository195722 -Node: Staging and Unstaging202163 -Node: Staging from File-Visiting Buffers206136 -Node: Applying207242 -Node: Committing209315 -Node: Initiating a Commit209898 -Node: Editing Commit Messages215088 -Node: Using the Revision Stack217861 -Node: Commit Pseudo Headers220906 -Node: Commit Mode and Hooks222201 -Node: Commit Message Conventions225059 -Node: Branching227046 -Node: The Two Remotes227272 -Node: Branch Commands229925 -Node: Branch Git Variables242775 -Node: Auxiliary Branch Commands248145 -Node: Merging249261 -Node: Resolving Conflicts253417 -Node: Rebasing258791 -Node: Editing Rebase Sequences263580 -Node: Information About In-Progress Rebase267796 -Ref: Information About In-Progress Rebase-Footnote-1276909 -Node: Cherry Picking277505 -Node: Reverting281839 -Node: Resetting283258 -Node: Stashing285084 -Node: Transferring291861 -Node: Remotes292083 -Node: Remote Commands292235 -Node: Remote Git Variables296274 -Node: Fetching297545 -Node: Pulling300028 -Node: Pushing301054 -Node: Plain Patches305345 -Node: Maildir Patches306816 -Node: Miscellaneous308295 -Node: Tagging308641 -Node: Notes310534 -Node: Submodules312869 -Node: Listing Submodules313087 -Node: Submodule Transient315235 -Node: Subtree317680 -Node: Worktree319611 -Node: Sparse checkouts320687 -Node: Bundle323463 -Node: Common Commands323838 -Node: Wip Modes326466 -Node: Wip Graph331357 -Node: Legacy Wip Modes333670 -Node: Commands for Buffers Visiting Files336557 -Node: Minor Mode for Buffers Visiting Blobs344784 -Node: Customizing345582 -Node: Per-Repository Configuration347178 -Node: Essential Settings349432 -Node: Safety349778 -Node: Performance351539 -Ref: Log Performance354502 -Ref: Diff Performance355807 -Ref: Refs Buffer Performance357148 -Ref: Committing Performance357723 -Node: Microsoft Windows Performance358705 -Node: MacOS Performance359896 -Ref: MacOS Performance-Footnote-1360919 -Node: Global Bindings361001 -Node: Plumbing363229 -Node: Calling Git364058 -Node: Getting a Value from Git365583 -Node: Calling Git for Effect369311 -Node: Section Plumbing375205 -Node: Creating Sections375433 -Node: Section Selection379329 -Node: Matching Sections381125 -Node: Refreshing Buffers387046 -Node: Conventions390190 -Node: Theming Faces390382 -Node: FAQ398487 -Node: FAQ - How to ...?398925 -Node: How to pronounce Magit?399282 -Node: How to show git's output?400086 -Node: How to install the gitman info manual?400868 -Node: How to show diffs for gpg-encrypted files?401855 -Node: How does branching and pushing work?402451 -Node: Should I disable VC?402784 -Node: FAQ - Issues and Errors403387 -Node: Magit is slow404332 -Node: I changed several thousand files at once and now Magit is unusable404625 -Node: I am having problems committing405351 -Node: I am using MS Windows and cannot push with Magit405838 -Node: I am using macOS and SOMETHING works in shell but not in Magit406456 -Node: Expanding a file to show the diff causes it to disappear407290 -Node: Point is wrong in the COMMIT_EDITMSG buffer407878 -Node: The mode-line information isn't always up-to-date408927 -Node: A branch and tag sharing the same name breaks SOMETHING409990 -Node: My Git hooks work on the command-line but not inside Magit410877 -Node: git-commit-mode isn't used when committing from the command-line411723 -Node: Point ends up inside invisible text when jumping to a file-visiting buffer413994 -Node: I am no longer able to save popup defaults414843 -Node: Debugging Tools415824 -Node: Keystroke Index419763 -Node: Function and Command Index461377 -Node: Variable Index519870 +Node: Introduction3572 +Node: Installation8288 +Node: Installing from Melpa8618 +Node: Installing from the Git Repository9693 +Node: Post-Installation Tasks12507 +Node: Getting Started13790 +Node: Interface Concepts19601 +Node: Modes and Buffers19980 +Ref: Switching Buffers21482 +Ref: Naming Buffers26128 +Ref: Quitting Windows29085 +Ref: Automatic Refreshing of Magit Buffers30882 +Ref: Automatic Saving of File-Visiting Buffers33598 +Ref: Automatic Reverting of File-Visiting Buffers34589 +Ref: Risk of Reverting Automatically39381 +Node: Sections41652 +Ref: Section Movement42457 +Ref: Section Visibility47244 +Ref: Section Hooks53822 +Ref: Section Types and Values56111 +Ref: Section Options57412 +Node: Transient Commands57791 +Node: Transient Arguments and Buffer Variables59267 +Node: Completion Confirmation and the Selection66284 +Ref: Action Confirmation66545 +Ref: Completion and Confirmation74918 +Ref: The Selection77949 +Ref: The hunk-internal region80688 +Ref: Support for Completion Frameworks81612 +Ref: Additional Completion Options86316 +Node: Mouse Support86766 +Node: Running Git87342 +Ref: Viewing Git Output87462 +Ref: Git Process Status89353 +Ref: Running Git Manually90197 +Ref: Git Executable92770 +Ref: Global Git Arguments95659 +Node: Inspecting96374 +Node: Status Buffer97531 +Ref: Status Sections102439 +Ref: Status Header Sections108018 +Ref: Status Module Sections110511 +Ref: Status Options112883 +Node: Repository List114152 +Node: Logging118930 +Ref: Refreshing Logs121665 +Ref: Log Buffer123009 +Ref: Log Margin127736 +Ref: Select from Log130793 +Ref: Reflog132911 +Ref: Cherries134458 +Node: Diffing136230 +Ref: Refreshing Diffs140181 +Ref: Commands Available in Diffs143775 +Ref: Diff Options146172 +Ref: Revision Buffer151520 +Node: Ediffing154761 +Node: References Buffer160811 +Ref: References Sections171371 +Node: Bisecting172156 +Node: Visiting Files and Blobs174467 +Ref: General-Purpose Visit Commands174909 +Ref: Visiting Files and Blobs from a Diff175727 +Node: Blaming179036 +Node: Manipulating186024 +Node: Creating Repository186366 +Node: Cloning Repository186903 +Node: Staging and Unstaging193344 +Ref: Staging from File-Visiting Buffers197268 +Node: Applying198283 +Node: Committing200356 +Ref: Initiating a Commit200877 +Ref: Editing Commit Messages205970 +Ref: Using the Revision Stack208524 +Ref: Commit Pseudo Headers211456 +Ref: Commit Mode and Hooks212608 +Ref: Commit Message Conventions215321 +Node: Branching217193 +Ref: The Two Remotes217314 +Ref: Branch Commands219883 +Ref: Branch Git Variables232620 +Ref: Auxiliary Branch Commands237867 +Node: Merging238884 +Node: Resolving Conflicts243040 +Node: Rebasing248414 +Ref: Editing Rebase Sequences253123 +Ref: Information About In-Progress Rebase257226 +Ref: Rebasing-Footnote-1266226 +Node: Cherry Picking266822 +Ref: Reverting271132 +Node: Resetting272492 +Node: Stashing274318 +Node: Transferring280861 +Node: Remotes281083 +Ref: Remote Commands281180 +Ref: Remote Git Variables285132 +Node: Fetching286316 +Node: Pulling288799 +Node: Pushing289825 +Node: Plain Patches294116 +Node: Maildir Patches295587 +Node: Miscellaneous297066 +Node: Tagging297412 +Node: Notes299305 +Node: Submodules301640 +Ref: Listing Submodules301801 +Ref: Submodule Transient303857 +Node: Subtree306210 +Node: Worktree308141 +Node: Sparse checkouts309217 +Node: Bundle311993 +Node: Common Commands312368 +Node: Wip Modes314996 +Ref: Wip Graph319842 +Ref: Legacy Wip Modes322076 +Node: Commands for Buffers Visiting Files324884 +Node: Minor Mode for Buffers Visiting Blobs333111 +Node: Customizing333909 +Node: Per-Repository Configuration335505 +Node: Essential Settings337759 +Ref: Safety338048 +Ref: Performance339729 +Ref: Log Performance342522 +Ref: Diff Performance343827 +Ref: Refs Buffer Performance345168 +Ref: Committing Performance345743 +Ref: Microsoft Windows Performance346725 +Ref: MacOS Performance347814 +Ref: Global Bindings348699 +Ref: Essential Settings-Footnote-1350874 +Node: Plumbing350956 +Node: Calling Git351785 +Ref: Getting a Value from Git353244 +Ref: Calling Git for Effect356870 +Node: Section Plumbing362662 +Ref: Creating Sections362814 +Ref: Section Selection366615 +Ref: Matching Sections368290 +Node: Refreshing Buffers374116 +Node: Conventions377260 +Ref: Theming Faces377424 +Node: FAQ385469 +Node: FAQ - How to ...?385907 +Ref: How to pronounce Magit?386040 +Ref: How to show git's output?386734 +Ref: How to install the gitman info manual?387359 +Ref: How to show diffs for gpg-encrypted files?388170 +Ref: How does branching and pushing work?388579 +Ref: Should I disable VC?388743 +Node: FAQ - Issues and Errors389228 +Ref: Magit is slow389373 +Ref: I changed several thousand files at once and now Magit is unusable389519 +Ref: I am having problems committing390058 +Ref: I am using MS Windows and cannot push with Magit390323 +Ref: I am using macOS and SOMETHING works in shell but not in Magit390723 +Ref: Expanding a file to show the diff causes it to disappear391314 +Ref: Point is wrong in the COMMIT_EDITMSG buffer391664 +Ref: The mode-line information isn't always up-to-date392488 +Ref: A branch and tag sharing the same name breaks SOMETHING393327 +Ref: My Git hooks work on the command-line but not inside Magit393975 +Ref: git-commit-mode isn't used when committing from the command-line394567 +Ref: Point ends up inside invisible text when jumping to a file-visiting buffer396565 +Ref: I am no longer able to save popup defaults397157 +Node: Debugging Tools397954 +Node: Keystroke Index401893 +Node: Function and Command Index439697 +Node: Variable Index491061  End Tag Table diff --git a/elpa/magit-section-20241217.845/dir b/elpa/magit-section-20250107.641/dir similarity index 100% rename from elpa/magit-section-20241217.845/dir rename to elpa/magit-section-20250107.641/dir diff --git a/elpa/magit-section-20241217.845/magit-section-autoloads.el b/elpa/magit-section-20250107.641/magit-section-autoloads.el similarity index 100% rename from elpa/magit-section-20241217.845/magit-section-autoloads.el rename to elpa/magit-section-20250107.641/magit-section-autoloads.el diff --git a/elpa/magit-section-20241217.845/magit-section-pkg.el b/elpa/magit-section-20250107.641/magit-section-pkg.el similarity index 70% rename from elpa/magit-section-20241217.845/magit-section-pkg.el rename to elpa/magit-section-20250107.641/magit-section-pkg.el index 9b2cd0ca..241be969 100644 --- a/elpa/magit-section-20241217.845/magit-section-pkg.el +++ b/elpa/magit-section-20250107.641/magit-section-pkg.el @@ -1,13 +1,13 @@ ;; -*- no-byte-compile: t; lexical-binding: nil -*- -(define-package "magit-section" "20241217.845" +(define-package "magit-section" "20250107.641" "Sections for read-only buffers." '((emacs "27.1") - (compat "30.0.0.0") + (compat "30.0.1.0") (dash "2.19.1") (seq "2.24")) :url "https://github.com/magit/magit" - :commit "c1a86066e8d20b5b54d4c3df0c044c4b9a99a30e" - :revdesc "c1a86066e8d2" + :commit "3ec4a182a602ac890844588ab39829912f0e168d" + :revdesc "3ec4a182a602" :keywords '("tools") :authors '(("Jonas Bernoulli" . "emacs.magit@jonas.bernoulli.dev")) :maintainers '(("Jonas Bernoulli" . "emacs.magit@jonas.bernoulli.dev"))) diff --git a/elpa/magit-section-20241217.845/magit-section.el b/elpa/magit-section-20250107.641/magit-section.el similarity index 98% rename from elpa/magit-section-20241217.845/magit-section.el rename to elpa/magit-section-20250107.641/magit-section.el index f2205817..014f020a 100644 --- a/elpa/magit-section-20241217.845/magit-section.el +++ b/elpa/magit-section-20250107.641/magit-section.el @@ -1,6 +1,6 @@ ;;; magit-section.el --- Sections for read-only buffers -*- lexical-binding:t; coding:utf-8 -*- -;; Copyright (C) 2008-2024 The Magit Project Contributors +;; Copyright (C) 2008-2025 The Magit Project Contributors ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli @@ -8,11 +8,11 @@ ;; Homepage: https://github.com/magit/magit ;; Keywords: tools -;; Package-Version: 20241217.845 -;; Package-Revision: c1a86066e8d2 +;; Package-Version: 20250107.641 +;; Package-Revision: 3ec4a182a602 ;; Package-Requires: ( ;; (emacs "27.1") -;; (compat "30.0.0.0") +;; (compat "30.0.1.0") ;; (dash "2.19.1") ;; (seq "2.24")) @@ -100,6 +100,9 @@ similar defect.") ;; For `magit-section-get-relative-position' (declare-function magit-hunk-section-p "magit-diff" (section) t) +(define-obsolete-variable-alias 'magit-keep-region-overlay + 'magit-section-keep-region-overlay "Magit-Section 4.0.0") + ;;; Hooks (defvar magit-section-movement-hook nil @@ -107,8 +110,8 @@ similar defect.") That function in turn is used by all section movement commands.") (defvar magit-section-highlight-hook - '(magit-section-highlight - magit-section-highlight-selection) + (list #'magit-section-highlight + #'magit-section-highlight-selection) "Functions used to highlight the current section. Each function is run with the current section as only argument until one of them returns non-nil.") @@ -121,7 +124,7 @@ unhighlighted without requiring a specialized unhighlighter, diff-related sections being the only exception.") (defvar magit-section-set-visibility-hook - '(magit-section-cached-visibility) + (list #'magit-section-cached-visibility) "Hook used to set the initial visibility of a section. Stop at the first function that returns non-nil. The returned value should be `show', `hide' or nil. If no function returns @@ -235,9 +238,6 @@ Otherwise the value has to have one of these two forms: (const :tag "Yes (potentially slow)" t) (const :tag "No (kinda ugly)" nil))))) -(define-obsolete-variable-alias 'magit-keep-region-overlay - 'magit-section-keep-region-overlay "Magit-Section 4.0.0") - (defcustom magit-section-keep-region-overlay nil "Whether to keep the region overlay when there is a valid selection. @@ -1621,9 +1621,7 @@ is explicitly expanded." (setq map (symbol-value map))) (put-text-property start - (save-excursion - (goto-char start) - (line-end-position)) + (magit--eol-position start) 'keymap (if map (make-composed-keymap (list map magit-section-heading-map)) @@ -1914,9 +1912,7 @@ When `magit-section-preserve-visibility' is nil, do nothing." (when (and magit-section-visibility-indicator (magit-section-content-p section)) (let* ((beg (oref section start)) - (eoh (save-excursion - (goto-char beg) - (line-end-position)))) + (eoh (magit--eol-position beg))) (cond ((symbolp (car-safe magit-section-visibility-indicator)) (let ((ov (magit--overlay-at beg 'magit-vis-indicator 'fringe))) @@ -1984,9 +1980,7 @@ When `magit-section-preserve-visibility' is nil, do nothing." (= (oref section content) (oref section end))) (dolist (o (overlays-in (oref section start) - (save-excursion - (goto-char (oref section start)) - (1+ (line-end-position))))) + (1+ (magit--eol-position (oref section start))))) (when (overlay-get o 'magit-vis-indicator) (delete-overlay o))))) @@ -2288,6 +2282,26 @@ Configuration'." (put-text-property beg end 'face face string) (put-text-property beg end 'font-lock-face face string)) +(defun magit--bolp (pos) + "Return t if POS is at the beginning of a line. +This is like moving to POS and then calling `bolp'." + (save-excursion (goto-char pos) (bolp))) + +(defun magit--eolp (pos) + "Return t if POS is at the end of a line. +This is like moving to POS and then calling `eolp'." + (save-excursion (goto-char pos) (bolp))) + +(defun magit--bol-position (pos) + "Return the position at the beginning of the line containing POS. +This is like moving to POS and then calling `pos-bol'." + (save-excursion (goto-char pos) (pos-bol))) + +(defun magit--eol-position (pos) + "Return the position at the end of the line containing POS. +This is like moving to POS and then calling `pos-eol'." + (save-excursion (goto-char pos) (pos-eol))) + ;;; Imenu Support (defvar-local magit--imenu-group-types nil) diff --git a/elpa/magit-section-20241217.845/magit-section.info b/elpa/magit-section-20250107.641/magit-section.info similarity index 99% rename from elpa/magit-section-20241217.845/magit-section.info rename to elpa/magit-section-20250107.641/magit-section.info index e4c1ec60..e7e9adea 100644 --- a/elpa/magit-section-20241217.845/magit-section.info +++ b/elpa/magit-section-20250107.641/magit-section.info @@ -1,7 +1,7 @@ This is magit-section.info, produced by makeinfo version 6.8 from magit-section.texi. - Copyright (C) 2015-2024 Jonas Bernoulli + Copyright (C) 2015-2025 Jonas Bernoulli You can redistribute this document and/or modify it under the terms @@ -34,9 +34,9 @@ packages that have nothing to do with Magit or Git. and user options see *note (magit)Sections::. This manual documents how you can use sections in your own packages. -This manual is for Magit-Section version 4.1.3. +This manual is for Magit-Section version 4.2.0. - Copyright (C) 2015-2024 Jonas Bernoulli + Copyright (C) 2015-2025 Jonas Bernoulli You can redistribute this document and/or modify it under the terms -- 2.47.3