Stefan Haller
659d668e16
Implement edit presets
2023-04-13 13:14:00 +02:00
Stefan Haller
d508badd62
Better error message when trying to amend a commit other than head during rebase
2023-04-01 08:16:15 +02:00
Luka Markušić
e7d0116312
Allow amending the head commit during interactive rebase
2023-04-01 08:16:15 +02:00
Stefan Haller
85fdb700ba
Extract amendHead function into new AmendHelper
2023-04-01 08:16:15 +02:00
Stefan Haller
c757063264
Better error message when trying to edit or move a non-todo commit during rebase
...
Previously we would have tried to do the rebase, resulting in a long and
somewhat cryptic error message from git; now we check ourselves and show a less
intimidating message.
2023-04-01 08:16:15 +02:00
Stefan Haller
b24955063c
Allow rewording the head commit during interactive rebase
2023-04-01 08:16:15 +02:00
Stefan Haller
c6930e0538
Cleanup: use commit.isTODO() consistently
...
It seems cleaner than checking the Status for "rebasing".
2023-04-01 08:16:15 +02:00
Jesse Duffield
a82d952f48
Merge pull request #2495 from jesseduffield/feature/remove-altreturn
2023-03-20 20:11:35 +11:00
Jesse Duffield
60f902f026
rename patch manager to patch builder
2023-03-19 16:35:57 +11:00
Jesse Duffield
73c7dc9c5d
refactor patch code
2023-03-19 16:30:39 +11:00
Luka Markušić
f314cb3763
Remove alternative confirmation and return keymappings
2023-03-09 10:32:00 +01:00
Stefan Haller
4bd1322941
Rename WillBeAppliedReverse to Reverse
...
This is the only "reverse"-related option that is left, so use a less clumsy
name for it.
2023-03-07 13:40:07 +01:00
Stefan Haller
45cf993982
Remove the PatchOptions.Reverse option
...
All callers pass false now (except for the tests, which we simply remove), so we
don't need the option any more.
2023-03-07 13:39:45 +01:00
Stefan Haller
e4659145e8
Use WillBeAppliedReverse (and git apply --reverse) in the staging panel too
...
It's simpler to have only one way of reversing a patch.
2023-03-07 13:38:19 +01:00
Stefan Haller
f76cc27956
Bundle the reverse and keepOriginalHeader flags into a PatchOptions struct
...
We are going to add one more flag in the next commit.
Note that we are not using the struct inside patch_manager.go; we keep passing
the individual flags there. The reason for this will become more obvious later
in this branch.
2023-03-07 09:49:34 +01:00
Jesse Duffield
c36333af3d
Merge pull request #2433 from Ryooooooga/subcommits-limit
2023-03-06 18:22:57 +11:00
Stefan Haller
723504a290
Keep side context in context stack when pushing a main context
...
This fixes accordion mode for the commit files panel. When entering a file, the
commit files panel should stay expanded.
2023-03-04 15:07:48 +01:00
Ryooooooga
a624e0457f
feat(subcommits): load unlimited sub-commits
2023-02-27 15:29:00 +09:00
Jesse Duffield
037e957282
fix PullMergeConflict integration test
2023-02-25 11:39:24 +11:00
Jesse Duffield
78f3a7a478
migrate interactive rebase integration tests
2023-02-22 19:36:31 +11:00
Jesse Duffield
38c7030b0f
mention path in tooltips
2023-02-20 19:28:45 +11:00
Luka Markušić
31b8524fe6
Add tooltips for discarding
2023-02-20 19:28:45 +11:00
Luka Markušić
0ae34aeeb7
Make discarding items less error prone
...
The menu is opened by `d` so this makes it harder to mess things up by
accidentally pressing `dd`.
2023-02-20 19:28:45 +11:00
Jesse Duffield
e1c376ef54
Merge pull request #2453 from stefanhaller/allow-rebasing-to-first-commit
2023-02-20 19:21:37 +11:00
Jesse Duffield
0b55eaca1d
add create tag from commit test
2023-02-20 19:01:08 +11:00
Stefan Haller
c5cd217a65
Allow squashing fixups above the first commit of a repo
...
This includes amending changes into a given commit, since that's implemented in
terms of the former.
2023-02-20 08:29:43 +01:00
Jesse Duffield
9e1e20fef2
Merge pull request #2421 from Ryooooooga/tag-on-branch
2023-02-20 18:20:16 +11:00
Stefan Haller
dd61c49a15
Better error message for trying to squash or fixup the first commit
...
It's not so much the total number of commits that matters here, it's just
whether we are on the first one. (This includes the other condition.)
This allows us to get rid of the condition in rebase.go.
2023-02-20 07:40:04 +01:00
Ryooooooga
67b08ac239
feat: support to create tag on branch
2023-02-19 23:31:46 +09:00
Stefan Haller
67b8ef449c
Edit by breaking after current commit
...
Instead of rebasing from the commit below the current one and then setting the
current one to "edit", we rebase from the current one and insert a "break" after
it. In most cases the behavior is exactly the same as before, except that the
new method also works if the current commit is a merge commit. This is useful if
you want to create a new commit at the very beginning of your branch (by editing
the last commit before your branch).
2023-02-19 10:21:01 +01:00
Jesse Duffield
65bd0ab431
migrate undo test
2023-02-19 15:48:09 +11:00
Jesse Duffield
bff076c70a
rename key to Pull
2023-02-19 11:42:00 +11:00
stk
b499eba1a8
Select next stageable line correctly after staging a range of lines
...
We already have this very convenient behavior of jumping to the next stageable
line after staging something. However, while this worked well for staging
single lines or hunks, it didn't work correctly when staging a range of lines;
in this case we want to start searching from the first line of the range.
2023-02-15 21:29:00 +01:00
Ryooooooga
39c20bc634
chore: change to work return-alt1 on all views
2023-02-11 21:19:47 +09:00
Jesse Duffield
5e2254395a
fix linting issue
2023-02-09 21:45:14 +11:00
stk
67fb28e2b8
Add user config gui.skipRewordInEditorWarning
2023-01-26 09:01:22 +01:00
stk
b8d33b8f7b
Extract helper function doRewordEditor
...
No behavior change, just a preparation for the next commit.
2023-01-22 15:59:32 +01:00
Jesse Duffield
af5b3be286
integrate snake game into lazygit
2022-12-30 12:18:59 +11:00
Jesse Duffield
fb15a2f4f8
Merge pull request #2326 from Ryooooooga/fix-scroll
...
fix https://github.com/jesseduffield/lazygit/issues/2309
2022-12-24 19:20:23 +11:00
Ryooooooga
7bdba1abe4
fix( #2309 ): fix diff scroll
2022-12-20 22:25:49 +09:00
Jesse Duffield
5679efe174
Merge pull request #2239 from bdach/u2f-key-prompts
...
close https://github.com/jesseduffield/lazygit/issues/2230
2022-12-20 21:44:29 +11:00
Arnaud PERALTA
0af63daf18
workingtree controller fixed with new references for commit in staged menu
2022-12-01 09:12:18 +11:00
Arnaud PERALTA
8b894d7bf5
wip: commit logic in helper and reported in files/staging controllers
2022-12-01 09:12:18 +11:00
Jesse Duffield
65d6d7fb2d
fix ignore file keybinding
2022-11-30 19:36:35 +11:00
Bartłomiej Dach
1a1f042f49
Add credential prompts for U2F-backed SSH keys
...
The 8.2 release of OpenSSH added support for FIDO/U2F hardware
authenticators, which manifests in being able to create new types of SSH
key, named `ecdsa-sk` nad `ed25519-sk`. This is relevant to lazygit,
as those SSH keys can be used to authorise git operations over SSH, as
well as signing git commits. Actual code changes are required for
correct support, as the authentication process for these types of keys
is different than the process for types supported previously.
When an operation requiring credentials is initialised with a U2F
authenticator-backed key, the first prompt is:
Enter PIN for ${key_type} key ${path_to_key}:
at which point the user is supposed to enter a numeric (and secret) PIN,
specific to the particular FIDO/U2F authenticator using which the SSH
keypair was generated. Upon entering the correct key, the user is
supposed to physically interact with the authenticator to confirm
presence. Sometimes this is accompanied by the following text prompt:
Confirm user presence for key ${key_type} ${key_fingerprint}
This second prompt does not always occur and it is presumed that the
user will know to perform this step even if not prompted specifically.
At this stage some authenticator devices may also begin to blink a LED
to indicate that they're waiting for input.
To facilitate lazygit's interoperability with these types of keys, add
support for the first PIN prompt, which allows "fetch", "pull", and
"push" git operations to complete.
2022-11-30 13:34:32 +11:00
Ryooooooga
52a2e4c1dc
fix: fix ambiguous branch name
...
test: add an integration test for checkout branch by name
fix: fix full ref name of detached head
refactor: refactor current branch loader
chore: use field name explicitly
2022-11-14 19:05:07 +11:00
Jesse Duffield
b33ec5a050
Merge pull request #1980 from ajhynes7/stash-untracked-changes
2022-11-14 18:46:53 +11:00
sudoburt
3e73dacce3
Merge loaders package into git_commands package
2022-11-14 18:11:45 +11:00
Andrew Hynes
684d1e955e
lint: try deleting blank line
2022-11-13 19:51:30 -03:30
Andrew Hynes
3c436b3457
lint: delete unused argument from handleStashSave
2022-11-13 11:02:06 -03:30
Jesse Duffield
d26350502c
stop switching focus to commits view when resetting
2022-11-13 03:26:50 +00:00
Andrew Hynes
a47e72892a
Merge branch 'master' into stash-untracked-changes
2022-11-01 16:08:34 -02:30
Ryooooooga
3103398e31
chore: refactor rename stash
2022-10-16 09:30:04 +09:00
Ryooooooga
eceb3a5aa6
chore: refactor rename stash
2022-10-16 09:12:43 +09:00
Ryooooooga
11316b7a48
feat: add rename stash
2022-10-16 09:12:42 +09:00
Andrew Hynes
8c46a0110d
Merge branch 'master' into stash-untracked-changes
2022-10-06 22:59:06 -02:30
jiepeng
bc8050d8ac
typo
2022-09-17 15:10:41 -07:00
jiepeng
b8900baf1a
remove deprecated calls
2022-09-17 15:10:41 -07:00
Andrew Hynes
e189546acb
refactor: move checks for clean working tree
2022-09-15 21:48:49 -02:30
Andrew Hynes
c7733aa5e5
refactor: rename method to StashIncludeUntrackedChanges
2022-09-15 21:48:49 -02:30
Andrew Hynes
50cf7ac5bc
refactor: change command order
2022-09-15 21:48:49 -02:30
Andrew Hynes
c7fd218308
fix: add condition to if statement
2022-09-15 21:48:49 -02:30
Andrew Hynes
7ddb80a13e
feat: add stash option to include untracked changes
2022-09-15 21:48:48 -02:30
Luka Markušić
0ff5b74d80
IgnoreOrExclude should be a menu
2022-08-11 14:23:02 +02:00
Jesse Duffield
7410acd1aa
move merge conflicts code into controller
2022-08-07 11:16:03 +10:00
Jesse Duffield
445a625b56
rename merging context to mergeConflicts
2022-08-06 18:05:00 +10:00
Jesse Duffield
524bf83a4a
refactor to only have one context per view
2022-08-06 13:49:11 +10:00
Jesse Duffield
debc58b6c5
fix popup focus issue
2022-08-01 22:09:48 +10:00
Jesse Duffield
682be18507
refactor to use generics for file nodes
...
use less generic names
2022-07-31 19:43:14 +10:00
Jesse Duffield
7077ea428f
add optimistic rendering for staging and unstaging files
2022-07-31 14:34:57 +10:00
Jesse Duffield
95678b1b43
Merge pull request #2065 from jesseduffield/fix-rewording-merge-commit-with-editor
...
Fix rewording a merge commit with editor
2022-07-30 19:51:59 +10:00
Luka Markušić
cc377b5c49
Fix rewording a merge commit with editor
2022-07-30 08:43:42 +02:00
Luka Markušić
1f482e585e
Fix github linter errors
2022-07-30 08:10:29 +02:00
Juan Sanchez Montalvo
11d766053e
Allow adding a file to the .git/info/exclude file
2022-07-05 19:33:44 +10:00
Jesse Duffield
cdec70cc06
Merge pull request #1975 from mark2185/fix-unmatching-remote-branch-name
2022-06-09 20:12:56 +10:00
Jesse Duffield
9591cc381a
support setting the author of a commit
...
update copy
2022-06-09 19:12:20 +10:00
Luka Markušić
55a941d5dc
Fetch the correct remote branch
2022-06-01 20:35:09 +02:00
Ryooooooga
9693afd671
fix: fix lint error
2022-05-18 20:34:35 +09:00
Jesse Duffield
f31dcd3091
Merge pull request #1930 from mark2185/feature/discard-staged-only
2022-05-15 20:33:25 +10:00
Luka Markušić
241d182da7
Make tooltip i18n-able
2022-05-15 12:16:20 +02:00
Ryooooooga
61970a4439
fix: fix ambiguous refname
2022-05-13 21:05:51 +09:00
Luka Markušić
ca191159f5
Discard staged changes only
2022-05-08 14:24:28 +02:00
Jesse Duffield
6f8063217d
rename displayString to label for menu items
2022-05-08 14:26:18 +10:00
Jens Pfeifle
7c573a5bea
Add command to reset the commit author from the commits panel.
2022-05-08 13:29:56 +10:00
Jesse Duffield
f257740ea7
add tooltip view for showing menu item descriptions
2022-05-08 13:24:36 +10:00
Jesse Duffield
0940e0182b
Merge pull request #1870 from mark2185/feature/stash-unstaged
2022-05-06 20:17:33 +10:00
Jesse Duffield
f7fae0b82e
Merge pull request #1869 from mark2185/feature/unset-upstream
2022-05-06 20:14:13 +10:00
Jesse Duffield
4dd09ee0d5
allow copying commit author to clipboard
2022-05-01 14:14:29 +10:00
Jesse Duffield
e68093fe99
add scrollbars
2022-04-16 17:29:17 +10:00
Luka Markušić
1ae2dc9941
The four horsemen of stashing
2022-04-14 21:45:55 +02:00
Luka Markušić
e114b5b5e8
Refresh BRANCHES and COMMITS after (un)staging upstream
2022-04-13 15:54:32 +02:00
Luka Markušić
c4b958e3fd
There's gotta be a better way for initial content
2022-04-13 15:21:01 +02:00
Luka Markušić
f83308c8df
Add option to (un)set upstream for a local branch
2022-04-11 14:04:06 +02:00
Luka Markušić
6f7038c827
Add option to stash only unstaged files
2022-04-10 09:35:59 +02:00
Ryooooooga
4835fc00b8
introduce Ref interface
2022-04-02 17:04:42 +11:00
Moritz Haase
8fb2acc224
pkg/gui: Rename IPopupHandler::Ask() to Confirm()
...
Follow the JavaScript naming scheme for user interaction (alert, prompt,
confirm) as discussed in #1832 .
2022-03-30 20:13:43 +11:00
Jesse Duffield
7c3d14ee19
allow amending and reverting commits when filtering by file
2022-03-27 18:50:29 +11:00
Jesse Duffield
860d1e0145
fix copy for merge confirmation
2022-03-27 18:16:16 +11:00
Jesse Duffield
e011acbab2
better logging for stash flow
2022-03-27 18:16:16 +11:00
Jesse Duffield
3e5d4b2c74
add menu keybindings for various things
2022-03-27 18:16:16 +11:00