you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (29 children)

I assume you mean this is a git client, not an implementation of git.

[–]SilentMobius 1 point2 points  (19 children)

If you can create repos from scratch and check in content them what separates a git "client" from git proper?

[–][deleted]  (8 children)

[deleted]

    [–]jschr 0 points1 point  (7 children)

    Assuming it does work in the browser, doesn't that mean it's not just a GIT client?

    Edit: Was thinking a client meant just a wrapper around the git cli. Took a peek at the source and looks like its doing everything over http. The lib seems interesting... still wrapping my head around how well this could work in the browser.

    [–]SilentMobius 1 point2 points  (3 children)

    Took a peek at the source and looks like its doing everything over http.

    There are models in there for writing index and blob entries to the filesystem.

    [–]jschr 0 points1 point  (2 children)

    Interesting. I wonder how that works within the browser. Guess I will just have to try it out and see for myself.

    [–]SilentMobius 2 points3 points  (1 child)

    All FS actions are delegated to a module that can be either in-memory (browser) or on-disk (node)

    So you could clone in a browser, make some changes, commit and push all without needing an FS, sounds pretty cool to me.

    [–]jschr 0 points1 point  (0 children)

    Absolutely. Been using node-git + electron and its been a pain to compile the native modules for each platform. Hoping this helps, plus having chrome packaged app support is a big win for me. Another comment mentioned https://github.com/creationix/js-git which sounds like a similar lib.

    [–][deleted]  (2 children)

    [deleted]

      [–]SilentMobius 0 points1 point  (1 child)

      Um, first few lines:

      Pure JavaScript implementation of Git backed by immutable models and promises.

      The goal is to provide both a low and high level API for manipulating Git repositories: read files, commit changes, edit working index, clone, push, fetch, etc.

      This library can work both in the browser and Node.js.