Jesse Duffield
db826b3c87
add keybinding to create new branch off of commit
...
retain focus in commits panel
surface prompt errors
better description
2020-08-16 22:24:54 +10:00
Jesse Duffield
be658e7d64
support multi word editor config
2020-08-16 20:37:40 +10:00
Jesse Duffield
53f06f6a4e
prefill commit reword editor
2020-08-16 20:37:24 +10:00
Jesse Duffield
826d1660c9
move patch stuff into its own package
2020-08-15 11:41:37 +10:00
Jesse Duffield
291a8e4de0
allow opening files on the selected line in the staging panel
2020-08-15 11:41:37 +10:00
Jesse Duffield
2d18d089ce
allow entering a password when fast forwarding another branch
2020-08-12 18:47:16 +10:00
Jesse Duffield
9c7e40906d
rename arg
2020-08-12 18:47:16 +10:00
Jesse Duffield
bea2ae5ff5
stop pulling in general
2020-08-12 18:47:16 +10:00
Jesse Duffield
fcd5aea04e
support multiple modes of git pull
2020-08-12 18:47:16 +10:00
Jesse Duffield
1c0da2967c
update naming
2020-08-12 18:47:16 +10:00
Jesse Duffield
23299f88e9
simplify patch modifier interface
2020-08-09 15:42:20 +10:00
Jesse Duffield
660cc2f3d1
follow cursor when staging and unstaging a file rename
2020-08-07 18:59:56 +10:00
Jesse Duffield
469ac116ef
allow renames to be discarded
2020-08-07 18:01:26 +10:00
Jesse Duffield
7d5fe4b66c
better logic for staging a renamed file
2020-07-19 14:11:32 +10:00
Randshot
96f821b841
fix TestGitCommandCommit test
...
Signed-off-by: Randshot <randshot@norealm.xyz>
2020-07-15 09:41:16 +10:00
Randshot
964e3872c1
revert changes to 'os_default_platform.go' and 'os_windows.go'
...
Signed-off-by: Randshot <randshot@norealm.xyz>
2020-07-15 09:41:16 +10:00
Randshot
5dfa26ea8b
use strconv for quoting in 'GitCommand.Commit' and 'OSCommand.ShellCommandFromString'
...
use raw strings for the escaped quotes in 'os_default_platform.go' and 'os_windows.go'
Signed-off-by: Randshot <randshot@norealm.xyz>
2020-07-15 09:41:16 +10:00
Randshot
014e06eefd
factor out duplicate code into 'ShellCommandFromString'
...
Signed-off-by: Randshot <randshot@norealm.xyz>
2020-07-14 08:26:53 +10:00
Randshot
39a2122dc0
add quotes around the git commit command on non-windows systems
...
Signed-off-by: Randshot <randshot@norealm.xyz>
2020-07-14 08:26:53 +10:00
Randshot
570d27ffaa
Merge branch 'master' into add-overrideGpg-switch
...
Signed-off-by: Randshot <randshot@norealm.xyz>
2020-07-12 11:47:35 +02:00
Randshot
21e478dd59
fix 'Amend commit using gpg' test
...
Signed-off-by: Randshot <randshot@norealm.xyz>
2020-07-12 14:06:53 +10:00
Randshot
d14fb36cb9
fix 'Commit using gpg' test
...
Signed-off-by: Randshot <randshot@norealm.xyz>
2020-07-12 14:06:53 +10:00
Randshot
19a808642f
fix platform specific quoting when using GPG
...
fixes #620
Signed-off-by: Randshot <randshot@norealm.xyz>
2020-07-12 14:06:53 +10:00
Jasper Mendiola
e921ba0910
Remove getLocalGitConfig
2020-07-10 18:55:00 +10:00
Jasper Mendiola
0f5a073d57
Rename appconfig to config
2020-07-10 18:55:00 +10:00
Jasper Mendiola
cb0bdd89c0
fix tests
2020-07-10 18:55:00 +10:00
Jasper Mendiola
e89bf5d06b
add oneline-graph
2020-07-10 18:55:00 +10:00
Randshot
65e955c622
add overrideGpg switch, which prevents lazygit from spawning a separate process when using GPG
...
Signed-off-by: Randshot <randshot@norealm.xyz>
2020-05-30 23:39:07 +02:00
Jesse Duffield
04e93317b8
fix https://github.com/jesseduffield/lazygit/issues/848
2020-05-19 09:57:37 +10:00
Jesse Duffield
f8dedb710b
additional password prompt regex
2020-05-15 22:18:07 +10:00
Jesse Duffield
1c259f69f6
check if user has configured to push to current by default
2020-05-15 21:41:23 +10:00
Jesse Duffield
913f17ee3e
prevent flicker from bolding background of selected line
2020-05-15 21:12:12 +10:00
Gary Yendell
7ed8ee160d
Add option to split patch into a new commit
...
Add GetHeadCommitMessage to read the subject of the HEAD commit
Create PullPatchIntoNewCommit based heavily on PullPatchIntoIndex to
split the current patch from its commit and apply it in a separate
commit immediately after.
WIP to Squash - Fill format string with format string
WIP
2020-05-09 11:59:37 +10:00
Tyler Davis
b5404c6159
fix issue #640 add catCmd and OS-specific values
...
Add a catCmd to the Platform struct and set the value to "cat" for
non-windows builds and "type" for windows builds.
2020-04-27 19:14:18 +10:00
Jesse Duffield
cc13ae252a
totally screwed up the last commit
2020-04-22 11:21:20 +10:00
Jesse Duffield
b97f844a3e
handle comments in todo files
2020-04-22 11:15:41 +10:00
Jesse Duffield
304607ae5d
support configurable merge args
2020-04-20 18:40:49 +10:00
Glenn Vriesman
66d7d5f312
fix: fixed gpg breaking terminal
...
Signed-off-by: Glenn Vriesman <glenn.vriesman@gmail.com>
2020-04-20 18:30:57 +10:00
Jesse Duffield
2974a57943
support copying stuff to clipboard
2020-04-15 10:44:56 +00:00
Jesse Duffield
40fbce91ce
add new diff mode
...
WIP
WIP
WIP
WIP
WIP
WIP
WIP
2020-03-29 18:26:24 +11:00
Jesse Duffield
33d287d2f0
remove old diff mode code
2020-03-29 18:26:24 +11:00
Jesse Duffield
a2790cfe8e
rename to filtered mode
2020-03-29 11:37:29 +11:00
Jesse Duffield
624ae45ebb
allow scoped mode where the commits/reflog/stash panels are scoped to a file
...
WIP
restrict certain actions in scoped mode
WIP
2020-03-29 11:37:29 +11:00
Jesse Duffield
517b7d0283
fix up some things with the patch handling stuff
2020-03-28 13:19:35 +11:00
Jesse Duffield
0c0231c3e8
autostash changes when pulling file into index
2020-03-28 13:19:35 +11:00
Jesse Duffield
a9559a5c87
move working tree state function into git.go
2020-03-28 13:19:35 +11:00
Jesse Duffield
814ee24c8d
better error handling
2020-03-28 11:59:45 +11:00
Jesse Duffield
e9051355a1
fix test
2020-03-28 11:59:45 +11:00
Jesse Duffield
036b53acf8
in fact we don't need any of these options
2020-03-28 11:59:45 +11:00
Jesse Duffield
919463ff02
actually don't even bother limiting
2020-03-28 11:59:45 +11:00
Jesse Duffield
3f7ec3f3b8
load reflog commits in two stages to speed up startup time
2020-03-28 11:59:45 +11:00
Jesse Duffield
19604214d7
discard old reflog commits when in new context
2020-03-28 11:59:45 +11:00
Jesse Duffield
c1a4bd0482
more smart refreshing
...
WIP
WIP
WIP
WIP
WIP
fix how diff entries are handled
WIP
WIP
WIP
WIP
WIP
WIP
2020-03-28 11:59:45 +11:00
Jesse Duffield
d0336fe16f
better presentation of remotes
2020-03-28 11:59:45 +11:00
Jesse Duffield
198d237679
more centralised handling of refreshing
2020-03-28 11:59:45 +11:00
Jesse Duffield
fbbd16bd82
use reflogs from state to work out branch recencies
2020-03-28 11:59:45 +11:00
Jesse Duffield
bd2c1eef53
remove redundant fetch of reflog
2020-03-28 11:59:45 +11:00
Jesse Duffield
d1395b15bb
use GIT_EDITOR
2020-03-27 19:26:14 +11:00
Máximo Cuadros
2d8ed5e274
*: update go-git import
2020-03-27 19:06:21 +11:00
Jesse Duffield
f2036b42e5
only load new reflog entries
2020-03-26 21:44:33 +11:00
Jesse Duffield
21b7d41845
relax limit on commit list and reset on branch change
2020-03-26 21:44:33 +11:00
Jesse Duffield
91a404d033
separate commits from cherry pick state
2020-03-26 21:44:33 +11:00
Jesse Duffield
d027cf969c
better handling of current branch name
2020-03-26 20:37:06 +11:00
Jesse Duffield
37acc17cf3
more lenient getting of short shas
2020-03-26 18:30:02 +11:00
Dawid Dziurla
c831ad39c9
pkg: use upstream pty package
2020-03-25 21:26:15 +11:00
Jesse Duffield
32d3e497c3
fix tests
2020-03-25 09:39:04 +11:00
Jesse Duffield
0e23f44b84
support reflog action prefix
2020-03-25 09:39:04 +11:00
Jesse Duffield
f80d15062b
use reflog undo history pointer
2020-03-25 09:39:04 +11:00
Jesse Duffield
3d3e0be7bd
more compatible commands
2020-03-23 22:33:17 +11:00
Jesse Duffield
dadb646252
fix branch building
2020-03-19 12:04:17 +11:00
Jesse Duffield
0227b93409
fix branch parser
2020-03-18 23:26:02 +11:00
Jesse Duffield
1be0ff8da7
better upstream tracking and allow renaming a branch
2020-03-18 21:29:06 +11:00
Jesse Duffield
e47ad846c4
big golangci-lint cleanup
2020-03-09 12:23:13 +11:00
Jesse Duffield
19146d61b1
use selected branch as base when creating a new branch
2020-03-08 18:44:15 +11:00
skwerlman
e541b809ce
update tests to match changed command
2020-03-06 09:25:31 +11:00
skwerlman
6ca08c6519
make branches and files non-ambiguous for git-log
...
fixes #694
2020-03-06 09:25:31 +11:00
Jesse Duffield
0fc58a7986
fix test
2020-03-04 00:12:23 +11:00
Jesse Duffield
54241d8ab9
more generic way of supporting custom pagers
2020-03-04 00:12:23 +11:00
Jesse Duffield
355f1615ab
supporing custom pagers step 1
2020-03-04 00:12:23 +11:00
William Wagner Moraes Artero
3ce2b9b79a
chore: keeping coverage up :D
2020-03-01 10:57:12 +11:00
William Wagner Moraes Artero
a79182e50d
fix: accidentally escaped %s
2020-03-01 10:57:12 +11:00
William Wagner Moraes Artero
0eb3090ad6
fix: owner groups (GitLab)
2020-03-01 10:57:12 +11:00
William Wagner Moraes Artero
6ea25bd259
feat: flexible service configuration
2020-03-01 10:57:12 +11:00
William Wagner Moraes Artero
fe5f087f9c
feat: configurable services
2020-03-01 10:57:12 +11:00
David Chen
a9fe0b8000
set --abbrev-commit to return 8-digit hash strings
2020-02-27 18:05:41 +11:00
David Chen
5af7b0235e
fix #680 : unpushed commits still appear to be green instead of red
2020-02-27 18:05:41 +11:00
Corentin Rossignon
bf946200e9
Fix OutOfBound array access when looking for ReflogCommits
...
refs #679
2020-02-27 09:34:40 +11:00
Jesse Duffield
890cc87724
fix bug where commits appeared as green despite not being pushed
2020-02-27 09:33:09 +11:00
Jesse Duffield
02c497fad6
show file list when diffing commits
2020-02-25 21:38:38 +11:00
Jesse Duffield
f94d0be2c9
refactor the way we render lists
2020-02-25 21:21:07 +11:00
Jesse Duffield
9fd9fd6816
better commit lines in fullscreen mode
2020-02-25 21:21:07 +11:00
Jesse Duffield
0034cfef5c
show tags in commits panel
2020-02-24 23:13:54 +11:00
Jesse Duffield
370cec098b
show diff stat
2020-02-24 09:20:50 +11:00
Jesse Duffield
fabdda0492
allow customizing background color in staging mode
2020-02-23 18:37:19 +11:00
Glenn Vriesman
6fc3290a05
Reflog: Use 20 sha digits instead of 7
...
Signed-off-by: Glenn Vriesman <glenn.vriesman@gmail.com>
2020-02-20 08:34:01 +11:00
Jesse Duffield
66e6369c28
allow fastforwarding the current branch
2020-02-18 23:07:38 +11:00
Jesse Duffield
71e018a3dd
get whole commit SHA from rebase commits
2020-02-13 18:10:14 +11:00
Glenn Vriesman
d9eb6e2682
Fixed tests
...
Signed-off-by: Glenn Vriesman <glenn.vriesman@gmail.com>
2020-02-09 23:47:22 +11:00
Glenn Vriesman
b74107f2ba
Use 8 instead of 7 digit long sha
...
Signed-off-by: Glenn Vriesman <glenn.vriesman@gmail.com>
2020-02-09 23:47:22 +11:00
Glenn Vriesman
0cd91a10c6
Increase internal sha size
...
This does not change the sha size that is displayed to the user
Signed-off-by: Glenn Vriesman <glenn.vriesman@gmail.com>
2020-02-09 23:47:22 +11:00
Glenn Vriesman
9f5397a2d4
Moved function to git.go
...
Signed-off-by: Glenn Vriesman <glenn.vriesman@gmail.com>
2020-02-06 23:19:29 +11:00
Glenn Vriesman
5f53d50492
Check cached when showing new file diffs
...
Signed-off-by: Glenn Vriesman <glenn.vriesman@gmail.com>
2020-02-04 08:41:41 +11:00
Chris Taylor
c6cb90e8ca
verify that VISUAL,EDITOR,LGCC envvars are set for non-interactive commands
2020-02-02 11:29:22 +11:00
Chris Taylor
75ba2196ba
perpetuate this style of dependency injection
2020-02-02 11:29:22 +11:00
Chris Taylor
4cb50b15e4
make amend more non-interactive
2020-02-02 11:29:22 +11:00
Jesse Duffield
44edb49a6e
handle files that were deleted downstream but modified upstream
2020-01-29 19:07:47 +11:00
Jesse Duffield
c166c57c5d
make use of branch config when pushing/pulling
2020-01-29 15:19:19 +11:00
Jesse Duffield
6b77e4ee4a
fix comment
2020-01-28 22:18:55 +11:00
Jesse Duffield
e5534f060d
use reflog timestamps rather than commit timestamps to show commit recency
2020-01-28 22:12:48 +11:00
Jesse Duffield
23bcc19180
allow fast flicking through any list panel
...
Up till now our approach to rendering things like file diffs, branch logs, and
commit patches, has been to run a command on the command line, wait for it to
complete, take its output as a string, and then write that string to the main
view (or secondary view e.g. when showing both staged and unstaged changes of a
file).
This has caused various issues. For once, if you are flicking through a list of
files and an untracked file is particularly large, not only will this require
lazygit to load that whole file into memory (or more accurately it's equally
large diff), it also will slow down the UI thread while loading that file, and
if the user continued down the list, the original command might eventually
resolve and replace whatever the diff is for the newly selected file.
Following what we've done in lazydocker, I've added a tasks package for when you
need something done but you want it to cancel as soon as something newer comes
up. Given this typically involves running a command to display to a view, I've
added a viewBufferManagerMap struct to the Gui struct which allows you to define
these tasks on a per-view basis.
viewBufferManagers can run files and directly write the output to their view,
meaning we no longer need to use so much memory.
In the tasks package there is a helper method called NewCmdTask which takes a
command, an initial amount of lines to read, and then runs that command, reads
that number of lines, and allows for a readLines channel to tell it to read more
lines. We read more lines when we scroll or resize the window.
There is an adapter for the tasks package in a file called tasks_adapter which
wraps the functions from the tasks package in gui-specific stuff like clearing
the main view before starting the next task that wants to write to the main
view.
I've removed some small features as part of this work, namely the little headers
that were at the top of the main view for some situations. For example, we no
longer show the upstream of a selected branch. I want to re-introduce this in
the future, but I didn't want to make this tasks system too complicated, and in
order to facilitate a header section in the main view we'd need to have a task
that gets the upstream for the current branch, writes it to the header, then
tells another task to write the branch log to the main view, but without
clearing inbetween. So it would get messy. I'm thinking instead of having a
separate 'header' view atop the main view to render that kind of thing (which
can happen in another PR)
I've also simplified the 'git show' to just call 'git show' and not do anything
fancy when it comes to merge commits.
I considered using this tasks approach whenever we write to a view. The only
thing is that the renderString method currently resets the origin of a view and
I don't want to lose that. So I've left some in there that I consider harmless,
but we should probably be just using tasks now for all rendering, even if it's
just strings we can instantly make.
2020-01-12 11:17:20 +11:00
Jesse Duffield
282f08df36
lazyload commits
2020-01-12 10:10:56 +11:00
Jesse Duffield
9b32e99eb8
add reflog tab in commits panel
2020-01-09 22:36:07 +11:00
Jamie Brynes
aea4661be5
escape editor path
2020-01-08 22:24:36 +11:00
Jesse Duffield
09aabce3cd
allow commits to be checked out
2020-01-07 20:43:01 +11:00
Jesse Duffield
eb2bfd3848
allow hard resetting to upstream branch
2020-01-07 20:26:01 +11:00
Jamie Brynes
5e45ae1584
fix applying patch on Windows machine
...
This bug was caused how the timestamp was formatted for the patch file.
On Windows machines, ":" is an invalid character for a filename, but the
`stampNano` format for time contains ":".
This fix adjusts the time format to be the `stampNano` format with "."
subsituted for ":".
2020-01-05 20:01:20 +00:00
Jesse Duffield
3f4613feb0
allow fetching remotes with 'f'
2019-12-07 16:23:04 +11:00
Jesse Duffield
339e1b5dcf
lenient sorting of tags on startup
2019-11-26 21:39:40 +11:00
Jesse Duffield
7113ed73d4
support older versions of git when getting remote branches
2019-11-26 21:36:07 +11:00
Jesse Duffield
3dd1daacdc
unescape another string
2019-11-21 22:17:18 +11:00
Jesse Duffield
e18e81f5eb
don't pass single commands directly to RunCommand (or equivalent function)
...
when it contains percentages.
This is a really strange one. It's a linting warning in my editor
and it doesn't stop me from compiling, but it breaks `go test`.
A basic file to reproduce what I'm talking about:
package main
import "fmt"
func main() {
notSprintf("test %s") // compiler complains here thinking %s needs a corresponding argument
}
func notSprintf(formatStr string, formatArgs ...interface{}) string {
if formatArgs != nil {
return formatStr
}
return fmt.Sprintf(formatStr, formatArgs...)
}
2019-11-21 22:07:14 +11:00
Jesse Duffield
67a446234c
fix specs
2019-11-21 22:07:14 +11:00
Jesse Duffield
f905b27b00
couple of things to clean up after rebasing onto master
2019-11-21 22:07:14 +11:00
Jesse Duffield
e36ee0b4f1
give RunCommand the same input signature as fmt.Sprintf
2019-11-21 22:07:14 +11:00
Jesse Duffield
3c13229145
add tags panel
2019-11-21 22:07:14 +11:00
Jesse Duffield
cea24c2cf9
allow editing remotes
2019-11-21 22:07:14 +11:00
Jesse Duffield
07cbae4019
support setting upstream
2019-11-21 22:07:14 +11:00
Jesse Duffield
b42202ea1c
better fast forward
2019-11-21 22:07:14 +11:00
Jesse Duffield
a9cd647075
support deleting remote branches
2019-11-21 22:07:14 +11:00
Jesse Duffield
2afbd7ba7f
support merging remote branches into checked out branch
2019-11-21 22:07:14 +11:00
Jesse Duffield
55ff0c0dee
support detached heads when showing the selected branch
2019-11-21 22:07:14 +11:00
Jesse Duffield
6b7aaeca45
support adding/removing remotes
2019-11-21 22:07:14 +11:00
Jesse Duffield
1f3e1720a3
split RemoteBranch out from Branch
2019-11-21 22:07:14 +11:00
Jesse Duffield
b7f2d0366b
get branches with git for-each-ref
2019-11-21 22:07:14 +11:00
Jesse Duffield
b5385f2560
remove redundant logging
2019-11-21 22:07:14 +11:00
Jesse Duffield
325408d0e3
get remote branches when getting remotes
2019-11-21 22:07:14 +11:00
Jesse Duffield
eeb667954f
trying to use gogit with branches from remotes
2019-11-21 22:07:14 +11:00
Jesse Duffield
092f27495a
add remote model
2019-11-21 22:07:14 +11:00
Jesse Duffield
3b1d705473
show upstream branch for branch
2019-11-13 22:25:42 +11:00
Jesse Duffield
f43ba728e3
prompt to set upstream when pulling on untracked branch
...
prompt to set upstream when pulling on untracked branch
2019-11-13 21:36:16 +11:00
Jesse Duffield
12b84307ac
specify upstream when pushing a branch for the first time
2019-11-11 23:30:30 +11:00
Jesse Duffield
cd17b46b55
reset patch builder when we've escaped from the building phase and nothing has been added
2019-11-10 16:18:25 +11:00
Jesse Duffield
d0d92c7697
remove old add patch keybinding
2019-11-10 15:01:40 +11:00
Jesse Duffield
2f37c0caaf
fix tests
2019-11-05 19:22:01 +11:00
Jesse Duffield
86a39e3aea
only test with non-original header
2019-11-05 19:22:01 +11:00
Jesse Duffield
72fe770974
better interface for ApplyPatch function
2019-11-05 19:22:01 +11:00
Jesse Duffield
db8c398fa3
strip whitespace when there is nothing else
2019-11-05 19:22:01 +11:00
Jesse Duffield
861bcc38be
fix ambiguous condition
2019-11-05 19:22:01 +11:00
Jesse Duffield
cd3874ffb7
don't let patch manager ever be nil
2019-11-05 19:22:01 +11:00
Jesse Duffield
48347d4d86
use fallback approach for applying patch
2019-11-05 19:22:01 +11:00
Jesse Duffield
0046e9c469
create backups of patch files in case something goes wrong
2019-11-05 19:22:01 +11:00
Jesse Duffield
733145d132
clear patch after successful patch operation
2019-11-05 19:22:01 +11:00
Jesse Duffield
f285d80d0e
move PatchManager to GitCommand
2019-11-05 19:22:01 +11:00
Jesse Duffield
1fc120de2d
better rebase args
2019-11-05 19:22:01 +11:00
Jesse Duffield
d5e443e8e3
Support building and moving patches
...
WIP
2019-11-05 19:22:01 +11:00
Jesse Duffield
820f3d5cbb
support split view in staging panel and staging ranges
2019-11-05 19:22:01 +11:00
mjarkk
02fef3136f
Added light theme option to the settings
2019-10-20 12:32:57 +11:00
Giorgio Previtera
827837b0b9
477 Remove unnecessary variable check
...
hasInlineMergeConflicts is always true with hasMergeConflicts is true
2019-07-27 11:05:23 +10:00
Giorgio Previtera
e83ef9858b
#477 Remove NeedMerge
boolean
...
Instead of storing the status in a new variable, derive it from
the existing three fields
2019-07-27 11:05:23 +10:00
Giorgio Previtera
504d506575
477 Add new NeedReset
property to File and update tests
...
Use a boolean to determin if a file needs to be reset. We want to reset
the file when discrading changes if there is a conflict.
2019-07-27 11:05:23 +10:00
Giorgio Previtera
823b436b53
477 Remove duplicate checkout
...
We already checout the file calling `c.DiscardUnstagedFileChanges`
2019-07-27 11:05:23 +10:00
Giorgio Previtera
212327d746
#477 Discard changes when there are merge conflicts
...
If there are merge conflicts, reset the file and discard all changes
2019-07-27 11:05:23 +10:00
Christian Muehlhaeuser
cc138fc70e
Simplified boolean comparison
2019-07-27 10:55:21 +10:00
Christian Muehlhaeuser
975a5315b0
Simplified code a bit
2019-07-27 10:52:06 +10:00
haowei
e1f5601d4b
fix typo
2019-07-14 14:24:59 +10:00
Jesse Duffield
3e40369fd2
add GIT_OPTIONAL_LOCKS=0 env var to all commands
2019-06-06 20:53:35 +10:00
Jesse Duffield
0f0fda1660
allow stashing staged changes
...
reinstate old stash functionality with the 's' keybinding
2019-06-06 20:50:19 +10:00
Jesse Duffield
c61bfbdd4c
Support opening lazygit in a submodule
2019-05-12 17:59:49 +10:00
Jesse Duffield
5a0d0bb299
support resetting to a commit in either soft, hard, or mixed mode
2019-05-06 22:44:38 +10:00
Suhas Karanth
e09aac6450
Improve directory check for .git
...
Return error if the .git exists but is not a directory. This provides a
slightly better failure message for git repo with submodules in case
the '.git' is a file which provides the reference to the parent's .git
folder with the submodule inside.
2019-05-06 21:37:42 +10:00
Jesse Duffield
0d3a193ab5
Add 'w' keybinding in files panel to commit as a WIP
...
If your git.skipHookPrefix is set to, say, WIP, in your config, then
hitting 'w' in the files panel will bring up the commit message panel
with 'WIP' pre-filled, so you just need to hit enter to confirm
(or add some more to the message) in order to commit your changes
with the --no-verify flag, meaning the pre-commit hook will be skipped
2019-04-13 14:38:17 +10:00
Jesse Duffield
ab9fa291a8
Add skipHookPrefix to config
...
allows a user to specify a commit message prefix that will tell lazygit to skip
the pre-commit hook. This defaults to WIP. Setting it to the empty string will
disable the feature.
So if my message goes 'WIP: do the thing' then the pre-commit hook will not run
2019-04-13 14:38:17 +10:00
Peter Lundberg
fc3a57b5e2
Change expected sha for DiscardOldFileChanges
2019-04-10 17:17:31 +10:00
Peter Lundberg
7ff07e1454
Always include atleast 2 commits when doing squash and fixup
2019-04-10 17:17:31 +10:00
Jesse Duffield
55538a3695
support custom commands
2019-04-07 17:15:01 +10:00
Jesse Duffield
60e33f5d8c
Allow for creating fixup! commits
2019-04-07 13:13:40 +10:00
skanehira
f34be1896a
fixed some #397
2019-04-06 13:02:20 +11:00
skanehira
c350cdba43
add feature of display diff between specific commits #397
2019-04-06 13:02:20 +11:00
Jesse Duffield
acfc961909
move soft reset keybinding into reset options
2019-03-23 13:26:17 +11:00
Jesse Duffield
f502f75e1f
add more options for resetting files in the working tree
2019-03-23 13:26:17 +11:00
Jesse Duffield
ff97ef7b94
support discarding unstaged changes
2019-03-23 13:26:17 +11:00
Kristijan Husak
0d208b7957
Update bitbucket pull request url.
2019-03-16 11:58:26 +11:00
Jesse Duffield
f5c8aac97d
add two more tests
2019-03-16 10:20:27 +11:00
Jesse Duffield
466fc4227e
fix tests
2019-03-16 10:20:27 +11:00
Jesse Duffield
c034c88be4
display test name when running tests
2019-03-16 10:20:27 +11:00
Jesse Duffield
72830efc45
add some tests
2019-03-16 10:20:27 +11:00
Jesse Duffield
c98eddc185
appease golangci
2019-03-16 10:20:27 +11:00
Jesse Duffield
3f567c952c
i18n for error message about a feature being disabled for GPG users
2019-03-16 10:20:27 +11:00
Jesse Duffield
4f7f6a073c
allow user to discard old file changes for a given commit
2019-03-16 10:20:27 +11:00
Jesse Duffield
0e008cc15f
allow user to checkout old files
2019-03-16 10:20:27 +11:00
Jesse Duffield
1ad9c6faac
minor cleanup
2019-03-16 10:20:27 +11:00
skanehira
06fe726ee7
Add feature of display committed file list #383
2019-03-16 10:20:27 +11:00
Jesse Duffield
0079015102
distinguish between inline and non-inline merge conflicts
2019-03-03 15:58:01 +11:00
Jesse Duffield
7a2176f479
acknowledge 'DU' statuses as being merge conflicts
2019-03-03 15:48:16 +11:00
Jesse Duffield
8925b161a7
windows support for skipping the editor
2019-03-03 12:44:10 +11:00
Jesse Duffield
273678f081
fix issue where you couldn't rearrange commits while rebasing onto a branch
2019-03-02 21:31:48 +11:00
Jesse Duffield
0c886eddfb
Revert "remove old rebase code now that we're only ever interactively rebasing"
...
This reverts commit 1a19b1412d
.
2019-03-02 20:00:26 +11:00
Jesse Duffield
1337f6e76a
appease golangci
2019-03-02 17:45:53 +11:00
Jesse Duffield
4de31da4be
fix up tests
...
This fixes up some git and oscommand tests, and pulls some tests into commit_list_builder_test.go
I've also made the NewDummyBlah functions public so that I didn't need to duplicate them across packages
I've also given OSCommand a SetCommand() method for setting the command on the struct
I've also created a file utils.go in the test package for creating convient 'CommandSwapper's, which
basically enable you to assert a sequence of commands on the command line, and swap each one out for
a different one to actually be executed
2019-03-02 13:39:09 +11:00
Jesse Duffield Duffield
23c51ba708
cleanup
2019-02-24 18:34:18 +11:00
Jesse Duffield Duffield
f4938deaae
change type of cherryPickedCommits from []string to []*Commit
2019-02-24 17:34:19 +11:00
Jesse Duffield Duffield
a8858cbd12
support cherry picking commits
2019-02-24 13:51:52 +11:00
Jesse Duffield Duffield
1a19b1412d
remove old rebase code now that we're only ever interactively rebasing
2019-02-24 11:03:14 +11:00
Jesse Duffield Duffield
95d451e59a
Make it easier to run sync/async commands, switch to interactive rebase when rebasing on branches
2019-02-24 10:58:15 +11:00
Jesse Duffield
f6b3a9b184
rearranging todo items while interactively rebasing
2019-02-24 09:42:34 +11:00
Jesse Duffield
cdc50e8557
more support for files with spaces
2019-02-24 09:42:34 +11:00
Jesse Duffield
0173fdb9df
support file renames
2019-02-24 09:42:32 +11:00
Jesse Duffield
0228e25084
work towards more interactive rebase options
2019-02-19 23:36:36 +11:00
Jesse Duffield
935f774834
don't autostash when editing
2019-02-19 09:34:24 +11:00
Jesse Duffield
dcc7855fd0
pull commit list builder functions into their own builder struct
2019-02-19 09:18:30 +11:00
Jesse Duffield
a8e22ed82f
show interactive rebase commits that are yet to go
2019-02-19 09:03:29 +11:00
Jesse Duffield
d44638130c
add various interactive rebase commands
2019-02-18 23:27:54 +11:00
Jesse Duffield
76a27f417f
rename any commit
2019-02-18 21:29:43 +11:00
Jesse Duffield
e011e9bc42
more work on rebasing feature
2019-02-16 21:01:17 +11:00
Jesse Duffield
ad93b4c863
consider whether the view has focus when rendering the contents of a view
2019-02-16 15:17:44 +11:00
Jesse Duffield
d967f65329
fix git tests
2019-02-16 11:24:47 +11:00
Jesse Duffield
6430ab6ac9
Merge branch 'master' into feature/rebasing
2019-02-11 22:46:27 +11:00
Jesse Duffield
cfe3605e6b
use go-errors package to display stacktrace of errors that cause panics
2019-02-11 22:39:17 +11:00
Jesse Duffield
3d343e9b57
Merge branch 'master' into feature/rebasing
2019-02-11 21:02:53 +11:00
KimMachineGune
3e24069722
pkg: Fix typo
2019-01-16 18:06:11 +11:00
Jesse Duffield
0afffd03ca
remove comment
2018-12-19 21:46:48 +11:00
mjarkk
800b40ecc4
Translated credentials error with git push/pull/fetch
2018-12-19 10:06:58 +01:00
Jesse Duffield
7835fce708
fix tests
2018-12-18 22:40:36 +11:00
Jesse Duffield
20a94447d7
explicitly return newlines to our live command stdin
2018-12-18 22:23:17 +11:00
Jesse Duffield
c35255b7a9
set stderr ourselves so that we only read the error output if there is any
2018-12-18 21:25:49 +11:00
mjarkk
f5f726e9c4
A try to hide the password from the error output
2018-12-17 08:58:09 +01:00
Jesse Duffield
4886b8350e
always hide rather than delete the credentials view, and don't log on error in case there is a user password in the error
2018-12-16 17:28:04 +11:00
mjarkk
af26b5f3e0
Tried to fix circleci
2018-12-14 13:45:43 +01:00
mjarkk
70cd6700e7
Tried to fix circleci
2018-12-14 13:43:13 +01:00
mjarkk
d11f8989d9
Merge branch 'https-ask-for-username-password' of https://github.com/mjarkk/lazygit into https-ask-for-username-password
2018-12-14 13:40:40 +01:00
mjarkk
0fca27d022
Tried to fix circleci
2018-12-14 13:40:29 +01:00
Mark Kopenga
255319e597
Merge branch 'master' into https-ask-for-username-password
2018-12-14 11:13:29 +01:00
mjarkk
5d038dfd33
Removed the wired error handling
2018-12-12 22:11:31 +01:00
mjarkk
0577d3b97f
Removed the username / password savety check
...
This check is not realy needed because the change that it will show up a second time is so low that this is more work to check than the change it actualy might happen
2018-12-12 21:08:53 +01:00
Jesse Duffield
a26c15dafa
some fixes for issues around the credentials panel
2018-12-12 22:34:20 +11:00
Jesse Duffield
9489a94473
Make merge panel its own panel
2018-12-11 22:02:12 +11:00
Jesse Duffield
e0ff46fe53
more work on rebasing including visual indicators
2018-12-11 09:39:54 +11:00
Glenn Vriesman
7a7e885773
Added rebase support commands
2018-12-11 09:39:54 +11:00
Glenn Vriesman
670f0e37c7
Added rebase functions
2018-12-11 09:39:54 +11:00
Glenn Vriesman
822dc5dada
Moved push-pullables status to the end
2018-12-11 09:38:33 +11:00
mjarkk
f14effe5f5
Worked and fixed a view comments
2018-12-09 13:04:19 +01:00
Mark Kopenga
19a6a32625
Merge branch 'master' into https-ask-for-username-password
2018-12-08 16:41:39 +01:00
Jesse Duffield
ff856b7630
fetching branches without checking out
2018-12-08 11:51:47 +11:00
Jesse Duffield
99a8b1ae8b
making a start on unidirectional data binding to fix these UI bugs
2018-12-08 11:51:47 +11:00
Mark Kopenga
1b6d34e76a
Merge branch 'master' into https-ask-for-username-password
2018-12-06 08:31:12 +01:00
Jesse Duffield
3b51d7cd00
clean as well as reset (I'm hoping this is a good design decision)
2018-12-05 20:06:47 +11:00
Jesse Duffield
66512ca253
use porcelain git rather than go-git for reset --hard HEAD because go-git takes over 5 seconds
2018-12-05 19:49:07 +11:00
Jesse Duffield
c0f9795910
staging lines and hunks
2018-12-05 19:33:46 +11:00
Jesse Duffield
658e5a9faf
initial support for staging individual lines
2018-12-04 22:11:48 +11:00
mjarkk
2edd2b74ff
Removed a lot of useless code
2018-12-02 14:58:18 +01:00