Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Run "set_profile [YOUR USERNAME]" then ssh into mcclogin

 

 

From there, ssh into rhel6-64

 

 

From there, cat your ssh key

 

 

Copy the entire output (starts with ssh-rsa and ends with your email address).

 

Back on GitHub, go to your settings

 

 

And add a new SSH key

 

 

Title it something descriptive, paste in the output you got from cat, and save it! 

...

Go to https://github.com/slaclab/devPanel

 

Click "Fork" in the upper right corner

 

 

Click the link that says [Your User Name]/devPanel (Mine says that I've already forked it, but yours should ask you where you want to fork it)

 

Click the green "Clone or Download" button and copy the ssh path. If you see what looks like a URL, click the blue "Use SSH" link right above it

 

Back on an OPI (or ssh'ed in), type "set_profile [Your Username]". This should take you to your personal physics directory. Make a new devPanel subdirectory

 

In that subdirectory, run "git init"

 

Still in that subdirectory, type "~/mgibbs/link_repo_to_github/link_repo_to_github.sh -i" and follow the prompts (if you don't feel like thinking about the AFS repo, you can use this default, but you should paste in the GitHub ssh link you got in Step 4 for your fork or you'll connect to mine! You'll get slightly different messages since I've already run this before)

 

Type "git pull origin master" and type in your password when prompted (again, messages will be slightly different since I've done this before)

 

Type "source use_pydm.sh"

 

 

Type "mkdir [Your Name]" and head into that directory

 

 

Type "designer &"

 

 

Sometimes you get an error saying something about backup files. Ignore it(: In the program that opens, click "Widget" and then "Create"

 

 

In the Widget box on the left, scroll all the way down and drag a drop a PyDMShellCommand somewhere in the widget that popped up in the last step

 

Right click anywhere in the widget that isn't the tiny shell command button, hover over "layout" at the bottom, and click "lay out in a grid"

 

 

In the Object Inspector in the top right, rename that button something more descriptive by double clicking it, typing the new name, and pressing enter

 

 

Right click the button itself and click "Change text..."

 

 

Rename it something more descriptive and press enter

 

 

In the property/value table in the middle right, scroll all the way down to "commands," double click the value box (it'll be blank at first, and then it'll be a button that says "Change String List"), Click "New", type "pydm ~/opsTools/devPanel/example/example.py", then click "OK". This will launch the production example panel!

 

 

Save this file as devPanel[Your Name].ui

 

From here, open opsDevPanel.ui from the parent directory (~/[your username]/devPanel)

 

Drag and drop a PyDMRelatedDisplayButton onto the newly opened devPanel.ui

 

 

Right click rename the button itself and its object name like before

 

Add the path to your personal dev panel in your subdirectory and save

 

 

Back in your terminal in the devPanel directory, run "pydm opsDevPanel.ui" and you should see your creation! Feel free to play with it until it looks good to you!

 

Run "git status" to see what's changed. It should be opsDevPanel.ui and a new folder with your name

 

Run "git add [YOUR NEW FOLDER]" and "git add opsDevPanel.ui", then run another git status. They should both be staged for commit 

 

run Run git commit -m "adding [YOUR NAME]'s dev panel"

 

Run "git push origin master" and log in when prompted

 

 

Back on your fork on GitHub, click "New Pull Request"

 

 

Click "Create Pull Request"

 

Add slaclab/ops as a reviewer (by clicking on the gear and then searching), and then click "Create pull request"

 

An admin will look at it to make sure that nothing important got deleted, and if they approve it, they'll merge it into production!

Afterword: Updating Your Personal Repo

Note that this didn't say anything about updating your personal copy if the production copy gets updated by someone else. There are two ways to do this, and it's really your choice which one to do.

GitHub Method

In the SLAC Lab production repo, click "Pull Request" and then "New Pull Request"

Image Added

 

Click on "Compare across forks" and then pick your fork in the left hand drop down menu

Image Added

 

Click "create pull request", which will take you to the same page we had in the tutorial! The only difference here is that you don't need any reviewers because you're merging it into your personal fork.

Image Added

 

Info

Note: Sometimes it'll say that it can't be merged automatically. This usually happens when you've edited the same file as one that got updated in production. One way to avoid this problem on GitHub is to always keep your fork's master up to date with production and do all your work in a different branch and just deal with the merge conflicts locally

 

You can just immediately merge it in on the next page by clicking "merge pull request"

Image Added

 

Using the steps in the tutorial, ssh into rhel6-64 and navigate to the repository that Matt's script created (the one where it prompted you for a path in AFS) and run "git --bare fetch origin master:master". Mine doesn't have output because it's already up to date, but yours should

Image Added

 

Back in your physics devPanel directory, run "git pull origin master", and that should be it! Again, your output will be different from mine because mine is already up to date.

Image Added