Orion/OrionLocalShell

From Eclipsepedia

Jump to: navigation, search

Contents

Direct OS Shell in Orion

Bug 427399 - 'Shell' Provide an Orion Node shell based on tty.js/term.js

Abstract: Strip Orion's Node.js old shell functionality and replace it with a fuller browser shell. Currently, only a few commands (cd, clear, edit, help, ls, node, npm, plugins, pwd, and service) have been manually extended for the shell. Use WebSocket and tty.js/term.js to provide fuller and more easily maintainable functionality, rather than having to add each command individually.

Communication Channels

Please make sure you're available on the following communication channels:

Working on a pull request for direct_os_shell

Here are the steps for working on a small fix or enhancement using GitHub:

  1. Create a topic branch off of direct_os_shell. Use the format userid/<topicBranchName>
    1. The quick way to do that is: git checkout -b pwebster/firstFix
    2. if you've already started on direct_os_shell don't worry, you can create your topic branch and check it out at any time
    3. if you made a commit while you were still in direct_os_shell then create the topic branch and reset --hard origin/direct_os_shell
  2. make your changes, add them, commit
  3. push your topic branch up to your repo
  4. open a pull request against https://github.com/jrbalsano/orion.client and the direct_os_shell branch

Merging a direct_os_shell pull request

For merging into direct_os_shell:

  1. pull down the request locally into a temp branch
  2. rebase on origin/direct_os_shell
  3. switch to direct_os_shell and merge the temp branch (it'll do a FF merge)
  4. push the result back up to direct_os_shell
  5. Github should recognize and close the pull request as merged

Rebasing a topic branch

If you decide to get the latest direct_os_shell commits and you've already pushed your topic branch to the main repo, you can amend your commit and do a force push. That will reset the branch pointer instead of trying to do a merge. ex:

  1. make sure you are on your topic branch
  2. git rebase origin/direct_os_shell
  3. fix any merge conflicts and continue the rebase
  4. git push origin +HEAD

Picking up a rebased topic branch

If you are looking at someone else's topic branch and they need to make a change that involves a rebase, you don't want to do a pull (although if you do, the fix is the same), you want to do a reset:

  1. make sure you are on the topic branch
  2. make sure you've stashed any of your changes
  3. git fetch
  4. git reset --hard origin/<topicBranch> #i.e. origin/pwebster/firstFix