Jump to: navigation, search


< Orion
Revision as of 15:00, 9 February 2014 by Pwebster.ca.ibm.com (Talk | contribs) (Working on a pull request for direct_os_shell)

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
  5. after the pull request is merged, checkout direct_os_shell and pull
  6. when working on your next fix or enhancement, go to 1.

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, git reset will wipe them out with extreme prejudice
  3. git fetch
  4. git reset --hard origin/<topicBranch> #i.e. origin/pwebster/firstFix