Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Orion/OrionLocalShell
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:
- https://dev.eclipse.org/mailman/listinfo/orion-dev
- irc://freenode.net/#eclipse-orion
- the UCOSP_Eclipse group
Repository Information
The github fork for this work can be found at http://github.com/jrbalsano/orion.client. Work for the project is being kept on the branch direct_os_shell. Upcoming goals and who is working on what is viewable from http://github.com/jrbalsano/orion.client/issues.
Working on a pull request for direct_os_shell
Here are the steps for working on a small fix or enhancement using GitHub:
- Create a topic branch off of direct_os_shell. Use the format userid/<topicBranchName>
- The quick way to do that is:
git checkout -b pwebster/firstFix
- 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
- If you made a commit while you were still in direct_os_shell then create the topic branch and then:
git checkout direct_os_shell
git reset --hard origin/direct_os_shell
- The quick way to do that is:
- Make your changes, add them, commit
- Push your topic branch up to your repo
- Open a pull request against https://github.com/jrbalsano/orion.client and the direct_os_shell branch. Be careful to select jrbalsano/orion.client/direct_os_shell. By default, eclipse/orion.client/master will be selected.
- After the pull request is merged, checkout direct_os_shell and pull
- when working on your next fix or enhancement, go to 1.
Merging a direct_os_shell pull request
For merging into direct_os_shell:
- pull down the request locally into a temp branch
git fetch
- switch to the topic branch
git checkout userid/topic_branch
- rebase on origin/direct_os_shell [git rebase origin/direct_os_shell]
git rebase origin/direct_os_shell
- force push the branch back to github
git push --force origin topic_branch_name
- switch to direct_os_shell and merge the temp branch (it'll do a Fast-Forward merge)
git checkout direct_os_shell && git merge topic_branch_name
- push the result back up to direct_os_shell
git push origin direct_os_shell
- 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:
- make sure you are on your topic branch
git rebase origin/direct_os_shell
- fix any merge conflicts and continue the rebase
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:
- make sure you are on the topic branch
- make sure you've stashed any of your changes, git reset will wipe them out with extreme prejudice
git fetch
git reset --hard origin/<topicBranch>
#i.e. origin/pwebster/firstFix