dc3799706ada630669f3da8edb550e51ea09b683 — Drew DeVault 4 years ago 221772b
Add usage example to README.md
1 files changed, 47 insertions(+), 0 deletions(-)

M README.md => README.md +47 -0
@@ 15,3 15,50 @@ Caveats:

Enough plumbing commands are written to make this write the initial commit with
itself, which is how the initial commit was written. Huzzah.

## How to use

1. Don't

Okay, fine. Because only plumbing commands are implemented, you have to live
with a garbage manual process. Do something like this:

git clone https://git.sr.ht/~sircmpwn/shit
mkdir my-project
cd my-project
# Write some code

So we'll assume shit is at `../shit`.

To create a new index from all of your files (note, subdirectories aren't
working yet):

../shit/update-index *

Then to create a tree object from these:

../shit/write-tree | ./hash-object -t tree -w

This will print the tree ID to stdout. Use that to make a commit:

export GIT_AUTHOR_NAME="Your Name"
export GIT_AUTHOR_EMAIL="you@example.org"
../shit/commit-tree <tree sha> | ./hash-object -t commit -w

This will print out the new commit's SHA. To update master to point to this new

echo <commit sha> > .git/refs/heads/master