Skip to content
Snippets Groups Projects
  1. Jun 16, 2024
  2. Jun 11, 2024
    • Leleat's avatar
      main.js: Use commit date to get the correct order · 1d709a23
      Leleat authored
      1d709a23
    • Leleat's avatar
      main.js: Separate HEAD from BRANCHES · bde9f2bf
      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.
      bde9f2bf
    • Leleat's avatar
      main.js: Track branches and tags separately · 677758d8
      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...
      677758d8
    • Leleat's avatar
      main.js: Rename OBJECTS to COMMITS · baa8dc0e
      Leleat authored
      Since we no longer track all git objects, OBJECTS is a misnomer.
      baa8dc0e
  3. Jun 10, 2024
    • Leleat's avatar
      main.js: Optimize commit parsing · bef2c768
      Leleat authored
      Spawning multiple git commands is more expensive than running a single
      command and then parsing the output in JavaScript.
      bef2c768
    • Leleat's avatar
      main.js: Change serialization output format · 22bbf2db
      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.
      22bbf2db
    • Leleat's avatar
      main.js: Fix authors serialization · daff78ef
      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.
      daff78ef
  4. Jun 07, 2024
    • Leleat's avatar
      Misc: Remove unnecessary dependencies · 4b2ece90
      Leleat authored
      Since the switch from GJS to node the types are no longer needed.
      4b2ece90
    • Leleat's avatar
      main.js: Handle annotated tags · 004705b9
      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.
      004705b9
    • Leleat's avatar
      main.js: Port from GJS to node · 14a8d7d9
      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.
      14a8d7d9
    • Leleat's avatar
      README: Add basic readme · 37847e59
      Leleat authored
      37847e59
    • Leleat's avatar
      main.js: Use Set instead of Array for commit hashes · 207027b4
      Leleat authored
      Using a Set instead of an Array for commit hashes allows us to avoid
      duplicates.
      207027b4
    • Leleat's avatar
      main.js: Fix script when there are no git tags · e231f3e9
      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.
      e231f3e9
    • Leleat's avatar
      main.js: Generate a json file from git objects · 987afeea
      Leleat authored
      987afeea
    • Leleat's avatar
      Scaffolding · bf36bed0
      Leleat authored
      Add some basic tools to the project like prettier, eslint etc. Nothing
      else going on in this commit.
      bf36bed0
Loading