{"id":17646935,"url":"https://github.com/jakewilliami/gl","last_synced_at":"2026-04-10T03:12:19.424Z","repository":{"id":62359043,"uuid":"502972164","full_name":"jakewilliami/gl","owner":"jakewilliami","description":"A Git log command line utility","archived":false,"fork":false,"pushed_at":"2025-02-20T08:48:15.000Z","size":134,"stargazers_count":1,"open_issues_count":19,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-20T09:27:18.399Z","etag":null,"topics":["cli","command-line-tool","git","rust","rust-lang"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jakewilliami.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-13T13:39:50.000Z","updated_at":"2025-02-20T08:47:16.000Z","dependencies_parsed_at":"2024-11-07T12:27:04.840Z","dependency_job_id":"d9150490-c97f-4d2f-a6a3-087eaa5c5672","html_url":"https://github.com/jakewilliami/gl","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakewilliami%2Fgl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakewilliami%2Fgl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakewilliami%2Fgl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakewilliami%2Fgl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jakewilliami","download_url":"https://codeload.github.com/jakewilliami/gl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247587221,"owners_count":20962663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","command-line-tool","git","rust","rust-lang"],"created_at":"2024-10-23T11:08:57.755Z","updated_at":"2026-04-10T03:12:19.376Z","avatar_url":"https://github.com/jakewilliami.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003egl\u003c/h1\u003e\n\n## Description\n\nA simple command line utility to wrap some common Git functions into a simple binary.\n\n## Quick Start\n\n```shell\n$ just\n$ ./gl -h\n```\n\n## Configure for yourself\n\nThis tool is very much made for myself.  It started as a Bash alias when I first started programming, in August, 2019, and then turned into a [Bash script](https://github.com/jakewilliami/scripts/tree/master/bash/gl), and then [a small Rust project](https://github.com/jakewilliami/scripts/tree/master/rust/gl/), and now this.  While I never intended this tool to be used by others, I figured I should allow some customisability if anybody else wants to use it.\n\nAnything you need to change to get it working for you should be in the [config file](./src/config.rs).\n\n## Where to store\n\nOnce it is ready for a \"release\", I like to store this in `$HOME/opt/`:\n```shell\n$ just\n$ mv ./gl ~/opt/\n```\n\nAlternatively, store it on the system, in `/opt/local/bin`:\n```shell\n$ just\n$ chmod 755 ./gl\n$ mv ./gl /opt/local/bin\n```\n\n## Profiling\n\nAfter reading [this](https://nnethercote.github.io/perf-book/profiling.html) (note to follow the build instructions there to maximise ), I was looking into [`flamegraph`](https://github.com/flamegraph-rs/flamegraph).  I was having issues with DTrace and system integrity protection using `flamegraph`, but the authors of `flamegraph` recommend [`samply`](https://github.com/mstange/samply) for macOS, which integrates well with [Firefox Profiler](https://profiler.firefox.com/).  It's easy to install:\n\n```shell\n$ cargo install --locked samply\n```\n\nAnd works really well:\n```shell\n$ RUSTFLAGS=\"-C symbol-mangling-version=v0\" cargo build  # Do not specify --release; we want all debug information\n...\n\n$  samply record ./target/debug/gl \u003cargs...\u003e \u003e /dev/null\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakewilliami%2Fgl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjakewilliami%2Fgl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakewilliami%2Fgl/lists"}