- Jun 16, 2024
- Jun 11, 2024
-
-
Leleat authored
-
Leleat authored
Since HEAD will be our 'starting branch', let's special-case it, so we can just iterate over BRANCHES without needing to pull out HEAD first. Technically, HEAD doesn't need to point to a branch, but since we're only creating a prototype, we won't cover special cases like detached HEADs.
-
Leleat authored
Once we build the tree in Unity we'll only be interested in branches. Tags are only used to give specific commits in the tree special names ... or so is our assumption. Technically, tags can not only point to commits, but we aren't gonna handle those cases since we are only working on a prototype and tags pointing to commits in branches is the most common...
-
Leleat authored
Since we no longer track all git objects, OBJECTS is a misnomer.
-
- Jun 10, 2024
-
-
Leleat authored
Spawning multiple git commands is more expensive than running a single command and then parsing the output in JavaScript.
-
Leleat authored
The previous format was a bit too low-level (by sticking too close to the native git object format). That would probably make it harder to work with in Unity. So change the format to be more like the git porcelain command outputs.
-
Leleat authored
The authors object was being serialized as an array of objects, where each object had a single key-value pair. This was unnecessary, as the authors object could be serialized directly as a key-value pair object.
-
- Jun 07, 2024
-
-
Leleat authored
Since the switch from GJS to node the types are no longer needed.
-
Leleat authored
Annotated tags (as opposed to lightweight tags) are actually a type of git object. They contain a reference to a git object (usually a commit) and some metadata (tagger, message, ...). We will only track them as if they were a normal ref though since we don't create about the metadata.
-
Leleat authored
While I am not that familiar with node, the port was relatively easy. The advantage is that it's more portable and doesn't require the user to have GJS installed (i. e. you don't need to use linux). Also, the performance seems to be better with node than with GJS.
-
Leleat authored
-
Leleat authored
Using a Set instead of an Array for commit hashes allows us to avoid duplicates.
-
Leleat authored
String.prototype.split returns an array with one empty string element, if the calling string is empty, which may be the case when calling `"$(git tag)".split('\n')`. This was causing the script to fail when no git tags exist in the repo.
-
Leleat authored
-
Leleat authored
Add some basic tools to the project like prettier, eslint etc. Nothing else going on in this commit.
-