From 63892cd1f45bb0a79e460662e10881fef5ed8357 Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Fri, 27 Dec 2024 12:17:55 +0100 Subject: [PATCH] update magit Signed-off-by: Andreas Gerler --- .../AUTHORS.md | 0 .../LICENSE | 0 .../dir | 0 .../git-commit.el | 0 .../git-rebase.el | 0 .../magit-apply.el | 0 .../magit-autoloads.el | 0 .../magit-autorevert.el | 0 .../magit-base.el | 0 .../magit-bisect.el | 0 .../magit-blame.el | 0 .../magit-bookmark.el | 0 .../magit-branch.el | 0 .../magit-bundle.el | 0 .../magit-clone.el | 0 .../magit-commit.el | 0 .../magit-core.el | 0 .../magit-diff.el | 0 .../magit-ediff.el | 0 .../magit-extras.el | 0 .../magit-fetch.el | 0 .../magit-files.el | 0 .../magit-git.el | 199 ++++---- .../magit-gitignore.el | 0 .../magit-log.el | 0 .../magit-margin.el | 0 .../magit-merge.el | 0 .../magit-mode.el | 0 .../magit-notes.el | 0 .../magit-patch.el | 0 .../magit-pkg.el | 6 +- .../magit-process.el | 48 +- .../magit-pull.el | 0 .../magit-push.el | 0 .../magit-reflog.el | 0 .../magit-refs.el | 0 .../magit-remote.el | 0 .../magit-repos.el | 2 +- .../magit-reset.el | 0 .../magit-sequence.el | 0 .../magit-sparse-checkout.el | 0 .../magit-stash.el | 0 .../magit-status.el | 0 .../magit-submodule.el | 12 +- .../magit-subtree.el | 0 .../magit-tag.el | 0 .../magit-transient.el | 0 .../magit-wip.el | 0 .../magit-worktree.el | 0 .../magit.el | 4 +- .../magit.info | 450 +++++++++--------- 51 files changed, 354 insertions(+), 367 deletions(-) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/AUTHORS.md (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/LICENSE (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/dir (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/git-commit.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/git-rebase.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-apply.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-autoloads.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-autorevert.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-base.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-bisect.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-blame.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-bookmark.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-branch.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-bundle.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-clone.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-commit.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-core.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-diff.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-ediff.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-extras.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-fetch.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-files.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-git.el (95%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-gitignore.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-log.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-margin.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-merge.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-mode.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-notes.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-patch.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-pkg.el (83%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-process.el (97%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-pull.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-push.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-reflog.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-refs.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-remote.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-repos.el (99%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-reset.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-sequence.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-sparse-checkout.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-stash.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-status.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-submodule.el (98%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-subtree.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-tag.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-transient.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-wip.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit-worktree.el (100%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit.el (99%) rename elpa/{magit-20241221.1030 => magit-20241223.2133}/magit.info (98%) diff --git a/elpa/magit-20241221.1030/AUTHORS.md b/elpa/magit-20241223.2133/AUTHORS.md similarity index 100% rename from elpa/magit-20241221.1030/AUTHORS.md rename to elpa/magit-20241223.2133/AUTHORS.md diff --git a/elpa/magit-20241221.1030/LICENSE b/elpa/magit-20241223.2133/LICENSE similarity index 100% rename from elpa/magit-20241221.1030/LICENSE rename to elpa/magit-20241223.2133/LICENSE diff --git a/elpa/magit-20241221.1030/dir b/elpa/magit-20241223.2133/dir similarity index 100% rename from elpa/magit-20241221.1030/dir rename to elpa/magit-20241223.2133/dir diff --git a/elpa/magit-20241221.1030/git-commit.el b/elpa/magit-20241223.2133/git-commit.el similarity index 100% rename from elpa/magit-20241221.1030/git-commit.el rename to elpa/magit-20241223.2133/git-commit.el diff --git a/elpa/magit-20241221.1030/git-rebase.el b/elpa/magit-20241223.2133/git-rebase.el similarity index 100% rename from elpa/magit-20241221.1030/git-rebase.el rename to elpa/magit-20241223.2133/git-rebase.el diff --git a/elpa/magit-20241221.1030/magit-apply.el b/elpa/magit-20241223.2133/magit-apply.el similarity index 100% rename from elpa/magit-20241221.1030/magit-apply.el rename to elpa/magit-20241223.2133/magit-apply.el diff --git a/elpa/magit-20241221.1030/magit-autoloads.el b/elpa/magit-20241223.2133/magit-autoloads.el similarity index 100% rename from elpa/magit-20241221.1030/magit-autoloads.el rename to elpa/magit-20241223.2133/magit-autoloads.el diff --git a/elpa/magit-20241221.1030/magit-autorevert.el b/elpa/magit-20241223.2133/magit-autorevert.el similarity index 100% rename from elpa/magit-20241221.1030/magit-autorevert.el rename to elpa/magit-20241223.2133/magit-autorevert.el diff --git a/elpa/magit-20241221.1030/magit-base.el b/elpa/magit-20241223.2133/magit-base.el similarity index 100% rename from elpa/magit-20241221.1030/magit-base.el rename to elpa/magit-20241223.2133/magit-base.el diff --git a/elpa/magit-20241221.1030/magit-bisect.el b/elpa/magit-20241223.2133/magit-bisect.el similarity index 100% rename from elpa/magit-20241221.1030/magit-bisect.el rename to elpa/magit-20241223.2133/magit-bisect.el diff --git a/elpa/magit-20241221.1030/magit-blame.el b/elpa/magit-20241223.2133/magit-blame.el similarity index 100% rename from elpa/magit-20241221.1030/magit-blame.el rename to elpa/magit-20241223.2133/magit-blame.el diff --git a/elpa/magit-20241221.1030/magit-bookmark.el b/elpa/magit-20241223.2133/magit-bookmark.el similarity index 100% rename from elpa/magit-20241221.1030/magit-bookmark.el rename to elpa/magit-20241223.2133/magit-bookmark.el diff --git a/elpa/magit-20241221.1030/magit-branch.el b/elpa/magit-20241223.2133/magit-branch.el similarity index 100% rename from elpa/magit-20241221.1030/magit-branch.el rename to elpa/magit-20241223.2133/magit-branch.el diff --git a/elpa/magit-20241221.1030/magit-bundle.el b/elpa/magit-20241223.2133/magit-bundle.el similarity index 100% rename from elpa/magit-20241221.1030/magit-bundle.el rename to elpa/magit-20241223.2133/magit-bundle.el diff --git a/elpa/magit-20241221.1030/magit-clone.el b/elpa/magit-20241223.2133/magit-clone.el similarity index 100% rename from elpa/magit-20241221.1030/magit-clone.el rename to elpa/magit-20241223.2133/magit-clone.el diff --git a/elpa/magit-20241221.1030/magit-commit.el b/elpa/magit-20241223.2133/magit-commit.el similarity index 100% rename from elpa/magit-20241221.1030/magit-commit.el rename to elpa/magit-20241223.2133/magit-commit.el diff --git a/elpa/magit-20241221.1030/magit-core.el b/elpa/magit-20241223.2133/magit-core.el similarity index 100% rename from elpa/magit-20241221.1030/magit-core.el rename to elpa/magit-20241223.2133/magit-core.el diff --git a/elpa/magit-20241221.1030/magit-diff.el b/elpa/magit-20241223.2133/magit-diff.el similarity index 100% rename from elpa/magit-20241221.1030/magit-diff.el rename to elpa/magit-20241223.2133/magit-diff.el diff --git a/elpa/magit-20241221.1030/magit-ediff.el b/elpa/magit-20241223.2133/magit-ediff.el similarity index 100% rename from elpa/magit-20241221.1030/magit-ediff.el rename to elpa/magit-20241223.2133/magit-ediff.el diff --git a/elpa/magit-20241221.1030/magit-extras.el b/elpa/magit-20241223.2133/magit-extras.el similarity index 100% rename from elpa/magit-20241221.1030/magit-extras.el rename to elpa/magit-20241223.2133/magit-extras.el diff --git a/elpa/magit-20241221.1030/magit-fetch.el b/elpa/magit-20241223.2133/magit-fetch.el similarity index 100% rename from elpa/magit-20241221.1030/magit-fetch.el rename to elpa/magit-20241223.2133/magit-fetch.el diff --git a/elpa/magit-20241221.1030/magit-files.el b/elpa/magit-20241223.2133/magit-files.el similarity index 100% rename from elpa/magit-20241221.1030/magit-files.el rename to elpa/magit-20241223.2133/magit-files.el diff --git a/elpa/magit-20241221.1030/magit-git.el b/elpa/magit-20241223.2133/magit-git.el similarity index 95% rename from elpa/magit-20241221.1030/magit-git.el rename to elpa/magit-20241223.2133/magit-git.el index b396f21a..356f42a7 100644 --- a/elpa/magit-20241221.1030/magit-git.el +++ b/elpa/magit-20241223.2133/magit-git.el @@ -225,37 +225,23 @@ framework ultimately determines how the collection is displayed." ;;; Git -(defvar magit-git-debug nil - "Whether to enable additional reporting of git errors. +(defvar magit-git-debug nil) + +(defun magit-toggle-git-debug () + "Toggle whether additional git errors are reported. Magit basically calls git for one of these two reasons: for side-effects or to do something with its standard output. When git is run for side-effects then its output, including error -messages, go into the process buffer which is shown when using \ -\\\\[magit-process-buffer]. +messages, go into the process buffer which is shown when using ~$~. When git's output is consumed in some way, then it would be too -expensive to also insert it into this buffer, but when this -option is non-nil and git returns with a non-zero exit status, -then at least its standard error is inserted into this buffer. - -This is only intended for debugging purposes. Do not enable this -permanently, that would negatively affect performance. Also note -that just because git exits with a non-zero exit status and prints -an error message that usually doesn't mean that it is an error as -far as Magit is concerned, which is another reason we usually hide -these error messages. Whether some error message is relevant in -the context of some unexpected behavior has to be judged on a case -by case basis. - -The command `magit-toggle-git-debug' changes the value of this -variable. - -Also see `magit-process-extreme-logging'.") +expensive to also insert it into this buffer, but with this command +that can be enabled temporarily. In that case, if git returns with +a non-zero exit status, then at least its standard error is inserted +into this buffer. -(defun magit-toggle-git-debug () - "Toggle whether additional git errors are reported. See info node `(magit)Debugging Tools' for more information." (interactive) (setq magit-git-debug (not magit-git-debug)) @@ -1995,8 +1981,9 @@ SORTBY is a key or list of keys to pass to the `--sort' flag of (defun magit-list-special-refnames () (let ((gitdir (magit-gitdir))) - (seq-keep (lambda (name) (file-exists-p (expand-file-name name gitdir))) - magit-special-refnames))) + (cl-remove-if-not (lambda (name) + (file-exists-p (expand-file-name name gitdir))) + magit-special-refnames))) (defun magit-list-branch-names () (magit-list-refnames (list "refs/heads" "refs/remotes"))) @@ -2316,95 +2303,87 @@ and this option only controls what face is used.") (defun magit-format-ref-labels (string) (save-match-data - (let ((regexp "\\(, \\|tag: \\|HEAD -> \\)") - names) - (if (and (derived-mode-p 'magit-log-mode) - (member "--simplify-by-decoration" magit-buffer-log-args)) - (let ((branches (magit-list-local-branch-names)) - (re (format "^%s/.+" (regexp-opt (magit-list-remotes))))) - (setq names - (--map (cond ((string-equal it "HEAD") it) - ((string-prefix-p "refs/" it) it) - ((member it branches) (concat "refs/heads/" it)) - ((string-match re it) (concat "refs/remotes/" it)) - (t (concat "refs/" it))) - (split-string - (string-replace "tag: " "refs/tags/" string) - regexp t)))) - (setq names (split-string string regexp t))) - (let (state head upstream tags branches remotes other combined) - (dolist (ref names) - (let* ((face (cdr (--first (string-match (car it) ref) - magit-ref-namespaces))) - (name (magit--propertize-face - (or (match-string 1 ref) ref) face))) - (cl-case face - ((magit-bisect-bad magit-bisect-skip magit-bisect-good) - (setq state name)) - (magit-head - (setq head (magit--propertize-face "@" 'magit-head))) - (magit-tag (push name tags)) - (magit-branch-local (push name branches)) - (magit-branch-remote (push name remotes)) - (t (push name other))))) - (setq remotes - (seq-keep - (lambda (name) - (if (string-match "\\`\\([^/]*\\)/\\(.*\\)\\'" name) - (let ((r (match-string 1 name)) - (b (match-string 2 name))) - (and (not (equal b "HEAD")) - (if (equal (concat "refs/remotes/" name) - (magit-git-string - "symbolic-ref" - (format "refs/remotes/%s/HEAD" r))) - (magit--propertize-face - name 'magit-branch-remote-head) - name))) - name)) - remotes)) - (let* ((current (magit-get-current-branch)) - (target (magit-get-upstream-branch current))) - (dolist (name branches) - (let ((push (car (member (magit-get-push-branch name) remotes)))) - (when push - (setq remotes (delete push remotes)) - (string-match "^[^/]*/" push) - (setq push (substring push 0 (match-end 0)))) - (cond - ((equal name current) - (setq head - (concat push + (let ((refs (split-string + (replace-regexp-in-string "\\(tag: \\|HEAD -> \\)" "" string) + ", " t)) + state head upstream tags branches remotes other combined) + (dolist (ref refs) + (let* ((face (cdr (--first (string-match (car it) ref) + magit-ref-namespaces))) + (name (match-string 1 ref)) + (name (if (and name + (not (string-prefix-p "refs/tags/" ref)) + (magit-rev-verify (concat "refs/tags/" name))) + (magit-ref-abbrev ref) + (or name ref))) + (name (magit--propertize-face name face))) + (cl-case face + ((magit-bisect-bad magit-bisect-skip magit-bisect-good) + (setq state name)) + (magit-head + (setq head (magit--propertize-face "@" 'magit-head))) + (magit-tag (push name tags)) + (magit-branch-local (push name branches)) + (magit-branch-remote (push name remotes)) + (t (push name other))))) + (setq remotes + (seq-keep + (lambda (name) + (if (string-match "\\`\\([^/]*\\)/\\(.*\\)\\'" name) + (let ((r (match-string 1 name)) + (b (match-string 2 name))) + (and (not (equal b "HEAD")) + (if (equal (concat "refs/remotes/" name) + (magit-git-string + "symbolic-ref" + (format "refs/remotes/%s/HEAD" r))) (magit--propertize-face - name 'magit-branch-current)))) - ((equal name target) - (setq upstream - (concat push - (magit--propertize-face - name '(magit-branch-upstream - magit-branch-local))))) - (t - (push (concat push name) combined))))) - (when (and target (not upstream)) - (if (member target remotes) - (progn - (magit--add-face-text-property - 0 (length target) 'magit-branch-upstream nil target) - (setq upstream target) - (setq remotes (delete target remotes))) - (when-let ((target (car (member target combined)))) + name 'magit-branch-remote-head) + name))) + name)) + remotes)) + (let* ((current (magit-get-current-branch)) + (target (magit-get-upstream-branch current))) + (dolist (name branches) + (let ((push (car (member (magit-get-push-branch name) remotes)))) + (when push + (setq remotes (delete push remotes)) + (string-match "^[^/]*/" push) + (setq push (substring push 0 (match-end 0)))) + (cond + ((equal name current) + (setq head + (concat push + (magit--propertize-face + name 'magit-branch-current)))) + ((equal name target) + (setq upstream + (concat push + (magit--propertize-face + name '(magit-branch-upstream + magit-branch-local))))) + (t + (push (concat push name) combined))))) + (when (and target (not upstream)) + (if (member target remotes) + (progn (magit--add-face-text-property 0 (length target) 'magit-branch-upstream nil target) (setq upstream target) - (setq combined (delete target combined)))))) - (string-join (flatten-tree `(,state - ,head - ,upstream - ,@(nreverse tags) - ,@(nreverse combined) - ,@(nreverse remotes) - ,@other)) - " "))))) + (setq remotes (delete target remotes))) + (when-let ((target (car (member target combined)))) + (magit--add-face-text-property + 0 (length target) 'magit-branch-upstream nil target) + (setq upstream target) + (setq combined (delete target combined)))))) + (string-join (flatten-tree `(,state + ,head + ,upstream + ,@(nreverse tags) + ,@(nreverse combined) + ,@(nreverse remotes) + ,@other)) + " ")))) (defun magit-object-type (object) (magit-git-string "cat-file" "-t" object)) diff --git a/elpa/magit-20241221.1030/magit-gitignore.el b/elpa/magit-20241223.2133/magit-gitignore.el similarity index 100% rename from elpa/magit-20241221.1030/magit-gitignore.el rename to elpa/magit-20241223.2133/magit-gitignore.el diff --git a/elpa/magit-20241221.1030/magit-log.el b/elpa/magit-20241223.2133/magit-log.el similarity index 100% rename from elpa/magit-20241221.1030/magit-log.el rename to elpa/magit-20241223.2133/magit-log.el diff --git a/elpa/magit-20241221.1030/magit-margin.el b/elpa/magit-20241223.2133/magit-margin.el similarity index 100% rename from elpa/magit-20241221.1030/magit-margin.el rename to elpa/magit-20241223.2133/magit-margin.el diff --git a/elpa/magit-20241221.1030/magit-merge.el b/elpa/magit-20241223.2133/magit-merge.el similarity index 100% rename from elpa/magit-20241221.1030/magit-merge.el rename to elpa/magit-20241223.2133/magit-merge.el diff --git a/elpa/magit-20241221.1030/magit-mode.el b/elpa/magit-20241223.2133/magit-mode.el similarity index 100% rename from elpa/magit-20241221.1030/magit-mode.el rename to elpa/magit-20241223.2133/magit-mode.el diff --git a/elpa/magit-20241221.1030/magit-notes.el b/elpa/magit-20241223.2133/magit-notes.el similarity index 100% rename from elpa/magit-20241221.1030/magit-notes.el rename to elpa/magit-20241223.2133/magit-notes.el diff --git a/elpa/magit-20241221.1030/magit-patch.el b/elpa/magit-20241223.2133/magit-patch.el similarity index 100% rename from elpa/magit-20241221.1030/magit-patch.el rename to elpa/magit-20241223.2133/magit-patch.el diff --git a/elpa/magit-20241221.1030/magit-pkg.el b/elpa/magit-20241223.2133/magit-pkg.el similarity index 83% rename from elpa/magit-20241221.1030/magit-pkg.el rename to elpa/magit-20241223.2133/magit-pkg.el index f6008ca6..412fd7cf 100644 --- a/elpa/magit-20241221.1030/magit-pkg.el +++ b/elpa/magit-20241223.2133/magit-pkg.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; lexical-binding: nil -*- -(define-package "magit" "20241221.1030" +(define-package "magit" "20241223.2133" "A Git porcelain inside Emacs." '((emacs "27.1") (compat "30.0.0.0") @@ -9,8 +9,8 @@ (transient "20241217") (with-editor "3.4.3")) :url "https://github.com/magit/magit" - :commit "f4c05e9cd44ac1c881e834290479616244bfdb66" - :revdesc "f4c05e9cd44a" + :commit "692cc5e7696f9de6fce4a2e076eb51507809aaf3" + :revdesc "692cc5e7696f" :keywords '("git" "tools" "vc") :authors '(("Marius Vollmer" . "marius.vollmer@gmail.com") ("Jonas Bernoulli" . "emacs.magit@jonas.bernoulli.dev")) diff --git a/elpa/magit-20241221.1030/magit-process.el b/elpa/magit-20241223.2133/magit-process.el similarity index 97% rename from elpa/magit-20241221.1030/magit-process.el rename to elpa/magit-20241223.2133/magit-process.el index 953086b9..6570b776 100644 --- a/elpa/magit-20241221.1030/magit-process.el +++ b/elpa/magit-20241223.2133/magit-process.el @@ -38,6 +38,7 @@ (require 'auth-source) (require 'with-editor) +(defvar messages-buffer-name) (defvar y-or-n-p-map) ;;; Options @@ -92,16 +93,6 @@ When this is nil, no sections are ever removed." :group 'magit-process :type '(choice (const :tag "Never remove old sections" nil) integer)) -(defvar magit-process-extreme-logging nil - "Whether `magit-process-file' logs to the *Messages* buffer. - -Only intended for temporary use when you try to figure out how -Magit uses Git behind the scene. Output that normally goes to -the magit-process buffer continues to go there. Not all output -goes to either of these two buffers. - -Also see `magit-git-debug'.") - (defcustom magit-process-error-tooltip-max-lines 20 "The number of lines for `magit-process-error-lines' to return. @@ -371,6 +362,27 @@ optional NODISPLAY is non-nil also display it." (defvar magit-process-raise-error nil) +(defvar magit-process-record-invocations nil) +(defvar magit-process-record-buffer-name " *magit-process-file record*") +(defvar magit-process-record-entry-format "%T %%d $ %%a") + +(defun magit-toggle-subprocess-record () + "Toggle whether subprocess invocations are recorded. + +When enabled, all subprocesses started by `magit-process-file' are +logged into the buffer specified by `magit-process-record-buffer-name' +using the format `magit-process-record-entry-format'. This is for +debugging purposes. + +This is in addition to and distinct from the default logging done by +default, and additional logging enabled with ~magit-toggle-git-debug~. + +For alternatives, see info node `(magit)Debugging Tools'." + (interactive) + (setq magit-process-record-invocations (not magit-process-record-invocations)) + (message "Recording of subprocess invocations %s" + (if magit-process-record-invocations "enabled" "disabled"))) + (defun magit-git (&rest args) "Call Git synchronously in a separate process, for side-effects. @@ -446,12 +458,16 @@ ensure unix eol conversion." (defun magit-process-file (process &optional infile buffer display &rest args) "Process files synchronously in a separate process. -Identical to `process-file' but temporarily enable Cygwin's -\"noglob\" option during the call and ensure unix eol -conversion." - (when magit-process-extreme-logging - (let ((inhibit-message t)) - (message "$ %s" (magit-process--format-arguments process args)))) +Similar to `process-file' but temporarily enable Cygwin's +\"noglob\" option during the call and ensure unix eol conversion." + (when magit-process-record-invocations + (let ((messages-buffer-name magit-process-record-buffer-name) + (inhibit-message t)) + (message "%s" + (format-spec + (format-time-string magit-process-record-entry-format) + `((?d . ,(abbreviate-file-name default-directory)) + (?a . ,(magit-process--format-arguments process args))))))) (let ((process-environment (magit-process-environment)) (default-process-coding-system (magit--process-coding-system))) (apply #'process-file process infile buffer display args))) diff --git a/elpa/magit-20241221.1030/magit-pull.el b/elpa/magit-20241223.2133/magit-pull.el similarity index 100% rename from elpa/magit-20241221.1030/magit-pull.el rename to elpa/magit-20241223.2133/magit-pull.el diff --git a/elpa/magit-20241221.1030/magit-push.el b/elpa/magit-20241223.2133/magit-push.el similarity index 100% rename from elpa/magit-20241221.1030/magit-push.el rename to elpa/magit-20241223.2133/magit-push.el diff --git a/elpa/magit-20241221.1030/magit-reflog.el b/elpa/magit-20241223.2133/magit-reflog.el similarity index 100% rename from elpa/magit-20241221.1030/magit-reflog.el rename to elpa/magit-20241223.2133/magit-reflog.el diff --git a/elpa/magit-20241221.1030/magit-refs.el b/elpa/magit-20241223.2133/magit-refs.el similarity index 100% rename from elpa/magit-20241221.1030/magit-refs.el rename to elpa/magit-20241223.2133/magit-refs.el diff --git a/elpa/magit-20241221.1030/magit-remote.el b/elpa/magit-20241223.2133/magit-remote.el similarity index 100% rename from elpa/magit-20241221.1030/magit-remote.el rename to elpa/magit-20241223.2133/magit-remote.el diff --git a/elpa/magit-20241221.1030/magit-repos.el b/elpa/magit-20241223.2133/magit-repos.el similarity index 99% rename from elpa/magit-20241221.1030/magit-repos.el rename to elpa/magit-20241223.2133/magit-repos.el index 335713aa..20784ef7 100644 --- a/elpa/magit-20241221.1030/magit-repos.el +++ b/elpa/magit-20241223.2133/magit-repos.el @@ -271,7 +271,7 @@ If it contains \"%s\" then the directory is substituted for that." :group 'magit-repolist (setq-local x-stretch-cursor nil) (setq tabulated-list-padding 0) - (add-hook 'tabulated-list-revert-hook #'magit-repolist-refresh nil t) + (setq-local tabulated-list-revert-hook (list #'magit-repolist-refresh t)) (setq imenu-prev-index-position-function #'magit-repolist--imenu-prev-index-position) (setq imenu-extract-index-name-function #'tabulated-list-get-id)) diff --git a/elpa/magit-20241221.1030/magit-reset.el b/elpa/magit-20241223.2133/magit-reset.el similarity index 100% rename from elpa/magit-20241221.1030/magit-reset.el rename to elpa/magit-20241223.2133/magit-reset.el diff --git a/elpa/magit-20241221.1030/magit-sequence.el b/elpa/magit-20241223.2133/magit-sequence.el similarity index 100% rename from elpa/magit-20241221.1030/magit-sequence.el rename to elpa/magit-20241223.2133/magit-sequence.el diff --git a/elpa/magit-20241221.1030/magit-sparse-checkout.el b/elpa/magit-20241223.2133/magit-sparse-checkout.el similarity index 100% rename from elpa/magit-20241221.1030/magit-sparse-checkout.el rename to elpa/magit-20241223.2133/magit-sparse-checkout.el diff --git a/elpa/magit-20241221.1030/magit-stash.el b/elpa/magit-20241223.2133/magit-stash.el similarity index 100% rename from elpa/magit-20241221.1030/magit-stash.el rename to elpa/magit-20241223.2133/magit-stash.el diff --git a/elpa/magit-20241221.1030/magit-status.el b/elpa/magit-20241223.2133/magit-status.el similarity index 100% rename from elpa/magit-20241221.1030/magit-status.el rename to elpa/magit-20241223.2133/magit-status.el diff --git a/elpa/magit-20241221.1030/magit-submodule.el b/elpa/magit-20241223.2133/magit-submodule.el similarity index 98% rename from elpa/magit-20241221.1030/magit-submodule.el rename to elpa/magit-20241223.2133/magit-submodule.el index ae22fd51..a27abc50 100644 --- a/elpa/magit-20241221.1030/magit-submodule.el +++ b/elpa/magit-20241223.2133/magit-submodule.el @@ -635,16 +635,12 @@ These sections can be expanded to show the respective commits." :doc "Local keymap for Magit-Submodule-List mode buffers." :parent magit-repolist-mode-map) -(define-derived-mode magit-submodule-list-mode tabulated-list-mode "Modules" +(define-derived-mode magit-submodule-list-mode magit-repolist-mode "Modules" "Major mode for browsing a list of Git submodules." :interactive nil :group 'magit-repolist - (setq-local x-stretch-cursor nil) - (setq tabulated-list-padding 0) - (add-hook 'tabulated-list-revert-hook #'magit-submodule-list-refresh nil t) - (setq imenu-prev-index-position-function - #'magit-repolist--imenu-prev-index-position) - (setq imenu-extract-index-name-function #'tabulated-list-get-id)) + (setq-local tabulated-list-revert-hook + (list #'magit-submodule-list-refresh t))) (defvar-local magit-submodule-list-predicate nil) @@ -668,7 +664,7 @@ These sections can be expanded to show the respective commits." (and (file-exists-p ".git") (or (not magit-submodule-list-predicate) (funcall magit-submodule-list-predicate module)) - (list module + (list default-directory (vconcat (mapcar (pcase-lambda (`(,title ,width ,fn ,props)) (or (funcall fn `((:path ,module) diff --git a/elpa/magit-20241221.1030/magit-subtree.el b/elpa/magit-20241223.2133/magit-subtree.el similarity index 100% rename from elpa/magit-20241221.1030/magit-subtree.el rename to elpa/magit-20241223.2133/magit-subtree.el diff --git a/elpa/magit-20241221.1030/magit-tag.el b/elpa/magit-20241223.2133/magit-tag.el similarity index 100% rename from elpa/magit-20241221.1030/magit-tag.el rename to elpa/magit-20241223.2133/magit-tag.el diff --git a/elpa/magit-20241221.1030/magit-transient.el b/elpa/magit-20241223.2133/magit-transient.el similarity index 100% rename from elpa/magit-20241221.1030/magit-transient.el rename to elpa/magit-20241223.2133/magit-transient.el diff --git a/elpa/magit-20241221.1030/magit-wip.el b/elpa/magit-20241223.2133/magit-wip.el similarity index 100% rename from elpa/magit-20241221.1030/magit-wip.el rename to elpa/magit-20241223.2133/magit-wip.el diff --git a/elpa/magit-20241221.1030/magit-worktree.el b/elpa/magit-20241223.2133/magit-worktree.el similarity index 100% rename from elpa/magit-20241221.1030/magit-worktree.el rename to elpa/magit-20241223.2133/magit-worktree.el diff --git a/elpa/magit-20241221.1030/magit.el b/elpa/magit-20241223.2133/magit.el similarity index 99% rename from elpa/magit-20241221.1030/magit.el rename to elpa/magit-20241223.2133/magit.el index 84b0d869..556393a1 100644 --- a/elpa/magit-20241221.1030/magit.el +++ b/elpa/magit-20241223.2133/magit.el @@ -17,8 +17,8 @@ ;; Homepage: https://github.com/magit/magit ;; Keywords: git tools vc -;; Package-Version: 20241221.1030 -;; Package-Revision: f4c05e9cd44a +;; Package-Version: 20241223.2133 +;; Package-Revision: 692cc5e7696f ;; Package-Requires: ( ;; (emacs "27.1") ;; (compat "30.0.0.0") diff --git a/elpa/magit-20241221.1030/magit.info b/elpa/magit-20241223.2133/magit.info similarity index 98% rename from elpa/magit-20241221.1030/magit.info rename to elpa/magit-20241223.2133/magit.info index d96e94d3..1da3cc2d 100644 --- a/elpa/magit-20241221.1030/magit.info +++ b/elpa/magit-20241223.2133/magit.info @@ -566,8 +566,8 @@ manpage. See *note How to install the gitman info manual?::. the *note Debugging Tools::. And last but not least please consider making a donation, to ensure -that I can keep working on Magit. See . -for various donation options. +that I can keep working on Magit. See . for +various donation options.  File: magit.info, Node: Getting Started, Next: Interface Concepts, Prev: Installation, Up: Top @@ -2245,9 +2245,8 @@ sections are available. There is one additional command. ‘k’ (‘magit-process-kill’) This command kills the process represented by the section at point. - -- Variable: magit-git-debug - This option controls whether additional reporting of git errors is - enabled. +‘M-x magit-toggle-git-debug’ + This command toggles whether additional git errors are reported. Magit basically calls git for one of these two reasons: for side-effects or to do something with its standard output. @@ -2256,33 +2255,17 @@ sections are available. There is one additional command. messages, go into the process buffer which is shown when using ‘$’. When git’s output is consumed in some way, then it would be too - expensive to also insert it into this buffer, but when this option - is non-nil and git returns with a non-zero exit status, then at - least its standard error is inserted into this buffer. - - This is only intended for debugging purposes. Do not enable this - permanently, that would negatively affect performance. - - This is only intended for debugging purposes. Do not enable this - permanently, that would negatively affect performance. Also note - that just because git exits with a non-zero exit status and prints - an error message that usually doesn’t mean that it is an error as - far as Magit is concerned, which is another reason we usually hide - these error messages. Whether some error message is relevant in - the context of some unexpected behavior has to be judged on a case - by case basis. + expensive to also insert it into this buffer, but with this command + that can be enabled temporarily. In that case, if git returns with + a non-zero exit status, then at least its standard error is + inserted into this buffer. - The command ‘magit-toggle-git-debug’ changes the value of this - variable. - - -- Variable: magit-process-extreme-logging - This option controls whether ‘magit-process-file’ logs to the - ‘*Messages*’ buffer. - - Only intended for temporary use when you try to figure out how - Magit uses Git behind the scene. Output that normally goes to the - magit-process buffer continues to go there. Not all output goes to - either of these two buffers. + Also note that just because git exits with a non-zero status and + prints an error message, that usually doesn’t mean that it is an + error as far as Magit is concerned, which is another reason we + usually hide these error messages. Whether some error message is + 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 @@ -9401,7 +9384,7 @@ sense to pronounce Magit like magic, while taking into account that C and T do not sound the same. The German "Magie" is not pronounced the same as the English "magic", -so if you speak German then you can use the above rationale to justify +so if you speak German, then you can use the above rationale to justify using the former pronunciation; ‘Mag{ie => it}’. You can also choose to use the former pronunciation just because you @@ -9417,15 +9400,15 @@ A.1.2 How to show git’s output? ------------------------------- To show the output of recently run git commands, press ‘$’ (or, if that -isn’t available, ‘M-x magit-process-buffer’). This will show a buffer +isn’t available, use ‘M-x magit-process-buffer’). This shows a buffer containing a section per git invocation; as always press ‘TAB’ to expand or collapse them. By default, git’s output is only inserted into the process buffer if it is run for side-effects. When the output is consumed in some way, also inserting it into the process buffer would be too expensive. For -debugging purposes, it’s possible to do so anyway by setting -‘magit-git-debug’ to ‘t’. +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 ...? @@ -9435,16 +9418,17 @@ A.1.3 How to install the gitman info manual? Git’s manpages can be exported as an info manual called ‘gitman’. Magit’s own info manual links to nodes in that manual instead of the -actual manpages because Info doesn’t support linking to manpages. +actual manpages, simply because Info doesn’t support linking to +manpages. Unfortunately some distributions do not install the ‘gitman’ manual -by default and you will have to install a separate documentation package -to get it. +by default and you would have to install a separate documentation +package to get it. - Magit patches Info adding the ability to visit links to the ‘gitman’ -Info manual by instead viewing the respective manpage. If you prefer + Magit patches info, adding the ability to visit links to the ‘gitman’ +info manual, by instead viewing the respective manpage. If you prefer that approach, then set the value of ‘magit-view-git-manual-method’ to -one of the supported packages ‘man’ or ‘woman’, e.g.: +one of the supported Emacs packages ‘man’ or ‘woman’, e.g.: (setq magit-view-git-manual-method 'man) @@ -9468,7 +9452,7 @@ 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 ...? @@ -9539,7 +9523,7 @@ A.2.3 I am having problems committing ------------------------------------- That likely means that Magit is having problems finding an appropriate -emacsclient executable. See *note (with-editor)Configuring +‘emacsclient’ executable. See *note (with-editor)Configuring With-Editor:: and *note (with-editor)Debugging::.  @@ -9589,7 +9573,7 @@ A.2.7 Point is wrong in the ‘COMMIT_EDITMSG’ buffer Neither Magit nor ‘git-commit.el’ fiddle with point in the buffer used to write commit messages, so something else must be doing it. - You have probably globally enabled a mode which restores point in + You have probably globally enabled a mode, which restores point in file-visiting buffers. It might be a bit surprising, but when you write a commit message, then you are actually editing a file. @@ -9784,24 +9768,36 @@ issue. Please include all relevant output when reporting an issue. messages, go into the process buffer which is shown when using ‘$’. When git’s output is consumed in some way, then it would be too - expensive to also insert it into this buffer, but when this option - is non-nil and git returns with a non-zero exit status, then at - least its standard error is inserted into this buffer. - - This is only intended for debugging purposes. Do not enable this - permanently, that would negatively affect performance. Also note - that just because git exits with a non-zero exit status and prints - an error message that usually doesn’t mean that it is an error as - far as Magit is concerned, which is another reason we usually hide - these error messages. Whether some error message is relevant in - the context of some unexpected behavior has to be judged on a case - by case basis. + expensive to also insert it into this buffer, but with this command + that can be enabled temporarily. In that case, if git returns with + a non-zero exit status, then at least its standard error is + inserted into this buffer. + + Also note that just because git exits with a non-zero status and + prints an error message, that usually doesn’t mean that it is an + error as far as Magit is concerned, which is another reason we + usually hide these error messages. Whether some error message is + relevant in the context of some unexpected behavior has to be + judged on a case by case basis. ‘M-x magit-toggle-verbose-refresh’ This command toggles whether Magit refreshes buffers verbosely. Enabling this helps figuring out which sections are bottlenecks. The additional output can be found in the ‘*Messages*’ buffer. +‘M-x magit-toggle-subprocess-record’ + This command toggles whether subprocess invocations are recorded. + + When enabled, all subprocesses started by ‘magit-process-file’ are + logged into the buffer specified by + ‘magit-process-record-buffer-name’ using the format + ‘magit-process-record-entry-format’. This is for debugging + purposes. + + This is in addition to and distinct from the default logging done + by default, and additional logging enabled with + ‘magit-toggle-git-debug’. + ‘M-x magit-debug-git-executable’ This command displays a buffer containing information about the available and used ‘git’ executable(s), and can be useful when @@ -10625,7 +10621,7 @@ Appendix D Function and Command Index * magit-current-section: Section Selection. (line 6) * magit-cycle-margin-style: Log Margin. (line 63) * magit-debug-git-executable: Git Executable. (line 55) -* magit-debug-git-executable <1>: Debugging Tools. (line 57) +* 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) @@ -10942,7 +10938,7 @@ Appendix D Function and Command Index * magit-process-git: Getting a Value from Git. (line 50) * magit-process-kill: Viewing Git Output. (line 24) -* magit-profile-refresh-buffer: Debugging Tools. (line 64) +* magit-profile-refresh-buffer: Debugging Tools. (line 76) * magit-pull: Pulling. (line 10) * magit-pull-branch: Pulling. (line 28) * magit-pull-from-pushremote: Pulling. (line 14) @@ -11172,12 +11168,14 @@ 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: Debugging Tools. (line 29) +* magit-toggle-git-debug: Viewing Git Output. (line 27) +* 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-profiling: Debugging Tools. (line 68) -* magit-toggle-verbose-refresh: Debugging Tools. (line 52) +* magit-toggle-profiling: Debugging Tools. (line 80) +* magit-toggle-subprocess-record: Debugging Tools. (line 56) +* magit-toggle-verbose-refresh: Debugging Tools. (line 51) * magit-unstage: Staging and Unstaging. (line 42) * magit-unstage-all: Staging and Unstaging. @@ -11212,7 +11210,7 @@ Appendix D Function and Command Index (line 22) * with-editor-cancel <1>: Editing Rebase Sequences. (line 11) -* with-editor-debug: Debugging Tools. (line 73) +* with-editor-debug: Debugging Tools. (line 85) * with-editor-finish: Editing Commit Messages. (line 18) * with-editor-finish <1>: Editing Rebase Sequences. @@ -11339,8 +11337,7 @@ Appendix E Variable Index * 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: Viewing Git Output. (line 26) -* magit-git-debug <1>: Getting a Value from Git. +* magit-git-debug: Getting a Value from Git. (line 68) * magit-git-executable: Git Executable. (line 26) * magit-git-global-arguments: Global Git Arguments. @@ -11375,7 +11372,6 @@ Appendix E Variable Index (line 108) * magit-prefix-use-buffer-arguments: Transient Arguments and Buffer Variables. (line 65) -* magit-process-extreme-logging: Viewing Git Output. (line 56) * magit-process-raise-error: Calling Git for Effect. (line 125) * magit-pull-or-fetch: Fetching. (line 52) @@ -11465,168 +11461,168 @@ Node: Installation11275 Node: Installing from Melpa11605 Node: Installing from the Git Repository12680 Node: Post-Installation Tasks15494 -Node: Getting Started16779 -Node: Interface Concepts22590 -Node: Modes and Buffers22969 -Node: Switching Buffers24680 -Node: Naming Buffers29419 -Node: Quitting Windows32494 -Node: Automatic Refreshing of Magit Buffers34429 -Node: Automatic Saving of File-Visiting Buffers37310 -Node: Automatic Reverting of File-Visiting Buffers38494 -Node: Risk of Reverting Automatically43479 -Node: Sections45861 -Node: Section Movement46787 -Node: Section Visibility51661 -Node: Section Hooks58348 -Node: Section Types and Values60754 -Node: Section Options62169 -Node: Transient Commands62640 -Node: Transient Arguments and Buffer Variables64116 -Node: Completion Confirmation and the Selection71133 -Node: Action Confirmation71579 -Node: Completion and Confirmation80084 -Node: The Selection83269 -Node: The hunk-internal region86167 -Node: Support for Completion Frameworks87256 -Node: Additional Completion Options92141 -Node: Mouse Support92739 -Node: Running Git93315 -Node: Viewing Git Output93560 -Node: Git Process Status96264 -Node: Running Git Manually97229 -Node: Git Executable99919 -Node: Global Git Arguments102927 -Node: Inspecting103732 -Node: Status Buffer104889 -Node: Status Sections109900 -Node: Status Header Sections115627 -Node: Status Module Sections118246 -Node: Status Options120743 -Node: Repository List122106 -Node: Logging126884 -Node: Refreshing Logs129723 -Node: Log Buffer131144 -Node: Log Margin135967 -Node: Select from Log139120 -Node: Reflog141330 -Node: Cherries142967 -Node: Diffing144805 -Node: Refreshing Diffs148856 -Node: Commands Available in Diffs152545 -Node: Diff Options155058 -Node: Revision Buffer160521 -Node: Ediffing163841 -Node: References Buffer169891 -Node: References Sections180485 -Node: Bisecting181342 -Node: Visiting Files and Blobs183653 -Node: General-Purpose Visit Commands184181 -Node: Visiting Files and Blobs from a Diff185134 -Node: Blaming188578 -Node: Manipulating195566 -Node: Creating Repository195908 -Node: Cloning Repository196445 -Node: Staging and Unstaging202886 -Node: Staging from File-Visiting Buffers206859 -Node: Applying207965 -Node: Committing210038 -Node: Initiating a Commit210621 -Node: Editing Commit Messages215811 -Node: Using the Revision Stack218584 -Node: Commit Pseudo Headers221629 -Node: Commit Mode and Hooks222924 -Node: Commit Message Conventions225782 -Node: Branching227769 -Node: The Two Remotes227995 -Node: Branch Commands230648 -Node: Branch Git Variables243498 -Node: Auxiliary Branch Commands248868 -Node: Merging249984 -Node: Resolving Conflicts254140 -Node: Rebasing259514 -Node: Editing Rebase Sequences264303 -Node: Information About In-Progress Rebase268519 -Ref: Information About In-Progress Rebase-Footnote-1277632 -Node: Cherry Picking278228 -Node: Reverting282562 -Node: Resetting283981 -Node: Stashing285807 -Node: Transferring292584 -Node: Remotes292806 -Node: Remote Commands292958 -Node: Remote Git Variables296997 -Node: Fetching298268 -Node: Pulling300751 -Node: Pushing301777 -Node: Plain Patches306068 -Node: Maildir Patches307539 -Node: Miscellaneous309018 -Node: Tagging309364 -Node: Notes311257 -Node: Submodules313592 -Node: Listing Submodules313810 -Node: Submodule Transient315958 -Node: Subtree318403 -Node: Worktree320334 -Node: Sparse checkouts321410 -Node: Bundle324186 -Node: Common Commands324561 -Node: Wip Modes327189 -Node: Wip Graph332080 -Node: Legacy Wip Modes334393 -Node: Commands for Buffers Visiting Files337280 -Node: Minor Mode for Buffers Visiting Blobs345507 -Node: Customizing346305 -Node: Per-Repository Configuration347901 -Node: Essential Settings350155 -Node: Safety350501 -Node: Performance352262 -Ref: Log Performance355225 -Ref: Diff Performance356530 -Ref: Refs Buffer Performance357871 -Ref: Committing Performance358446 -Node: Microsoft Windows Performance359428 -Node: MacOS Performance360619 -Ref: MacOS Performance-Footnote-1361642 -Node: Global Bindings361724 -Node: Plumbing363952 -Node: Calling Git364781 -Node: Getting a Value from Git366306 -Node: Calling Git for Effect370034 -Node: Section Plumbing375928 -Node: Creating Sections376156 -Node: Section Selection380052 -Node: Matching Sections381848 -Node: Refreshing Buffers387769 -Node: Conventions390913 -Node: Theming Faces391105 -Node: FAQ399210 -Node: FAQ - How to ...?399648 -Node: How to pronounce Magit?400005 -Node: How to show git's output?400808 -Node: How to install the gitman info manual?401594 -Node: How to show diffs for gpg-encrypted files?402564 -Node: How does branching and pushing work?403160 -Node: Should I disable VC?403493 -Node: FAQ - Issues and Errors404096 -Node: Magit is slow405041 -Node: I changed several thousand files at once and now Magit is unusable405334 -Node: I am having problems committing406060 -Node: I am using MS Windows and cannot push with Magit406541 -Node: I am using macOS and SOMETHING works in shell but not in Magit407159 -Node: Expanding a file to show the diff causes it to disappear407993 -Node: Point is wrong in the COMMIT_EDITMSG buffer408581 -Node: The mode-line information isn't always up-to-date409629 -Node: A branch and tag sharing the same name breaks SOMETHING410692 -Node: My Git hooks work on the command-line but not inside Magit411579 -Node: git-commit-mode isn't used when committing from the command-line412425 -Node: Point ends up inside invisible text when jumping to a file-visiting buffer414696 -Node: I am no longer able to save popup defaults415545 -Node: Debugging Tools416526 -Node: Keystroke Index420023 -Node: Function and Command Index461637 -Node: Variable Index519984 +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  End Tag Table -- 2.47.3