From 6167eb5cc0cabd6fcf59718ec00039c7175a03fc Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sat, 9 Jun 2018 19:30:59 +1000 Subject: [PATCH 01/10] dealing with no checkouts in reflog and checking out new branches --- branches_panel.go | 13 ++++++++++++- gitcommands.go | 9 ++++++++- gui.go | 3 +++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/branches_panel.go b/branches_panel.go index 8000da2a9..4060b670a 100644 --- a/branches_panel.go +++ b/branches_panel.go @@ -24,6 +24,16 @@ func handleForceCheckout(g *gocui.Gui, v *gocui.View) error { }, nil) } +func handleCheckoutByName(g *gocui.Gui, v *gocui.View) error { + createPromptPanel(g, v, "Branch Name:", func(g *gocui.Gui, v *gocui.View) error { + if output, err := gitCheckout(trimmedContent(v), false); err != nil { + return createErrorPanel(g, output) + } + return refreshSidePanels(g) + }) + return nil +} + func handleNewBranch(g *gocui.Gui, v *gocui.View) error { branch := state.Branches[0] createPromptPanel(g, v, "New Branch Name (Branch is off of "+branch.Name+")", func(g *gocui.Gui, v *gocui.View) error { @@ -31,7 +41,7 @@ func handleNewBranch(g *gocui.Gui, v *gocui.View) error { return createErrorPanel(g, output) } refreshSidePanels(g) - return handleCommitSelect(g, v) + return handleBranchSelect(g, v) }) return nil } @@ -59,6 +69,7 @@ func renderBranchesOptions(g *gocui.Gui) error { "space": "checkout", "f": "force checkout", "m": "merge", + "c": "checkout by name", }) } diff --git a/gitcommands.go b/gitcommands.go index 6c01aa889..091a638f8 100644 --- a/gitcommands.go +++ b/gitcommands.go @@ -165,7 +165,14 @@ func getGitBranches() []Branch { return branches } rawString, _ := runDirectCommand(getBranchesCommand) - for i, line := range splitLines(rawString) { + branchLines := splitLines(rawString) + if len(branchLines) == 0 { + // sometimes the getBranchesCommand command returns nothing, in which case + // we assume you've just init'd or cloned the repo and you've got master + // checked out + branches = append(branches, branchFromLine(" *\tmaster", 0)) + } + for i, line := range branchLines { branches = append(branches, branchFromLine(line, i)) } return branches diff --git a/gui.go b/gui.go index 314bf3960..01ae7640f 100644 --- a/gui.go +++ b/gui.go @@ -146,6 +146,9 @@ func keybindings(g *gocui.Gui) error { if err := g.SetKeybinding("branches", gocui.KeySpace, gocui.ModNone, handleBranchPress); err != nil { return err } + if err := g.SetKeybinding("branches", 'c', gocui.ModNone, handleCheckoutByName); err != nil { + return err + } if err := g.SetKeybinding("branches", 'F', gocui.ModNone, handleForceCheckout); err != nil { return err } From 30ce316209c4bf86b9a54f0523d68c89745610ad Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 10 Jun 2018 00:06:06 +1000 Subject: [PATCH 02/10] Create README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 000000000..6516a9cd1 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# lazygit +simple terminal UI for git commands + +https://media.giphy.com/media/8hXXdJjrrjxHmkhHYC/giphy.mp4 From 129be0b36474afae0d6f1ebc57b6f3255932a521 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 10 Jun 2018 00:07:25 +1000 Subject: [PATCH 03/10] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6516a9cd1..91178dca8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ # lazygit simple terminal UI for git commands -https://media.giphy.com/media/8hXXdJjrrjxHmkhHYC/giphy.mp4 + + From 595959db528b10b547f57a154512ad93cd37f063 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 10 Jun 2018 00:10:28 +1000 Subject: [PATCH 04/10] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 91178dca8..7a3915e11 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,4 @@ simple terminal UI for git commands - +![Alt Text](https://media.giphy.com/media/8hXXdJjrrjxHmkhHYC/giphy.gif) From 57611d355cf01440ec4664a1a9cab2c09a32f341 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 10 Jun 2018 00:37:03 +1000 Subject: [PATCH 05/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a3915e11..b6ab956d6 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ simple terminal UI for git commands -![Alt Text](https://media.giphy.com/media/8hXXdJjrrjxHmkhHYC/giphy.gif) +![Alt Text](https://preview.ibb.co/nHqbso/better.gif) From ea51578f5cccf5cfefc8845982bb592983764ce3 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 10 Jun 2018 00:40:33 +1000 Subject: [PATCH 06/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b6ab956d6..299ae084e 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ simple terminal UI for git commands -![Alt Text](https://preview.ibb.co/nHqbso/better.gif) +![Gif](https://ibb.co/byprQ8) From 4750aacb9b22c1406bd1a6c00b695590df797d8f Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 10 Jun 2018 00:40:54 +1000 Subject: [PATCH 07/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 299ae084e..0c976ca7a 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ simple terminal UI for git commands -![Gif](https://ibb.co/byprQ8) +![Gif](https://ibb.co/byprQ8.gif) From 7f01bfa24ebb1993a1a8f5c3d0c308139140ebe9 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 10 Jun 2018 00:43:11 +1000 Subject: [PATCH 08/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0c976ca7a..d5144c423 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ simple terminal UI for git commands -![Gif](https://ibb.co/byprQ8.gif) +![Gif](https://image.ibb.co/cVPQk8/better.gif) From dda94949d4245e8ce1baf149f7c4b9498833202d Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 10 Jun 2018 00:49:13 +1000 Subject: [PATCH 09/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d5144c423..ddefa1c11 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ simple terminal UI for git commands -![Gif](https://image.ibb.co/cVPQk8/better.gif) +![Gif](http://image.ibb.co/cVPQk8/better.gif) From 5e3481ca583a5a6024e38c13f681d89b34148536 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 10 Jun 2018 11:16:47 +1000 Subject: [PATCH 10/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ddefa1c11..35411b7e1 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ simple terminal UI for git commands -![Gif](http://image.ibb.co/cVPQk8/better.gif) +![Gif](https://image.ibb.co/nxyY58/shortone.gif)