arkark / git-hist Goto Github PK
View Code? Open in Web Editor NEWA CLI tool to quickly browse the git history of files on a terminal :footprints:
License: MIT License
A CLI tool to quickly browse the git history of files on a terminal :footprints:
License: MIT License
Probably everybody else has already dealt with this, but I work in an environment which lags behind the latest releases of things like Git by quite a ways.
Building git-hist 1.0.5 with cargo and Rust 1.71 is successful, but I receive this error message upon actually running git hist FILENAME
:
$ git-hist FILENAME
Error: Faild to open a git repository for the current directory
Caused by:
config value 'safe.directory' was not found; class=Config (7); code=NotFound (-3)
I believe this relates to a recently-discovered security vulnerability in Git, and a resulting workaround in git2-rs. I'll update the issue description with references as I do more research.
As a temporary workaround, you can define Edit: git2-rs really wants what it says it wants, which is to see GIT_CEILING_DIRECTORIES
as described here.safe.directory
for the current directory in ~/.gitconfig
. Here's how to add that:
$ git config --add --global safe.directory $PWD
$ cargo run -- screenshots/screenshot_01.png
Then, the following error occurs (this error is an expected behavior):
thread 'main' panicked at 'Trying to access position outside the buffer: x=114, y=10, area=Rect { x: 0, y: 0, width: 114, height: 44 }', /home/ark/.cargo/registry/src/github.com-1ecc6299db9ec823/tui-0.14.0/src/buffer.rs:217:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
After the exit, the cursor on a terminal remains hidden.
optional taller commit information box
optional automatically jump to first diff
jump to next/previous diff
show how many changes between the versions
show multiple files
Idea:
--max-history-depth
--date-format
--beyond-last-line
--emphasize-diff
--full-hash
: Show full commit hashes rather than abbreviated commit hashesUse .gitconfig
as a fallback of missing command options.
Add --side-by-side
option.
Show that it is a binary file for binary files, instead of showing the diff.
In Mac, an error occurs while installing because openssl
command is not OpenSSL, but LibreSSL by default.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.