An open API service indexing awesome lists of open source software.

https://github.com/edwardjoke/hoz-vcs

Hoz is an in-process Version-Control system, compatible with Git.
https://github.com/edwardjoke/hoz-vcs

cli git hoz hoz-vcs jujutsu vcs vcs-tools version-control wasup zig

Last synced: about 1 month ago
JSON representation

Hoz is an in-process Version-Control system, compatible with Git.

Awesome Lists containing this project

README

          

![Brand Logo](/assets/Hoz.png)

# Hoz - Git-Compatible Version Control System

![GitHub Stars](https://shieldcn.dev/github/stars/EdwardJoke/hoz-vcs.svg?variant=branded) ![GitHub Forks](https://shieldcn.dev/github/forks/EdwardJoke/hoz-vcs.svg?variant=branded) ![GitHub Release](https://shieldcn.dev/github/release/EdwardJoke/hoz-vcs.svg?variant=branded)

![GitHub Last Commit](https://shieldcn.dev/github/last-commit/EdwardJoke/hoz-vcs.svg?variant=outline) ![GitHub Open Issues](https://shieldcn.dev/github/open-issues/EdwardJoke/hoz-vcs.svg?variant=outline)

![Runs on Linux](https://shieldcn.dev/badge/Runs%20on-Linux-FCC624.svg?logo=linux&logoColor=000) ![Runs on MacOS](https://shieldcn.dev/badge/Runs%20on-MacOS-000000.svg?mode=light&logo=apple&logoColor=fff) ![Cross Platform](https://shieldcn.dev/badge/cross-platform-brightgreen.svg?variant=outline&logo=ri%3AGoDeviceDesktop)

*A full-featured Git implementation in Zig 0.16.0,*

*built for type safety and performance.*

Hoz is the next generation of Git-compatible version control with a clean, modern codebase.

---

## Why Hoz?

- **Git-Compatible** - Works with existing Git repositories and workflows
- **Type-Safe** - Written in Zig for memory safety and compile-time verification
- **Fast** - Optimized object database and efficient diff engine
- **Portable** - Runs anywhere Zig 0.16.0 is available

---

## Quick Start

> [!WARNING]
> This project is in active development and now just a toy, please do not use it in production.

### Installation

```bash
curl -fsSL https://raw.githubusercontent.com/EdwardJoke/hoz-vcs/main/install.sh | bash
```

### Basic Usage

Initialize a new repository:

```bash
hoz init my-project
cd my-project
```

Stage and commit changes:

```bash
hoz add .
hoz commit -m "Initial commit"
```

---

## Common Commands

### Repository Operations
```bash
hoz init # Create a new repository
hoz clone # Clone an existing repository
```

### Making Changes
```bash
hoz add # Stage files for commit
hoz commit -m "" # Record staged changes
hoz status # Show working tree status
hoz diff # Show unstaged changes
```

### Branching
```bash
hoz branch # List branches
hoz branch # Create a branch
hoz checkout # Switch branches
hoz merge # Merge branches
```

### History & Inspection
```bash
hoz log # View commit history
hoz show # Show commit details
hoz blame # Show file annotations
hoz describe # Describe commit using tags
hoz verify-tag # Verify annotated tag signature
hoz name-rev # Translate SHA to symbolic name
```

### File Operations
```bash
hoz add # Stage files for commit
hoz rm # Remove from working tree and index
```

### Remote Collaboration
```bash
hoz fetch # Download objects from remote
hoz push # Upload objects to remote
hoz pull # Fetch and merge remote changes
```

---

## Daily News

- `05/11`
1. Hoz `v0.5.3` is now available. It is the first usable release of Hoz, it has tested from init -> stage -> commit -> log output.
2. Hoz now has a mirror on Codeberg. If you don't like GitHub or Github is not available for you, then you can find it at [here](https://codeberg.org/EdwardJoke/hoz-vcs) in Codeberg.

## Project Status

Hoz is in active development. Core Git functionality is implemented including:
- Object database (blobs, trees, commits, tags)
- Reference management (branches, tags, HEAD)
- Staging area (index)
- Working directory operations
- Diff and merge algorithms

---

## Contributing

Contributions welcome. Please ensure `just asset` passes before submitting changes.

---

## License

Apache License 2.0