aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-07-12magit-worktree-move: Call read-directory-name directlyJonas Bernoulli
No longer use `magit-worktree-read-directory-name-function', which is still used by commands that create new worktrees. A fancy user function suitable for worktree creation is likely contra-productive when moving an existing worktree.
2025-07-12magit-worktree-checkout: Do not offer checked out branchesJonas Bernoulli
The same branch cannot be checked out in multiple worktrees.
2025-07-12magit-worktree-{checkout,branch,move}: Rename an argumentJonas Bernoulli
2025-07-12magit-worktree-{checkout,branch}: Improve promptsJonas Bernoulli
2025-07-12magit-read-branch-or-commit: Support a list for EXCLUDE argumentJonas Bernoulli
2025-07-11Document return value of functions running process synchronouslyJonas Bernoulli
2025-07-11Increase name consistency for "commit" argumentsJonas Bernoulli
- Never use REVISION. - For arguments of commands use COMMIT. - For arguments of other functions use REV.
2025-07-11magit-reset-{soft,hard,keep}: Fix argument name in docstringsJonas Bernoulli
2025-07-09git-rebase-mode-font-lock-keywords: Use magit-branch-local faceJonas Bernoulli
Use this face for branch names in "# Branch" and "merge" lines, but do not use it in "label" lines. The former two mark the points were a branch is created and merged, while the latter is an implementation, needed for technical reasons. Relocate the keyword for "# Branch", so that it is placed among the action line keywords instead of after the keywords for the comments that optionally follow the action lines.
2025-07-09rebase: Deal with comment character in the middle of action linesJonas Bernoulli
In "merge" lines the description was always prefixed with "# ". Since Git v2.50.0 that is also done for other action lines. To support older releases, "# " has to be optional for these other action lines. While that isn't necessary, make it optional for "merge" lines as well. Note that Git always uses "#"; `core.commentChar' does not control the character used here. Never-the-less start using `font-lock-comment-face' for this inline "#"; frankly it is unnecessary noise that is best diminished.
2025-07-09git-rebase-line-regexps: Do not use empty string for missing descriptionJonas Bernoulli
2025-07-09git-rebase-mode-font-lock-keywords: Use single regexp for merge linesJonas Bernoulli
Tweak the merge regexp in `git-rebase-line-regexps' so that it can be used for merge lines with and without a description.
2025-07-09git-rebase-mode-font-lock-keywords: Highlight action flagsJonas Bernoulli
2025-07-09git-rebase-mode-font-lock-keywords: Use description face moreJonas Bernoulli
2025-07-09git-rebase-mode-font-lock-keywords: CosmeticsJonas Bernoulli
2025-07-09git-rebase-current-line: Use match group 99 for comment-startJonas Bernoulli
2025-07-05Release version 4.3.8v4.3.8Jonas Bernoulli
2025-07-02magit-discard: On "Untracked files" delete exactly the listed filesJonas Bernoulli
Use the same code to generate a list of untracked fils, when `magit-discard' is invoked on the "Untracked files" section as was used to populate the list of files displayed in that section. We should do that even if it weren't for the following issue, but that is how we noticed something had to be done. Contrary to what the documentation claims, "git ls-files --other --directory --exclude-standard" does not honor ".gitignore" from sub-directories. Closes #5405.
2025-07-02magit-discard: Refresh after discarding all untracked filesJonas Bernoulli
2025-07-01magit--refresh-buffer-set-positions: Don't restore window-start in logsJonas Bernoulli
2025-07-01Release version 4.3.7v4.3.7Jonas Bernoulli
2025-07-01magit-after-save-refresh-status: Consult correct inhibit variableJonas Bernoulli
2025-06-30Restore window-start after refreshing a bufferJonas Bernoulli
2025-06-30magit-section-equal: New functionJonas Bernoulli
2025-06-30magit--refresh-buffer*: Handle undisplayed buffer case more explicitlyJonas Bernoulli
2025-06-30magit--refresh-buffer-set-positions: CosmeticsJonas Bernoulli
2025-06-30make authors: Show no diff if no commit was createdJonas Bernoulli
2025-06-30Update changelogJonas Bernoulli
2025-06-29magit--refresh-buffer-set-positions: No longer suppress unused hookJonas Bernoulli
`magit-section-goto-successor' no longer runs `magit-section-movement-hook', so we don't have to suppress it in `magit--refresh-buffer-set-positions'. Since that hook was why we wanted to handle the selected window last, when it displayed the buffer being refreshed, we can also stop changing the order of the windows returned by ``magit--refresh-buffer-get-positions'.
2025-06-29magit-refresh-buffer: Use different debug message when creating bufferJonas Bernoulli
2025-06-29magit-refresh-buffer: Avoid resetting when first creating bufferJonas Bernoulli
2025-06-29magit-refresh-buffer: Spin out magit--refresh-buffer-functionJonas Bernoulli
2025-06-29magit-refresh-buffer: Reduce extend of a bindingJonas Bernoulli
2025-06-29magit-refresh-buffer: Spin out magit--refresh-buffer-{get,set}-positionsJonas Bernoulli
2025-06-28magit-refresh-buffer: Reset magit-section-focused-sectionsJonas Bernoulli
This variable is also reset in `magit-section-pre-command-hook' but that only affects the current buffer. We also have to reset this cache when refreshing a buffer, otherwise it would continue to track sections from the previous generation, which no longer exist. For example, if point is on an unstage hunk in the status and the user invokes a commit command, then the commit message buffer is current when the commit is finalized. In that case `magit-section-update-paint' was called for two section in the status buffer; the previous generation hunk (which ended up being a noop) and the actually focused hunk (which was not included in the value returned by `magit-focused-sections', because that cache had not been invalidated yet, and thus got painted as unfocused).
2025-06-22magit-save-repository-buffers: Compile two more lambdaJonas Bernoulli
There appears to be a change in Emacs 31 compared to 28.2, which makes this unnecessary, but on the older release we otherwise get an error about the `##' forms being invalid functions. Even for newer releases it's better to use code instead of data. Closes #5399.
2025-06-16manual: Fix minor typoJacob Ilsø
2025-06-16magit-show-process-buffer-hint: New optionJonas Bernoulli
2025-06-16magit-process-finish: Show usage hint even if error is signaledJonas Bernoulli
Inform the user that the process buffer contains the full error (and other output), regardless of whether `message' or `signal' is used to show a short error message in the echo area. Closes #5396.
2025-06-16magit-process-finish: Look up key binding in current bufferJonas Bernoulli
2025-06-16magit-process-finish: Remove unnecessary commentsJonas Bernoulli
2025-06-16manual: Correct and refine information about process outputJonas Bernoulli
2025-06-10magit-log-remove-graph-args: Remove --grep from listJonas Bernoulli
We don't know since when "--grep" and "--graph" are no longer mutually exclusive, but it is since before Git v2.25.0, which is the minimal version required by Magit. Closes #5391.
2025-06-10Clarify that commands run magit-section-movement-hook explicitlyJonas Bernoulli
Closes #5394.
2025-06-10magit-section-update-paint: Register already painted expanded hunkJonas Bernoulli
When we navigate to a collapsed hunk, whose body is secretly already highlighted and expand it, we can (and already do) avoid painting it again. However, we failed to register it as painted again, which is necessary to cause it to be unhighlighted once we move away from it, regardless of how far back the painting as highlighted occurred. We do not just leave the section registered as painted, after collapsing it and then moving away, because `magit-section-update-highlight' would then have to consider its state after every command. Closes #5393. Suggested-by: Eliza Velasquez
2025-06-06Use higher overlay priority for selection highlighting overlaysJonas Bernoulli
Since v4.3.7 the overlays used for section highlighting and section selection conflicted, if both of these faces relied on the same face property (likely the foreground color). The usual way to theme these faces is to use the background for highlighting and the foreground for the selection. Closes #5389.
2025-06-05git-rebase--insert-descriptions: Consistently use comment-startJonas Bernoulli
Closes #5388.
2025-06-05magit-bookmark-get-value: New generic functionJonas Bernoulli
This makes it possible to use Magit's bookmark support in Forge.
2025-06-01Release version 4.3.6v4.3.6Jonas Bernoulli
2025-05-31magit-apply-patch: Respect buffers context limitJonas Bernoulli
Applying the region used to fail, even if the changes withing would apply but some other part of the hunk, outside the region, conflicts with the target.