Jesse Duffield
bef26b9634
add common commit controller
2022-03-17 19:13:40 +11:00
Jesse Duffield
574c5ca0de
add subcommits 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
55af07a1bb
fix CI
2022-03-17 19:13:40 +11:00
Jesse Duffield
33a223e981
remove dead code
2022-03-17 19:13:40 +11:00
Jesse Duffield
943a8e83da
ensure we retain state when returning to submodule parent
2022-03-17 19:13:40 +11:00
Jesse Duffield
94d66b267d
defend against view not yet having a context defined against it
2022-03-17 19:13:40 +11:00
Jesse Duffield
41527270ed
appease linter
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
145c69d9ae
working again
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
c703cd8f88
fix suggestions panel
2022-03-17 19:13:40 +11:00
Jesse Duffield
0a8cff6ab6
some more refactoring
2022-03-17 19:13:40 +11:00
Jesse Duffield
e2f5fe1016
pretty sure we can rely on our views existing before our contexts do
2022-03-17 19:13:40 +11:00
Jesse Duffield
182c999ee0
fix linting
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
09dc160da9
cleaning up
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
b04038d08f
no need to invoke sync controller here
2022-03-17 19:13:40 +11:00
Jesse Duffield
55b393c929
always fast forward
2022-03-17 19:13:40 +11:00
Jesse Duffield
f0c81ea6dc
remove redundant popup checks
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
51547e3822
move all refresh code into the one file
2022-03-17 19:13:40 +11:00
Jesse Duffield
e363606fb6
move context keys into context package
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
cb0d3a480a
use type switch instead of type key
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
Jesse Duffield
fa8571e1f4
rename field
2022-03-17 19:01:28 +11:00
David Roman
d8d0d4686d
Only read env once when recording dirs
2022-03-17 19:01:28 +11:00
David Roman
b8fc829f86
Record current directory on switch
2022-03-17 19:01:28 +11:00
Ram Bhosale
7be25a105d
allow skipping confirmation prompt after opening subprocess
2022-03-17 17:52:31 +11:00
Jesse Duffield
28c9d85141
fix tests
2022-03-16 20:52:49 +11:00
tiwood
f0d0d45ba7
refactor: 💡 Use new approach introduced via #1637
...
fix: 🐛 The root URI for Azure DevOps repositories contains _git
refactor so that we don't have conditional logic based on service definition
no need for this commend anymore
add comment
Fixed RegEx for HTTP remote git URL
Added Tests
pretty sure we can do this safely
2022-03-16 20:52:49 +11:00
Francisco Miamoto
ca8180e1b7
Use editFileAtLine method for line by line panel
2022-03-16 20:43:53 +11:00
Jesse Duffield
f53b10072d
open code in existing window
2022-03-16 19:55:58 +11:00
Jesse Duffield
11acac0091
more explicit
2022-03-16 19:55:58 +11:00
Luka Markušić
866f4b9f0e
Support line offset for most common editors by default
2022-03-16 19:55:58 +11:00
Jesse Duffield
f56988039a
ignore current user language when generating cheatsheets
2022-03-16 19:46:11 +11:00
Akash Soedamah
7e6b43d13b
Just spotted some small typos in NL translation
...
I'm learning the LazyGit keybindings right now
2022-03-16 19:46:11 +11:00
Daniel Kiss
f5a5b7f966
Add unstagedChangesColor config option
2022-03-16 19:21:39 +11:00
Blair Noctis
471fe313d8
fix & polish Chinese intro message
...
- Fix first sentence of 3), #1756
- Use 你 instead of 您 to pose a closer feel, as fellow programmers
- Polish a little so it feels more natural
2022-02-02 18:59:15 +08:00
Matt Cles
9adf4a1908
Add shared function for loading map of custom colors
2022-02-01 18:55:45 +11:00
Matt Cles
4df7646654
Add configurable colors for branch prefixes
...
Branches can now be colored based on their prefix, if it matches
a user defined prefix in the config file. If no user defined
prefix matches, then it will fallback to the defaults: green for
'feature', yellow for 'bugfix', and red for 'hotfix'. All
remaining branches will be set to the default text color.
2022-02-01 18:55:45 +11:00
Jesse Duffield
e0ae134ee4
generate snapshot for expected dir in separate tmp dir
2022-01-29 00:17:32 +11:00
Jesse Duffield
1d90e1b565
add submodule integration tests
2022-01-29 00:17:32 +11:00
Jesse Duffield
1b09674ce8
simplify submodule remove
2022-01-29 00:17:32 +11:00
Jesse Duffield
d13a648132
ensure stash panel refreshes
2022-01-28 20:07:30 +11:00
Jesse Duffield
bed185eb28
stop retrying due to index lock for now
2022-01-27 21:25:04 +11:00
Jesse Duffield
84a1992055
better locking of merge panel state
2022-01-27 21:25:04 +11:00
Jesse Duffield
fa2e7ae1e7
show only merge conflict files when there are merge conflicts
2022-01-26 20:28:32 +11:00
Jesse Duffield
5a3f81d1f7
select current bisect commit even if bisect was started on another branch
2022-01-26 19:29:17 +11:00
Jesse Duffield
ebbdf829e7
fix panic on rebase
2022-01-26 17:20:58 +11:00
Jesse Duffield
5e6e1617aa
add another bisect integration test
2022-01-26 16:52:20 +11:00
Jesse Duffield
5e9cfab283
better rendering of bisect markets in commits panel
2022-01-26 16:52:20 +11:00
Jesse Duffield
ca7cfc3232
only show commits from start ref if bad commit is reachable from there
2022-01-26 16:52:20 +11:00
Jesse Duffield
dc765c4166
add a file close that was missed
2022-01-26 14:50:47 +11:00
Jesse Duffield
c8cc18920f
improve merge conflict flow
2022-01-26 14:50:47 +11:00
Jesse Duffield
ce3bcfe37c
fix reflog failing to properly refresh
2022-01-26 10:58:33 +11:00
glendsoza
eb57e3ead0
Fixed the issue with linting
2022-01-26 09:04:12 +11:00
glendsoza
0caa391c4d
Changes as per review
2022-01-26 09:04:12 +11:00
glendsoza
0c6bdac2f7
Changes as per review
2022-01-26 09:04:12 +11:00
glendsoza
257e222f8d
ISSUE 1706: Ask confirmation before reverting a commit
2022-01-26 09:04:12 +11:00
Mikael Elkiaer
874e230aef
run go fmt
2022-01-25 23:23:55 +11:00
Mikael Elkiaer
4da5795ef1
fixed indentation by swapping spaces for tabs
2022-01-25 23:23:55 +11:00
Mikael Elkiaer
03c9acad26
add tests specific for URL escaping in PRs
2022-01-25 23:23:55 +11:00
Mikael Elkiaer
d53322675d
update unit tests not expecting url escaping
2022-01-25 23:23:55 +11:00
Mikael Elkiaer
ae18ad5b66
add URL encoding in pull request branch names
2022-01-25 23:23:55 +11:00
Jesse Duffield
14b9a0b647
stop skipping stash warnings
2022-01-24 19:18:09 +11:00
Jesse Duffield
58bdcbf1dd
always refresh after stash action
2022-01-24 19:18:09 +11:00
Jesse Duffield
61ccc1efd2
exclude interactive rebase TODO commits from commit graph
2022-01-22 15:12:24 +11:00
Jesse Duffield
5b7dd9e43c
properly resolve cyclic dependency
2022-01-22 10:48:51 +11:00
Jesse Duffield
4ab5e54139
add support for git bisect
2022-01-22 10:48:51 +11:00
Birger Skogeng Pedersen
ab84410b41
check returned error (if any) from UpdateWindowTitle
2022-01-21 23:13:39 +11:00
Birger Skogeng Pedersen
a78cbf4882
remove redundant title-setting shell command args
2022-01-21 23:13:39 +11:00
Birger Skogeng Pedersen
62a7d9bbcc
invoke title-setting shell command appropriately
2022-01-21 23:13:39 +11:00
Birger Skogeng Pedersen
555d8bbc96
set repo name as window title when loading repo, fix #1691
2022-01-21 23:13:39 +11:00
bin101
ad23bd03a0
fix: custom service usage
2022-01-21 23:13:00 +11:00
Jesse Duffield
1f923bdc4b
softer auto-generation message
2022-01-19 21:40:50 +11:00
Jesse Duffield
3e80a9e886
refactor to group up more commonly used git command stuff
2022-01-18 22:01:09 +11:00
Jesse Duffield
b6fb7f1365
fix integration test
2022-01-18 21:25:52 +11:00
Jesse Duffield
d019626342
do not show branch graph when in filtering mode
2022-01-17 22:00:53 +11:00
Jesse Duffield
595aca2a4b
make integration test pass
2022-01-17 19:14:59 +11:00
Jesse Duffield
2691477aff
allow sandbox mode with integration tests
2022-01-17 19:14:59 +11:00
Jesse Duffield
99035959a1
fix merge scroll bug
2022-01-16 23:16:05 +11:00
Jesse Duffield
0092c9d08d
fix bug with subprocess
2022-01-16 03:32:09 +00:00
Jesse Duffield
befa35645e
fix bug which prevented quitting with confirm
2022-01-15 20:35:25 +11:00
Jesse Duffield
1c84f77319
always specify upstream when pushing/pulling
2022-01-15 15:34:01 +11:00
Jesse Duffield
8d8bdb948b
avoid deadlock in merge panel
2022-01-15 14:15:41 +11:00
Jesse Duffield
cdcfeb396f
stop refreshing the screen so much
2022-01-15 14:15:41 +11:00
Jesse Duffield
8263d15b03
fix issue where custom command would not open a menu
2022-01-15 10:14:19 +11:00
Jesse Duffield
2436ff197a
fewer panics
2022-01-09 14:14:47 +11:00
Jesse Duffield
e5096e71ab
add integration test for discarding old files
2022-01-09 14:14:47 +11:00
Jesse Duffield
ceb927fec0
fix formatting
2022-01-09 14:14:47 +11:00
Jesse Duffield
0dfd02c42d
allow rewording old commits
2022-01-09 14:14:47 +11:00
Jesse Duffield
ee15202207
add newline after message because it looks like the message doesn't appear otherwise for some reason
2022-01-09 14:09:53 +11:00
Jesse Duffield
a936c0592f
more refactoring
2022-01-09 14:09:53 +11:00
Jesse Duffield
4d80c87736
use a string builder for credential checking
2022-01-09 14:09:53 +11:00
Jesse Duffield
267ecbe694
refactor code for handling credential requests
2022-01-09 14:09:53 +11:00
Jesse Duffield
ccf90466fa
fix test
2022-01-09 14:09:53 +11:00
Jesse Duffield
16c9b5404d
restore field
2022-01-09 14:09:53 +11:00
Jesse Duffield
18f48a43d5
add some more linters
2022-01-09 14:09:53 +11:00
Jesse Duffield
5d6d894286
fix test
2022-01-09 14:09:53 +11:00
Jesse Duffield
e4e521f58a
pass repo to struct
2022-01-09 14:09:53 +11:00
Jesse Duffield
fdf79fdeee
fix bug that caused credentials popup to be raised unexpectedly
2022-01-09 14:09:53 +11:00
Jesse Duffield
0dd1c12e2f
fix format issue
2022-01-09 14:09:53 +11:00
Jesse Duffield
364c5db19c
shorten name
2022-01-09 14:09:53 +11:00
Jesse Duffield
c9a0cc6b30
refactor
2022-01-09 14:09:53 +11:00
Jesse Duffield
3621854dc7
fix tests
2022-01-09 14:09:53 +11:00
Jesse Duffield
c6b57d9b57
WIP
2022-01-09 14:09:53 +11:00
Jesse Duffield
a7a61cdc83
rearrange
2022-01-09 14:09:53 +11:00
Jesse Duffield
ee8ff6512f
trim down gitcommand struct some more
2022-01-09 14:09:53 +11:00
Jesse Duffield
e8229f0ee0
support general git config calls
2022-01-09 14:09:53 +11:00
Jesse Duffield
610e503296
refactor git flow
2022-01-09 14:09:53 +11:00
Jesse Duffield
e92076d2c2
start removing direct calls to cmd.New from gui
2022-01-09 14:09:53 +11:00
Jesse Duffield
d9089098c3
remove field
2022-01-09 14:09:53 +11:00
Jesse Duffield
3f44eac95b
remove repo field
2022-01-09 14:09:53 +11:00
Jesse Duffield
946a35b59d
remove OSCommand field
2022-01-09 14:09:53 +11:00
Jesse Duffield
007235df23
refactor
2022-01-09 14:09:53 +11:00
Jesse Duffield
f503ff1ecb
start breaking up git struct
2022-01-09 14:09:53 +11:00
Jesse Duffield
48a4565d1f
remove log of error now that we're returning it normally
2022-01-07 11:01:42 +11:00
Jakob Kogler
ee7a6391a8
remove redundant commit
2022-01-07 11:01:42 +11:00
Jakob Kogler
68fc6059d3
rename variable to failedCommitMessage
2022-01-07 11:01:42 +11:00
Jakob Kogler
f981255a5b
don't ignore error when commit with subprocess fails
...
If signing by GPG is enabled, the git commit command will be executed in
a subprocess, differently from when it is executed without GPG signing.
In case of an error, e.g. a failing pre-commit hook, the error needs to
be passed along, and not just ignored.
2022-01-07 11:01:42 +11:00
Jakob Kogler
beedc2553d
remember the message if commit fails
...
In case a commit fails, e.g. because a pre-commit hook returns an error,
lazygit will now remember the commit message and will suggest it during
the next commit (e.g. after fixing the error of the pre-commit hook).
2022-01-07 11:01:42 +11:00
Jesse Duffield
0d3e5e6a1d
simplify fetch
2022-01-07 10:52:51 +11:00
Jesse Duffield
93729ba61b
fix some things
2022-01-07 10:52:51 +11:00
Jesse Duffield
91fe68576c
refactor
2022-01-07 10:52:51 +11:00
Jesse Duffield
bbb5eee23a
privatise some fields
2022-01-07 10:52:51 +11:00
Jesse Duffield
05fa483f48
simplify how we log commands
2022-01-07 10:52:51 +11:00
Jesse Duffield
e8a1a4ffc0
add cheatsheet check script
2022-01-04 11:12:04 +11:00
Jesse Duffield
95b2e9540a
update tests
2022-01-04 09:07:15 +11:00
Jesse Duffield
3911575041
appease golangci-lint
2022-01-04 09:07:15 +11:00
Jesse Duffield
efa743b52e
small change
2022-01-04 09:07:15 +11:00
Jesse Duffield
6da6c1f2f2
small copy changes
2022-01-04 09:07:15 +11:00
Jesse Duffield
c82606a92a
fix broken format call
2022-01-04 09:07:15 +11:00
Jesse Duffield
194ff1630c
do dependency injection up front and in one place
2022-01-04 09:07:15 +11:00
Jesse Duffield
2cb8aff940
no more mocking command
2022-01-04 09:07:15 +11:00
Jesse Duffield
25195eacee
WIP
2022-01-04 09:07:15 +11:00
Jesse Duffield
ad9b2df104
more test refactoring
2022-01-04 09:07:15 +11:00
Jesse Duffield
9c4a819683
refactor sync test
2022-01-04 09:07:15 +11:00
Jesse Duffield
38bc48312e
refactor files_test.go
2022-01-04 09:07:15 +11:00
Jesse Duffield
547e0153ec
stash and tags loaders
2022-01-04 09:07:15 +11:00
Jesse Duffield
44b6d26b10
move remotes loader into loaders package
2022-01-04 09:07:15 +11:00
Jesse Duffield
d69ce7a529
move reflog commit loader into loaders package
2022-01-04 09:07:15 +11:00
Jesse Duffield
9b2b0fc122
WIP
2022-01-04 09:07:15 +11:00
Jesse Duffield
96c2887fd0
WIP
2022-01-04 09:07:15 +11:00
Jesse Duffield
66e840bc3f
more refactoring
2022-01-04 09:07:15 +11:00
Jesse Duffield
5b35724243
WIP
2022-01-04 09:07:15 +11:00
Jesse Duffield
b028f37ba8
updating specs
2022-01-04 09:07:15 +11:00
Jesse Duffield
1fc0d786ae
better typing for rebase mode
2022-01-04 09:07:15 +11:00
Jesse Duffield
9d4ff6b465
fix logging
2022-01-04 09:07:15 +11:00
Jesse Duffield
95f4ceea34
refactor
2022-01-04 09:07:15 +11:00
Jesse Duffield
43a4fa970d
WIP
2022-01-04 09:07:15 +11:00
Jesse Duffield
192a548c99
refactoring the config struct
2022-01-04 09:07:15 +11:00
Jesse Duffield
01ea5813a8
align Gui struct with GitCommand
2022-01-04 09:07:15 +11:00
Jesse Duffield
03b946cc8f
no more config in git command struct
2022-01-04 09:07:15 +11:00
Jesse Duffield
18ab086126
introduce Common struct for passing around common stuff
2022-01-04 09:07:15 +11:00
Jesse Duffield
b4c078d565
WIP
2022-01-04 09:07:15 +11:00
Jesse Duffield
9ef65574db
refactor to rename pull_request to hosting_service and apply SRP
2021-12-29 09:01:06 +11:00
Jesse Duffield
f89747451a
allow opening a commit in the browser
2021-12-29 09:01:06 +11:00
Francisco Miamoto
8a76b5a4ee
use custom handler only for branch commits context
2021-12-28 15:54:19 +11:00
Francisco Miamoto
1a7d0cd7ae
add binding to go to bottom on lists
...
Related to #1584
2021-12-28 15:54:19 +11:00
Francisco Miamoto
8c8b925b3a
set tag index directly
...
We can do this since they are already sorted by date created.
2021-12-26 17:08:31 +11:00
Francisco Miamoto
eff6c4283b
change formatting for menu items
2021-12-26 17:08:31 +11:00
Francisco Miamoto
7888ff6cb9
set show cancel as true for tag menu
2021-12-26 17:08:31 +11:00
Francisco Miamoto
e7a005f44d
update translations to match conventions
2021-12-26 17:08:31 +11:00
Francisco Miamoto
3e58797096
show tag menu for creation on tags tab
2021-12-26 17:08:31 +11:00
Francisco Miamoto
b1d6ccddfb
support creating annotated tags
2021-12-26 17:08:31 +11:00
Jesse Duffield
4df003cc44
handle ssh protocol
2021-12-26 17:05:05 +11:00
Jesse Duffield
d9db5ccfbe
refactor to use regex for matching git service URL
2021-12-26 16:48:23 +11:00
Jesse Duffield
7bc8b96aba
add FindNamedMatches function in utils
2021-12-26 16:48:23 +11:00
Marius Bergmann
38743ec99f
Suggest existing remote for non-tracking branch
...
Currently, when pushing or pulling a branch that has no tracking remote,
lazygit suggests the (hard-coded) remote named 'origin'. However, a
repository might not have a remote with this name, in which case the
suggestion makes no sense. This happens to me quite regularly when I
choose a more meaningful name than 'origin' for a remote.
This change keeps the current behavior by suggesting 'origin' when there
is either a remote with that name or no remote at all. However, when
'origin' does not exist, the name of the first remote is suggested.
Suggest existing remote for non-tracking branch
Currently, when pushing or pulling a branch that has no tracking remote,
lazygit suggests the (hard-coded) remote named 'origin'. However, a
repository might not have a remote with this name, in which case the
suggestion makes no sense. This happens to me quite regularly when I
choose a more meaningful name than 'origin' for a remote.
This change keeps the current behavior by suggesting 'origin' when there
is either a remote with that name or no remote at all. However, when
'origin' does not exist, the name of the first existing remote is
suggested.
2021-12-26 15:47:58 +11:00
justinsb
630de34bf2
Use "reword" for amending a commit message everywhere
...
We were inconsistent about "rename" vs "reword" for commits. reword
is the term used in git itself (for example, in rebase).
2021-12-25 22:34:41 +11:00
Mark Sagi-Kazar
fdf0d4a2c3
implement signoff
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
2021-12-25 12:01:55 +11:00
Mark Sagi-Kazar
b4ea565c99
add signoff config
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
2021-12-25 12:01:55 +11:00
Cokile
76e6745526
fix typo
2021-12-25 11:54:27 +11:00
Cokile
3771f9c98b
support config unified color for commit authors
2021-12-25 11:54:27 +11:00
Chris Burgin
4f627e5d27
wrap branch names in quotes
2021-12-25 11:50:06 +11:00
Erik Scrafford
089e3bf4fe
change branch regex to only grab the first remote on each line of branch command
2021-12-23 19:30:47 +11:00
Jesse Duffield
18283ad41b
add popup handler for easier testing
2021-12-06 22:37:28 +11:00
Jesse Duffield
1996eddd91
more efficient context diff size changing
2021-12-06 22:37:28 +11:00
DerTeta
de0e885c65
Refresh staging- or patch building panel when rendering their respective context
2021-12-06 22:37:28 +11:00
DerTeta
f7ffbbd72a
Add a menu entry and keybinding to {
for decreasing the context size
2021-12-06 22:37:28 +11:00