1 / 17

Bruce Hill Murali Shankar Sept 13, 2016

Migrating EPICS Module Development to git. Bruce Hill Murali Shankar Sept 13, 2016. Git Repo hosting. Need repo accessible from firewalled development systems Currently using AFS file system hosted repos Will likely move to SLAC hosted gitlab. Git Workflow for EPICS modules.

rdodds
Download Presentation

Bruce Hill Murali Shankar Sept 13, 2016

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Migrating EPICS Module Development to git Bruce Hill Murali Shankar Sept 13, 2016

  2. Git Repo hosting • Need repo accessible from firewalled development systems • Currently using AFS file system hosted repos • Will likely move to SLAC hosted gitlab

  3. GitWorkflow for EPICS modules • Githubrepo added as remote github-origin • git fetch github-origin master:github-master • A pre-receive hook can block pushing changes to github-master. Update by pulling from github-origin.

  4. Import version history

  5. Fetching history in git • Use git fetch to bring in history from other git repos • git fetch cvs-origin master:cvs-history • git fetch svn-origin master:svn-history

  6. Merging history in git • Created gitReommitBranch.py to merge a source branch to a parent branch w/ user supplied merge points • Depends on GitPython – Available on github, pypi, … • Example usage for gitRecommitBranch.py: • gitRecommitBranch.py -v \ • -p github-master -d pcds-trunk -s svn-history • -m a867:R0.1.0 • -m 394b:R0.2.0 • -m f105:R1.0.0

  7. Before

  8. After gitRecommitBranch

  9. Git Workflow gitHub Master repo SLAC Master repo master -> github-master (ro)

  10. Git Workflow gitHub Master repo SLAC Master repo R2.5 Dev repo

  11. Git Workflow gitHub Master repo SLAC Master repo R2.5-0.branch R2.5 Dev repo

  12. Git Workflow gitHub Master repo SLAC Master repo Release R2.5-0.1.0 R2.5-0.branch R2.5 Dev repo

  13. Git Workflow gitHub Master repo SLAC Master repo Release R2.5-0.1.0 R2.5-0.branch R2.5 feature.branch Dev repo Dev Build

  14. Git Workflow gitHub Master repo SLAC Master repo Release R2.5-0.1.0 Release R2.5-1.1.0 R2.5-0.branch R2.5-1.branch R2.5 feature.branch Dev repo Dev Build

  15. Git Workflow gitHub Master repo gitHub fork SLAC Master repo Release R2.5-0.1.0 Pull request Release R2.5-1.1.0 feature.branch R2.5-1.branch R2.5 feature.branch Dev repo Dev Build

  16. Deriving relative EPICS_BASE $EPICS_SITE_TOP/R3.15.0-0.1.0/modules • RELEASE.local • BASE_VERSION = R3.15.0.1-0.1.0 • EPICS_MODULES = … sscan/R2.9.1-0.1.0 configure RELEASE -include $TOP/configure/RELEASE.local RELEASE.local -include $TOP/../../RELEASE.local ASYN_MODULE_VERSION = R4.26-0.1.0 ASYN = $EPICS_MODULES/asyn/$ASYN_MODULE_VERSION

  17. The End • Thanks for your attention • Comments welcomed

More Related