Versions Compared

Key

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

...

  1. Set Up GitHub
  2. Create a personal copy of the production software
  3. Make sure you're either in the freshly copied repo in lcls-srv01 or mcclogin (step two left us in rhel6-64 if you're taking that route, so just ssh over to mcclogin)
    1. If on mcclogin, make sure to type "bash" and then "source /afs/slac/g/lcls/tools/script/UENVS.bash"
  4. Type "source use_pydm.sh"
     
  5. Type "mkdir [Your Name]" and head into that directory
     
  6. Type "designer &"
  7. Sometimes you get an error saying something about backup files. Ignore it(: In the window that pops up, click "Widget" and then "Create"
     
  8. 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
  9. 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"
     
  10. 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
     
  11. Right click the button itself and click "Change text..."
     
  12. Rename it something more descriptive and press enter
  13. 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! 
  14. Save this file as devPanel[Your Name].ui
  15. From here, open opsDevPanel.ui from the parent directory (~/[your username]/devPanel)
  16. Drag and drop a PyDMRelatedDisplayButton onto the newly opened devPanel.ui 
  17. Right click rename the button itself and its object name like before
  18. Add the path to your personal dev panel in your subdirectory and save
     
  19. 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!


  20. Run "git status" to see what's changed. It should be opsDevPanel.ui and a new folder with your name
  21. Run "git add [YOUR NEW FOLDER]" and "git add opsDevPanel.ui", then run another git status. They should both be staged for commit
  22. Run git commit -m "adding [YOUR NAME]'s dev panel"
  23. Push those changes to Github
    1. If on lcls-srv01, run "git push origin mastermain" and log in when prompted
       
    2. If on mcclogin, ssh to rhel6-64, re-navigate to the repo, and run "git push origin mastermain"
  24. Back on your fork on GitHub, click "Pull Request"
     
  25. Click "Create Pull Request"
  26. Add slaclab/ops as a reviewer (by clicking on the gear and then searching), and then click "Create pull request"
  27. 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!

...

  1. In the SLAC Lab production repo, click "Pull Request" and then "New Pull Request"
  2. Click on "Compare across forks" and then pick your fork in the left hand drop down menu
  3. 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.
  4. You can just immediately merge it in on the next page by clicking "merge pull request"


    Info

    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 main up to date with production and do all your work in a different branch and just deal with the merge conflicts locally

  5. Using the steps in the tutorial, ssh into rhel6-64 and navigate to the repository you created with Matt's script and run "git --bare fetch origin mastermain:mastermain". Mine doesn't have output because it's already up to date, but yours should
  6. Back in your physics devPanel directory, run "git pull origin mastermain", and that should be it! Again, your output will be different from mine because mine is already up to date.

...

  1. In your physics devPanel directory, run "git remote add upstream ~/opsTools/devPanel"

  2. Now you can just run "git pull upstream mastermain" whenever you'd like to bring your local copy up to date with production!

...

  1. Using the steps in the tutorial, ssh into rhel6-64, navigate to the bare repo you created with Matt's script, and run "git remote add upstream git@github.com:slaclab/devPanel.git" (gotten from the SLAC Lab devPanel page, much like we got it for our personal forks in the tutorial)

  2. Now, similar to in the GitHub method, you should run "git --bare fetch upstream mastermain:mastermain"  (yes, I have an error message, but it's for stupid reasons. Yours should be fine)
  3. And now it's the same step as in the GitHub method, running "git pull origin mastermain" from your devPanel physics directory.

...