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
Jesse Duffield
9c226eed37
allow menu to store keybindings for quick menu navigation
2022-03-27 18:16:16 +11:00
Jesse Duffield
0dfb7c08b7
remove controllers struct
2022-03-27 18:16:16 +11:00
Jesse Duffield
f0a4dcfdc3
refactor menu context
2022-03-27 18:16:16 +11:00
Jesse Duffield
2b3d457aa4
honour push.default matching config value
2022-03-27 14:58:20 +11:00
Jesse Duffield
51baa8c17d
update cheatsheet
2022-03-26 18:00:46 +11:00
Jesse Duffield
ad7703df65
show namesake for child views
2022-03-26 18:00:46 +11:00
Jesse Duffield
13b90ac37f
support viewing commits of reflog entry and show better view title
2022-03-26 18:00:46 +11:00
Jesse Duffield
e039429885
better wording again
2022-03-26 17:22:42 +11:00
Jesse Duffield
e0b05f4464
fix cherry picking bug
2022-03-26 17:22:42 +11:00
Jesse Duffield
077b6eb8a3
refactor to make code clearer
2022-03-26 17:22:42 +11:00
Jesse Duffield
45dab51214
add basic commits controller for handling actions that apply to all commit contexts
2022-03-26 17:22:42 +11:00
Luka Markušić
540edb0bf4
Add copy commit attributes option
2022-03-26 17:22:42 +11:00
Jesse Duffield
e392b9f86a
no more filterThenMap
2022-03-24 20:14:41 +11:00
Jesse Duffield
94a53484a1
would you believe that I'm adding even more generics
2022-03-24 20:14:41 +11:00
Jesse Duffield
1b75ed3740
many more generics
2022-03-24 20:14:41 +11:00
Jesse Duffield
eda8f4a5d4
lots more generics
2022-03-24 20:14:41 +11:00
Jesse Duffield
c7a629c440
make more use of generics
2022-03-24 20:14:41 +11:00
Jesse Duffield
f113ff21bf
add confirmation before performing undo or redo action
2022-03-24 09:45:27 +11:00
Jesse Duffield
12ecd665c8
safe reword
2022-03-23 23:43:21 +11:00
Jesse Duffield
cc5d13c833
allow adding whole diff to patch
...
this was causing a panic
add integration test for toggling all commit files
2022-03-23 23:36:58 +11:00
Jesse Duffield
a34bdf1a04
update linters
2022-03-19 12:12:57 +11:00
Jesse Duffield
d93fef4c61
use generics to DRY up context code
2022-03-19 12:12:57 +11:00
Jesse Duffield
36c149836a
softcode keybinding
2022-03-17 19:13:40 +11:00
Jesse Duffield
ea503633aa
move keybindings
2022-03-17 19:13:40 +11:00
Jesse Duffield
59d4df2a44
fix click handling
2022-03-17 19:13:40 +11:00
Jesse Duffield
cf00949b85
fix integration tests
2022-03-17 19:13:40 +11:00
Jesse Duffield
c7b03bd3c2
rename handlers
2022-03-17 19:13:40 +11:00
Jesse Duffield
8fd6338527
move workspace reset menu into controller
2022-03-17 19:13:40 +11:00
Jesse Duffield
ee1337b931
add remote branches controller
2022-03-17 19:13:40 +11:00
Jesse Duffield
4805db7d97
use correct context
2022-03-17 19:13:40 +11:00
Jesse Duffield
46e9946854
refactor credential handling
2022-03-17 19:13:40 +11:00
Jesse Duffield
bff5351ab3
better naming
2022-03-17 19:13:40 +11:00
Jesse Duffield
d991d74b06
add commit message controller
2022-03-17 19:13:40 +11:00
Jesse Duffield
ecaff7fc6c
add commit files controller
2022-03-17 19:13:40 +11:00
Jesse Duffield
c685a413c9
stash controller
2022-03-17 19:13:40 +11:00
Jesse Duffield
a643957f89
include stash in commitish controller
2022-03-17 19:13:40 +11:00
Jesse Duffield
e842d1bc9e
move git flow
2022-03-17 19:13:40 +11:00
Jesse Duffield
8a555dd62e
refactor
2022-03-17 19:13:40 +11:00
Jesse Duffield
bef26b9634
add common commit controller
2022-03-17 19:13:40 +11:00
Jesse Duffield
1253100431
cleanup
2022-03-17 19:13:40 +11:00
Jesse Duffield
eab00de273
reflog controller
2022-03-17 19:13:40 +11:00
Jesse Duffield
371b8d638b
more consistent naming
2022-03-17 19:13:40 +11:00
Jesse Duffield
3188526ecb
fix cheatsheet crash
2022-03-17 19:13:40 +11:00
Jesse Duffield
722410aded
refactor controllers
2022-03-17 19:13:40 +11:00
Jesse Duffield
b93b8cc00a
controller for viewing sub commits
2022-03-17 19:13:40 +11:00
Jesse Duffield
cd31a762b9
rename OSCommand field to os
2022-03-17 19:13:40 +11:00
Jesse Duffield
d82f175e79
refactor contexts
2022-03-17 19:13:40 +11:00
Jesse Duffield
482bdc4f1e
more refactoring
2022-03-17 19:13:40 +11:00
Jesse Duffield
8e3484d8e9
add global controller
2022-03-17 19:13:40 +11:00
Jesse Duffield
226985bf76
refactor keybindings
2022-03-17 19:13:40 +11:00
Jesse Duffield
2db4636815
no more indirection
2022-03-17 19:13:40 +11:00
Jesse Duffield
2a1e3faa0c
resetting controllers on new repo
2022-03-17 19:13:40 +11:00
Jesse Duffield
0a8cff6ab6
some more refactoring
2022-03-17 19:13:40 +11:00
Jesse Duffield
b5515da00b
move commit files context into new structure
2022-03-17 19:13:40 +11:00
Jesse Duffield
c084abb378
move more view model logic into the files view model
2022-03-17 19:13:40 +11:00
Jesse Duffield
8ea7b7a62e
migrate files context to new structure
2022-03-17 19:13:40 +11:00
Jesse Duffield
e187293456
moving more into controllers package
2022-03-17 19:13:40 +11:00
Jesse Duffield
f97de692e3
move helpers into their own struct
2022-03-17 19:13:40 +11:00
Jesse Duffield
2692637fbe
standardise naming
2022-03-17 19:13:40 +11:00
Jesse Duffield
77d0732fa8
add actions abstraction
2022-03-17 19:13:40 +11:00
Jesse Duffield
138be04e65
refactor contexts code
2022-03-17 19:13:40 +11:00
Jesse Duffield
1a74ed3214
avoid deadlock
2022-03-17 19:13:40 +11:00
Jesse Duffield
a2318d75b5
fix some things
2022-03-17 19:13:40 +11:00
Jesse Duffield
1dd7307fde
start moving commit panel handlers into controller
...
more
and more
move rebase commit refreshing into existing abstraction
and more
and more
WIP
and more
handling clicks
properly fix merge conflicts
update cheatsheet
lots more preparation to start moving things into controllers
WIP
better typing
expand on remotes controller
moving more code into controllers
2022-03-17 19:13:40 +11:00
Jesse Duffield
a90b6efded
start refactoring gui
2022-03-17 19:13:40 +11:00