2014年8月15日 星期五

git client的javascript implementation及其在協作平台的潛在應用

目前找到兩個

  1. github.js :它顯然是把在本機上執行的 git client 使用javascript 改寫,並且依賴於 node.js
  2. js-git :它不依賴於本機的檔案系統,因此也就有機會在網頁上單獨執行(git-browser),不需要依賴 node.js
git 本身其實可以用來當作資料/檔案系統存放的工具, js-git 就是把一個 repo 給 clone 下來,放在記憶體中進行處理,有更動時再 push 回去。以此概念該作者寫了 tedit ,方便在平板上進行文件編輯。

git 本身就是一個多人協作的版本控制系統,反過來說,協作的特性某些程度上需要的就是 git 的功能,如 clone , commit , branching , reconcile , push 等等。

以下摘錄作者的說明:


Feature Goals

I don't intent to make a 100% clone of all the features of the official git program. That would be insane and require a lot more money than I'm asking for. My main goal is to enable the 90% case of interesting stuff:

  • Clone remote repositories to local storage over http, git, or ssh.
  • Make and commit local changes offline.
  • Manage tags and branches offline.
  • Push changes back up to remote repositories.
  • Serve git repositories over http, git, or ssh.
  • Be very modular so bits can be used by any software that needs them.

Potential Products

Some example products that would be enabled by this are:

  • ChromeOS IDE for developing on Chromebooks.
  • Node.JS blog engine with git as the database.
  • Custom Git hosting using custom storage back-ends.
  • GIT CLI for restricted environments.
  • Standalone GIT GUI desktop app.
  • Git based deployment tools.
  • JavaScript package management for server and client.
  • Whatever else you come up with.

沒有留言:

張貼留言