Skip to content

Feature request Full support fot GIT in Desktop #145

Closed
@charlypa

Description

@charlypa

Pheonix should support all features of GIT in the Browser without backed support. Brackets earlier had brackets-git extension that requires node runtime and git installed. But this will not work for Phoenix as client side web is the main target for Phoenix IDE. See the available technologies section below for options.

Phoenix is based on a virtual file system that presents a UNIX-like file system to the browser backed by indexedDB or fs access API. the filesystem is exposed by a nodejs fs like library that is partially compliant to node fs lib. This virtual filesystem is available within all contexts(main thread, workers, service workers) as it is backed by indexed db and presents full support for change watchers.

We need to thread this virtual file system, to the isomorphic git to make git happen in the browser in Phoenix IDE.

Feature requirements Phase 1

The brackets git extension can be adapted to the web using isomorphic-git library to provide a pure browser native git client. The following features are targetted:

  • Git project changes panel GUI. image
  • Git file change markings in the editor. image
  • Git history panel.
    image
  • Git commit. image
  • Commit details page:
    image

Feature requirements Phase 2

  • Git push workflows
  • Native Git support in native builds.

Available technologies

Isomorphic Git is a pure JavaScript reimplementation of git that works in both Node.js and browser JavaScript environments. It can read and write to git repositories, fetch from and push to git remotes (such as GitHub). We should be able to leverage this to provide pure browser-based git IDE features.

Related issues:

#697

Metadata

Metadata

Assignees

No one assigned

    Labels

    coreCore featuresenhancementNew feature or request

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions