Lindenii Project Forge
Login

hare-git

Git library for Hare
Commit info
ID
70079f0de4d02cbb2a5fa7fe47b9380e53d37aee
Author
Runxi Yu <me@runxiyu.org>
Author date
Sun, 21 Sep 2025 15:38:34 +0800
Committer
Runxi Yu <me@runxiyu.org>
Committer date
Sun, 21 Sep 2025 15:39:19 +0800
Actions
Add Makefile and update README
# SPDX-License-Identifier: MPL-2.0
# SPDX-FileCopyrightText: 2021-2025 Hare authors
# SPDX-FileCopyrightText: 2025 Runxi Yu

.POSIX:
.SUFFIXES:
HARE=hare
HAREFLAGS=
HAREDOC=haredoc

DESTDIR=
PREFIX=/usr/local
SRCDIR=$(PREFIX)/src
HARESRCDIR=$(SRCDIR)/hare
THIRDPARTYDIR=$(HARESRCDIR)/third-party

all:
	@true # no-op

check:
	$(HARE) test

install:
	mkdir -p "$(DESTDIR)$(THIRDPARTYDIR)"/git
	install -m644 git/*.ha "$(DESTDIR)$(THIRDPARTYDIR)"/git
	install -m644 git/README "$(DESTDIR)$(THIRDPARTYDIR)"/git/README

uninstall:
	rm -rf $(DESTDIR)$(THIRDPARTYDIR)/git

.PHONY: all check install uninstall
# hare-git — Git library in pure Hare

- Only SHA-256 is supported for now.
- Loose objects and packed objects are supported.
- Read-only for now.
- Read-only features have been (kinda) tested; code for writing exists but is
  currently unusable because the `zlib` module doesn't have writing facilities
  yet...

## Dependencies

- [hare-compress](https://git.sr.ht/~sircmpwn/hare-compress) for zlib.

## Acknowledgements

This was inspired by
[git-walk.ha](https://git.sr.ht/~yerinalexey/git-walk.ha)
but code has diverged a lot.

## Contributing

Create a branch that begins with `contrib/` and push to the
[main repo](https://forge.lindenii.org/hare/:/repos/hare-git/)
via SSH directly.

```
git clone ssh://forge.lindenii.org/hare/:/repos/hare-git/
cd hare-git
git checkout -b contrib/whatever
# edit and commit stuff
git push -u origin HEAD
```

## Support

[`#chat`](https://webirc.runxiyu.org/kiwiirc/#chat)
on
[irc.runxiyu.org](https://irc.runxiyu.org/).