Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/takaaki-kasai/git-foresta
git-foresta: Text-based git log graph viewer
https://github.com/takaaki-kasai/git-foresta
git
Last synced: 3 months ago
JSON representation
git-foresta: Text-based git log graph viewer
- Host: GitHub
- URL: https://github.com/takaaki-kasai/git-foresta
- Owner: takaaki-kasai
- License: gpl-3.0
- Created: 2017-05-04T06:29:54.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-05-15T09:23:49.000Z (over 7 years ago)
- Last Synced: 2024-05-02T17:14:34.776Z (6 months ago)
- Topics: git
- Language: Perl
- Homepage:
- Size: 428 KB
- Stars: 219
- Watchers: 9
- Forks: 12
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# git-foresta
git-foresta is a text-based git log graph viewer.
It is a modified version of [git-forest](http://inai.de/projects/hxtools/) (written in Perl by Jan Engelhardt).## Samples
Following image is a result of
`git-foresta --all --style=10 | less -RSX`
with font [Meslo LG](https://github.com/andreberg/Meslo-Font).![git-foresta sample 1](https://raw.githubusercontent.com/takaaki-kasai/git-foresta/assets/zzz_git-foresta-sample1.png "git-foresta sample 1")
Following image is a result of
`git-foresta --all --style=1 --graph-symbol-commit=★ --graph-symbol-tip=☆ --graph-margin-right=2 | less -RSX`
with font [Ricty Diminished](https://github.com/edihbrandon/RictyDiminished).![git-foresta sample 2](https://raw.githubusercontent.com/takaaki-kasai/git-foresta/assets/zzz_git-foresta-sample2.png "git-foresta sample 2")
Terminal emulator of sample screenshots: [iTerm2](https://www.iterm2.com/)
with [Solarized Dark](https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized) color scheme.## Usage
The command `git-foresta` can take same options and arguments as `git log` (except `--pretty` or `--format`).
It can take additional options below.* `--help`: Show help and exit.
* `--svdepth=`: Maximum length of merge subvines (default: `2`).
* `--no-status`: Do not show the working tree status near HEAD (show by defalt).
* `--style=`: Select `<Style>` from following.
- `1`: Use single-line visuals (default).
- `2`: Use double-line visuals.
- `10`: Use specific rounded Unicode visuals for edges.
- `15`: Use single bold-line visuals.
* `--graph-margin-left=<Margin>`: Left margin of the commit graph (default: `2`).
* `--graph-margin-right=<Margin>`: Right margin of the commit graph (default: `1`).
* `--graph-symbol-commit=<Symbol>`: Graph symbol of commit (default: `●` ).
* `--graph-symbol-merge=<Symbol>`: Graph symbol of merge (default: `◎` ).
* `--graph-symbol-overpass=<Symbol>`: Graph symbol of overpass (default: `═` ).
* `--graph-symbol-root=<Symbol>`: Graph symbol of root (default: `■` ).
* `--graph-symbol-tip=<Symbol>`: Graph symbol of tip (default: `○` ).
* `--version` : Print the version number and exit.All other options and arguments (except `--pretty` or `--format`) are passed down to git-log. (e.g. `--all`)
Since git-foresta has no pager of is own, it is recommended to use some paging program
via pipe with appropriate option (e.g. `git-foresta | less -RSX`).## Install
Copy the `git-foresta` file (at the root of this repository) to one of the place in your `PATH`,
and give execute permission to it.For example, if you have `~/bin` in your `PATH`, you can install git-foresta by following one-liner:
```
curl -L https://github.com/takaaki-kasai/git-foresta/raw/master/git-foresta -o ~/bin/git-foresta && chmod +x ~/bin/git-foresta
```## Tips
* Without `--no-status` option, current working tree status is shown near HEAD.
Meanings of the symbols are as follows:
- `*`: There are unstaged changes.
- `+`: There are staged changes.
- `%`: There are untracked files.
- `$`: There are stashed changes.* Example of shell configuration for zsh:
```zsh
function gifo() { git-foresta --style=10 "$@" | less -RSX }
function gifa() { git-foresta --all --style=10 "$@" | less -RSX }
compdef _git gifo=git-log
compdef _git gifa=git-log
```## License
GPL-3.0, see `LICENSE`.
Copyright (C) 2008 Jan Engelhardt<br />
Copyright (C) 2017 Takaaki Kasai<br />