Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dantecatalfamo/zig-git
Implementing git structures and functions in zig
https://github.com/dantecatalfamo/zig-git
git zig
Last synced: about 2 months ago
JSON representation
Implementing git structures and functions in zig
- Host: GitHub
- URL: https://github.com/dantecatalfamo/zig-git
- Owner: dantecatalfamo
- License: mit
- Created: 2022-12-15T21:52:33.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-14T19:32:24.000Z (about 1 year ago)
- Last Synced: 2023-11-14T20:32:02.515Z (about 1 year ago)
- Topics: git, zig
- Language: Zig
- Homepage:
- Size: 118 KB
- Stars: 24
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# zig-git
Implementing git structures and functions in pure zig.
Still very much a work in progress. Some commands are redundant and some will get replaced.
This project is primarily for learning purposes and not meant to be a replacement for something like libgit2.
It doesn't support pack deltas yet.
## Command
The `zig-git` command currently supports the following subcommands:
* `add ` - Add a file or directory to the git index
* `branch` - List current branches (`refs/heads/`) in a format similar to `git branch`
* `branch-create ` - Create a new branch from the current branch
* `checkout` - Checkout a ref or commit
* `commit` - Commit the current index (as a test, doesn't use correct information)
* `index` - List out the content of the index
* `init [directory]` - Create a new git repository
* `log` - List commits
* `read-commit ` - Parse and display a commit
* `read-object ` - Dump the decompressed contents of an object to stdout
* `read-pack ` - Parse a pack file and iterate over its contents
* `read-pack-index ` - Search a pack file index for the offset of an object with a hash in a pack file
* `read-ref [ref]` - Display a ref and what it points to, or all refs if no argument is given
* `read-tag [ref]` - Parse and display a tag
* `read-tree ` - Parse and display the all files in a tree
* `refs` - List all refs
* `rm ` - Remove file from index
* `root` - Print the root of the current git project
* `status` - Branch status