Compare commits

...
18 Commits
Author SHA1 Message Date
Jesse Duffield a253b0b897 Merge branch 'master' of https://github.com/jesseduffield/lazygit 2018-08-08 08:59:09 +10:00
Jesse Duffield 5ca47c3f47 merge master 2018-08-08 08:58:24 +10:00
Jesse Duffield 456c593c72 Update README.md 2018-08-08 08:49:37 +10:00
Jesse Duffield 3b264806ef add version number 2018-08-08 08:32:52 +10:00
Jesse Duffield 7add598235 give everybody permission 2018-08-08 08:13:40 +10:00
Jesse Duffield 2853aba951 appending version number to binaries 2018-08-08 08:07:43 +10:00
Jesse Duffield 8cc444182f make binaries executable 2018-08-08 08:02:33 +10:00
Jesse Duffield 2a25ce014b use correct filenames 2018-08-08 07:56:55 +10:00
Jesse Duffield 411c02324f use gox default output 2018-08-08 07:54:46 +10:00
Jesse Duffield f580572e70 Merge branch 'master' of https://github.com/jesseduffield/lazygit 2018-08-08 07:40:04 +10:00
Jesse Duffield ba30e9e450 log some travis ci stuff 2018-08-08 07:39:58 +10:00
Nicolas Borboën 30d79bfa2c Merge remote-tracking branch 'upstream/master' into ponsfrilus/cli-version 2018-08-07 16:17:01 +02:00
Nicolas Borboën 4d9d2b134f Add lazygit --v version
* Recover Rev and Build Date from build args
* Moved `debuggingPointer` and `versionFlag` to `var()`
* Print version and exit in case of `-v` or `--v`
2018-08-07 16:15:23 +02:00
Nicolas Borboën 6cb0a14f33 Add build date to build cmd 2018-08-07 16:11:53 +02:00
Jesse Duffield 51d3e679bf Merge pull request #66 from ponsfrilus/patch-1
[fix] link to code of conduct
2018-08-07 23:21:22 +10:00
Jesse Duffield bab884f1df nonrelative path to binaries 2018-08-07 23:18:18 +10:00
Jesse Duffield 1730089b09 try master branch for dep 2018-08-07 23:04:55 +10:00
Nicolas Borboën 8c823965ab [fix] link to code of conduct 2018-08-07 14:59:22 +02:00
5 changed files with 57 additions and 23 deletions
+10 -6
View File
@@ -5,14 +5,15 @@ env:
matrix:
include:
- go: 1.x
- go: 1.7
env: LATEST=true
- go: 1.7
- go: tip
allow_failures:
- go: tip
before_install:
# Download the binary to bin folder in $GOPATH
- curl -L -s https://github.com/golang/dep/releases/download/v${DEP_VERSION}/dep-linux-386 -o $GOPATH/bin/dep
# - curl -L -s https://github.com/golang/dep/releases/download/v${DEP_VERSION}/dep-linux-386 -o $GOPATH/bin/dep
- curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
# Make the binary executable
- chmod +x $GOPATH/bin/dep
- ls $GOPATH/bin/
@@ -24,16 +25,19 @@ script:
# - go get -v ./...
# - diff -u <(echo -n) <(gofmt -d .) # can't make gofmt ignore vendor directory
# - go vet $(go list ./... | grep -v /vendor/)
- if [ "${LATEST}" = "true" ]; then gox -os="linux darwin windows" -arch="amd64" -output="lazygit.." -ldflags "-X main.Rev=`git rev-parse --short HEAD`" -verbose ./...; fi
- if [ "${LATEST}" = "true" ]; then gox -os="linux darwin windows" -arch="amd64" -ldflags "-X main.Rev=`git rev-parse --short HEAD` -X main.builddate=`date -u +%Y%m%d.%H%M%S`" -verbose ./...; fi
- mv lazygit_windows_amd64.exe lazygit_windows_amd64_${TRAVIS_TAG}.exe
- mv lazygit_darwin_amd64 lazygit_darwin_amd64_${TRAVIS_TAG}
- mv lazygit_linux_amd64 lazygit_linux_amd64_${TRAVIS_TAG}
deploy:
provider: releases
skip_cleanup: true
api_key:
secure: TnB8I+swjicHuGTXk3ncm1Aaa12eIJqWV/Lhcnbb01i39p6+fyn3vDMdWPcejt3R8gcJqv4wyP8UQVO9G1qkLppt6V/qAuY5x6nX0MgEa3t+8JLJnGYHZYsuIgan/ecAmeu5+6dgUhr9Oq6zQOEv/O88NsALzMlqnEQNXI8XSoScfhkiVDIp3zWov0vBizCdThnNgTx9zRpJVoqxmhWvgt+me2+fOhSx1Y+3ZA2gE7zq8IFAbxp36d0rsR5lKqmTuF+YsF9iQ7Ar+xCjbRunLsZx+VwGqGfpS/qS7EwsEqBI0vEO76eFJkwEsIzOvJiFNhBDUu3upquBFMT4uzxRxH3eV+J4mZtu29UDLdvKI5Q730Lk9AgmH4now+RmP08M0SEXJa+AnHeuBv2u1iU5bu+sI6CORVQzKQwOph9AABDjSZ54wrXIpYEeIW2sz8nx+hiG6QL1mqfM/l+55BR69u3vxKYMryQBxPuzhZCTOqqI4uahlb6GIUNZJ9vGZeIA9HFJq3ymW8cdrpYzhKf3Nx9jK+Yb81h5/AHq9iChXEC63VPCDXXGRllh2UYWNYCaAdtk+ekpLR8299e4CaEregy6g5U2S3/xrBKl87miu1uJ/fquXoxGdSU+JcmsmXZ26sGIU2TCYdNjSfIgpOyfMmB4JNtKHqWRHA9Fe42CRpA=
file:
- lazygit.windows.amd64.exe
- lazygit.darwin.amd64
- lazygit.linux.amd64
- lazygit_windows_amd64_${TRAVIS_TAG}.exe
- lazygit_darwin_amd64_${TRAVIS_TAG}
- lazygit_linux_amd64_${TRAVIS_TAG}
on:
repo: jesseduffield/lazygit
tags: true
+2 -2
View File
@@ -22,7 +22,7 @@ welcome your pull requests:
## Code of conduct
Please note by participating in this project, you agree to abide by the [code of conduct].
[code of conduct]: https://github.com/jesseduffield/lazygit/blob/master/CONTRIBUTING.md
[code of conduct]: https://github.com/jesseduffield/lazygit/blob/master/CODE-OF-CONDUCT.md
## Any contributions you make will be under the MIT Software License
In short, when you submit code changes, your submissions are understood to be
@@ -31,4 +31,4 @@ covers the project. Feel free to contact the maintainers if that's a concern.
## Report bugs using Github's [issues](https://github.com/jesseduffield/lazygit/issues)
We use GitHub issues to track public bugs. Report a bug by [opening a new
issue](https://github.com/jesseduffield/lazygit/issues/new); it's that easy!
issue](https://github.com/jesseduffield/lazygit/issues/new); it's that easy!
+17 -8
View File
@@ -9,16 +9,20 @@ Are YOU tired of typing every git command directly into the terminal, but you're
![Gif](https://image.ibb.co/mmeXho/optimisedgif.gif)
## Installation
### Via binary release
You can download a binary release [here](https://github.com/jesseduffield/lazygit/releases)
You may need to grant execute permission via `chmod +x ./<filename>`.
You can move this file to your local /bin directory and rename to `lazygit` so that you can run it anywhere
(Easier-install coming soon)
### Via Go
In a terminal call this command:
`go get github.com/jesseduffield/lazygit`
(if you don't have Go installed, you can follow the installation guide [here](https://golang.org/doc/install).
Then just call `lazygit` in your terminal inside a git repository.
If you want, you can also add an alias for this with `echo "alias lg='lazygit'" >> ~/.zshrc` (or whichever rc file you're using).
Please note:
If you get an error claiming that lazygit cannot be found or is not defined, you may need to add `~/go/bin` to your $PATH (MacOS/Linux), or `%HOME%\go\bin` (Windows)
If you get an error claiming that lazygit cannot be found or is not defined, you may need to add `~/go/bin` to your $PATH (MacOS/Linux), or `%HOME%\go\bin` (Windows). Not to be mistaked for `C:\Go\bin` (which is for Go's own binaries, not apps like Lazygit)
### Ubuntu
Packages for Ubuntu 16.04 and up are available via Launchpad PPA.
@@ -31,6 +35,13 @@ sudo apt-get update
sudo apt-get install lazygit
```
## Usage
Call `lazygit` in your terminal inside a git repository.
If you want, you can also add an alias for this with `echo "alias lg='lazygit'" >> ~/.zshrc` (or whichever rc file you're using).
Basic tutorial [Here](https://www.youtube.com/watch?v=VDXvbHZYeKY)
[Keybindings](https://github.com/jesseduffield/lazygit/blob/master/docs/Keybindings.md)
## Cool features
- Adding files easily
- Resolving merge conflicts
@@ -45,14 +56,12 @@ sudo apt-get install lazygit
### Viewing commit diffs
![Viewing Commit Diffs](https://image.ibb.co/gPD02o/capture.png)
## Docs
[Keybindings](https://github.com/jesseduffield/lazygit/blob/master/docs/Keybindings.md)
## Milestones
- [ ] Easy Installation (homebrew, release binaries)
- [ ] Configurable Keybindings
- [ ] Configurable Color Themes
- [ ] Spawning Subprocesses (help needed - have a look at https://github.com/jesseduffield/lazygit/pull/18)
- [ ] Maintainability
- [ ] Performance
- [ ] i18n
+16 -2
View File
@@ -225,14 +225,28 @@ func layout(g *gocui.Gui) error {
v.FgColor = gocui.ColorWhite
}
if v, err := g.SetView("options", -1, optionsTop, width, optionsTop+2, 0); err != nil {
version := Rev
if version == "" {
version = "unversioned"
}
if v, err := g.SetView("options", -1, optionsTop, width-len(version)-2, optionsTop+2, 0); err != nil {
if err != gocui.ErrUnknownView {
return err
}
v.BgColor = gocui.ColorDefault
v.FgColor = gocui.ColorBlue
v.Frame = false
v.Title = "Options"
}
if v, err := g.SetView("version", width-len(version)-1, optionsTop, width, optionsTop+2, 0); err != nil {
if err != gocui.ErrUnknownView {
return err
}
v.BgColor = gocui.ColorDefault
v.FgColor = gocui.ColorGreen
v.Frame = false
renderString(g, "version", version)
// these are only called once
handleFileSelect(g, filesView)
+12 -5
View File
@@ -12,8 +12,12 @@ import (
)
var (
startTime time.Time
debugging bool
startTime time.Time
debugging bool
Rev string
builddate string
debuggingPointer = flag.Bool("debug", false, "a boolean")
versionFlag = flag.Bool("v", false, "Print the current version")
)
func homeDirectory() string {
@@ -58,11 +62,14 @@ func navigateToRepoRootDirectory() {
}
func main() {
debuggingPointer := flag.Bool("debug", false, "a boolean")
flag.Parse()
startTime = time.Now()
debugging = *debuggingPointer
devLog("\n\n\n\n\n\n\n\n\n\n")
startTime = time.Now()
flag.Parse()
if *versionFlag {
fmt.Printf("rev=%s, build date=%s", Rev, builddate)
os.Exit(0)
}
verifyInGitRepo()
navigateToRepoRootDirectory()
run()