Skip to content

Commit

Permalink
Change bin names from 'gio' to 'gix' and 'gixp'
Browse files Browse the repository at this point in the history
Fixes #4
  • Loading branch information
Byron committed Jul 24, 2020
1 parent 11a32eb commit 5e23137
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 21 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ jobs:
TARGET_DIR: ./target
# Emit backtraces on panics.
RUST_BACKTRACE: 1
BIN_NAME: gio
BIN_NAME: gix
strategy:
matrix:
build: [linux, linux-arm, macos]
Expand Down Expand Up @@ -199,7 +199,7 @@ jobs:
TARGET_DIR: ./target
# Emit backtraces on panics.
RUST_BACKTRACE: 1
BIN_NAME: gio
BIN_NAME: gix
strategy:
matrix:
build: [win-msvc, win-gnu, win32-msvc]
Expand Down
6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ authors = ["Sebastian Thiel <[email protected]>"]
edition = "2018"
license = "MIT"
version = "0.1.0"
default-run = "gio"
default-run = "gix"
include = ["src/**/*", "LICENSE.md", "README.md", "CHANGELOG.md"]

[[bin]]
name="gio"
name="gix"
path="src/porcelain-cli.rs"
test = false
doctest = false


[[bin]]
name="giop"
name="gixp"
path="src/plumbing-cli.rs"
test = false
doctest = false
Expand Down
18 changes: 9 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,17 @@ debug-small: always ## minimal dependencies, at cost of performance

##@ Development

target/release/gio: always
target/release/gix: always
cargo build --release --no-default-features --features small

lint: ## Run lints with clippy
cargo clippy

profile: target/release/gio ## run callgrind and annotate its output - linux only
profile: target/release/gix ## run callgrind and annotate its output - linux only
valgrind --callgrind-out-file=callgrind.profile --tool=callgrind $< >/dev/null
callgrind_annotate --auto=yes callgrind.profile

benchmark: target/release/gio ## see how fast things are, powered by hyperfine
benchmark: target/release/gix ## see how fast things are, powered by hyperfine
hyperfine '$<'

##@ Testing
Expand Down Expand Up @@ -81,11 +81,11 @@ continuous-unit-tests: ## run all unit tests whenever something changes

journey-tests: always ## run stateless journey tests (max)
cargo build
./tests/stateless-journey.sh target/debug/gio target/debug/giop max
./tests/stateless-journey.sh target/debug/gix target/debug/gixp max

journey-tests-small: always ## run stateless journey tests (lean-cli)
cargo build --no-default-features --features small
./tests/stateless-journey.sh target/debug/gio target/debug/giop small
./tests/stateless-journey.sh target/debug/gix target/debug/gixp small

continuous-journey-tests: ## run stateless journey tests whenever something changes
watchexec $(MAKE) journey-tests
Expand All @@ -102,10 +102,10 @@ $(linux_repo):

stress: ## Run various algorithms on big repositories
$(MAKE) -j3 $(linux_repo) $(rust_repo) release-lean
time ./target/release/giop verify-pack --verbose --statistics $(rust_repo)/.git/objects/pack/*.idx
time ./target/release/giop verify-pack --verbose --algorithm less-memory $(rust_repo)/.git/objects/pack/*.idx
time ./target/release/giop verify-pack --verbose --re-encode $(rust_repo)/.git/objects/pack/*.idx
time ./target/release/giop verify-pack --verbose --re-encode $(linux_repo)/objects/pack/*.idx
time ./target/release/gixp verify-pack --verbose --statistics $(rust_repo)/.git/objects/pack/*.idx
time ./target/release/gixp verify-pack --verbose --algorithm less-memory $(rust_repo)/.git/objects/pack/*.idx
time ./target/release/gixp verify-pack --verbose --re-encode $(rust_repo)/.git/objects/pack/*.idx
time ./target/release/gixp verify-pack --verbose --re-encode $(linux_repo)/objects/pack/*.idx

##@ Maintenance

Expand Down
16 changes: 11 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[![Rust](https://github.com/Byron/git-oxide/workflows/Rust/badge.svg)](https://github.com/Byron/git-oxide/actions)
[![Crates.io](https://img.shields.io/crates/v/gitoxide.svg)](https://crates.io/crates/gitoxide)

**gio** is a command-line interface (*CLI*) to access git repositories. It's written to optimize the
**gix** is a command-line interface (*CLI*) to access git repositories. It's written to optimize the
user-experience, and perform as good or better than the native implementation, and make git tooling more
hackable.

Expand Down Expand Up @@ -40,17 +40,23 @@ The CLI uses various crates, please see _'Development Status'_ for details.
* [ ] streaming write
* **packs**
* [x] traverse pack index
* [ ] decode
* [x] decode
* [x] full objects
* [x] deltified objects
* **advanced**
* [ ] Multi-Pack index file (MIDX)
* [ ] 'bitmap' file
* [ ] encode
* [ ] create new packs
* [ ] create 'thin' pack
* [x] verify pack with statistics
* [ ] pack streaming (i.e. indexing + resolution)
* [ ] use pack streaming for verification for performance and correctness
* [ ] API documentation with examples
* **sink**
* [x] write objects and obtain id
* **multi-odb**
* [ ] _an ODB for object lookup from multiple lower level ODB at once_
* **promisor**
* It's vague, but these seems to be like index files allowing to fetch objects from a server on demand.
* **git-repository**
Expand Down Expand Up @@ -111,7 +117,7 @@ The CLI uses various crates, please see _'Development Status'_ for details.

```sh
curl -LSfs https://raw.githubusercontent.com/byron/git-oxide/master/ci/install.sh | \
sh -s -- --git byron/git-oxide --crate gio-max-termion
sh -s -- --git byron/git-oxide --crate gix-max-termion
```

See the [releases section][releases] for manual installation and various alternative builds that are _slimmer_ or _smaller_, depending
Expand Down Expand Up @@ -143,9 +149,9 @@ cargo install gitoxide --no-default-features --features lean

Once installed, there are two binaries:

* **gio**
* **gix**
* high level commands, _porcelain_, for every-day use, optimized for a pleasant user experience
* **giop**
* **gixp**
* low level commands, _plumbing_, for use in more specialized cases

## Project Goals
Expand Down
2 changes: 1 addition & 1 deletion src/plumbing/lean.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ mod options {
use std::path::PathBuf;

#[derive(FromArgs)]
#[argh(name = "gio-plumbing")]
#[argh(name = "gix-plumbing")]
/// The lean git underworld
pub struct Args {
#[argh(switch)]
Expand Down
2 changes: 1 addition & 1 deletion src/plumbing/pretty.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ mod options {
use structopt::{clap::AppSettings, StructOpt};

#[derive(Debug, StructOpt)]
#[structopt(name = "gio-plumbing", about = "The git underworld")]
#[structopt(name = "gix-plumbing", about = "The git underworld")]
#[structopt(settings = &[AppSettings::SubcommandRequired, AppSettings::ColoredHelp])]
pub struct Args {
#[structopt(long, short = "t")]
Expand Down
1 change: 1 addition & 0 deletions tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
preventing pack buildup_
* **write loose object to…**
* [x] sink
* [ ] Deflate stream
* [ ] disk - with decent errors
* [ ] size as u64 (properly)
* [ ] generalize pack reading algorithm
Expand Down

0 comments on commit 5e23137

Please sign in to comment.