1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-07-28 16:02:01 +03:00
Commit Graph

30 Commits

Author SHA1 Message Date
703256e92d Move LocalBranchSortOrder and RemoteBranchSortOrder to user config
At the same time, we change the defaults for both of them to "date" (they were
"recency" and "alphabetical", respectively, before). This is the reason we need
to touch so many integration tests. For some of them I decided to adapt the test
assertions to the changed sort order; for others, I added a SetupConfig step to
set the order back to "recency" so that I don't have to change what the test
does (e.g. how many SelectNextItem() calls are needed to get to a certain
branch).
2025-07-09 13:15:03 +02:00
09a4e0b209 Add selection assertions to cherry-pick tests
We are about to change the selection behavior when cherry-picking, and it's good
to have tests that document in what way it changes in the next commit.
2025-07-03 16:58:56 +02:00
4b35434eba Use "git cherry-pick" for implementing copy/paste of commits
We do this because
- it's closer to what you would do on the command line
- it simplifies the code a bit
- it will allow us to support cherry-picking merge commits.
2025-04-20 15:59:48 +02:00
362678e2ef Mention which command is continued in PromptToContinueRebase
When you are in the middle of a rebase, and you cherry-pick a commit which
conflicts, it helps to be clear on whether you are prompted to continue the
cherry-pick or the rebase.
2025-04-20 15:53:17 +02:00
c44231a7d7 Add number of commits to cherry-pick confirmation prompt 2025-01-08 21:08:42 -08:00
ee173ff7c9 Clear cherry-picked commits after pasting
It can be tedious after each cherry-pick opearation to clear the
selection by pressing escape in order for lazygit to stop displaying
info about copied commits. Also, it seems to be a rare case to
cherry-pick commits to more than one destination.

The simplest solution to address this issue is to clear the selection
upon paste.

The only exception is a merge conflict. Initially, I wanted to clear
selected commits in this scenario too. During a discussion we found out
that it may be convenient to have the copied commits still around.
Aborting the rebase and pasting the commits in the middle of a branch
can be a valid use case.
2024-01-30 09:21:12 +11:00
d772c9f1d4 Use sentence case everywhere
We have not been good at consistent casing so far. Now we use 'Sentence case' everywhere. EVERYWHERE.

Also Removing 'Lc' prefix from i18n field names: the 'Lc' stood for lowercase but now that everything
is in 'Sentence case' there's no need for the distinction.

I've got a couple lower case things I've kept: namely, things that show up in parentheses.
2023-05-25 23:52:19 +10:00
63dc07fded Construct arg vector manually rather than parse string
By constructing an arg vector manually, we no longer need to quote arguments

Mandate that args must be passed when building a command

Now you need to provide an args array when building a command.
There are a handful of places where we need to deal with a string,
such as with user-defined custom commands, and for those we now require
that at the callsite they use str.ToArgv to do that. I don't want
to provide a method out of the box for it because I want to discourage its
use.

For some reason we were invoking a command through a shell when amending a
commit, and I don't believe we needed to do that as there was nothing user-
supplied about the command. So I've switched to using a regular command out-
side the shell there
2023-05-23 19:49:19 +10:00
f7e8b2dd71 cleanup integration test code 2023-02-26 12:54:13 +11:00
1034962c7e migrate more tests 2023-02-22 22:29:01 +11:00
22c10479d5 migrate reflog integration tests 2023-02-22 21:15:03 +11:00
9fef4447b6 move popup assertions into a struct 2022-12-28 11:00:22 +11:00
ed93e0a2b0 remove dependency on model 2022-12-27 22:52:20 +11:00
c5050ecabd move shell into test driver 2022-12-27 21:47:37 +11:00
78b495f50a rename input to t 2022-12-27 21:35:36 +11:00
53e06b71ae add tap function 2022-12-27 21:26:18 +11:00
b166b8f776 combine assert and input structs, clean up interface 2022-12-27 21:26:18 +11:00
09e80e5f2a better namespacing for assertions 2022-12-27 21:26:18 +11:00
be30cbb375 add view asserter getter struct 2022-12-27 21:26:18 +11:00
926ed7b9b2 more refactoring of popup stuff 2022-12-27 21:26:18 +11:00
8052ac4fd6 add prompt asserter 2022-12-27 21:26:18 +11:00
c976839a63 refactor prompt handling in integration tests 2022-12-27 21:26:17 +11:00
96310288ee allow chaining matchers 2022-12-26 17:15:33 +11:00
c841ba8237 add switch-to-view methods 2022-12-26 16:49:54 +11:00
9a6f21ce42 cleaner test assertions 2022-12-26 12:20:13 +11:00
fa0414777f rename SelectedLine to CurrentLine in tests 2022-12-26 10:42:19 +11:00
5d2584a188 introduce ViewLines functions 2022-12-25 11:38:00 +11:00
b623ecf898 add helper functions for popups in tests 2022-12-24 19:15:59 +11:00
aedfce2845 refactor to not have Match at the start of assert method names, because it reads better that way 2022-12-24 19:14:52 +11:00
74acb3e86a add integration tests for cherry picking 2022-09-16 22:15:16 -07:00