Version Control forNotes developers                Martin Jinoch
#shameless-plug  blog: http://jinoch.cz  twitter: @mjinoch  email: martin@jinoch.cz
AgendaWhat is version control and why you shoulduse it, ...Development work-flow with Git and git-flowHow to use Git in De...
“Classic” way ;-)
“Classic” wayno easy way to get back to previous stateunless we are keeping→ backup versions of design elements→ or backup...
There must be a better wayVersion control systems→ client/serverCVS, SVN (Subversion), ...→ distributedGit, Bazaar, Mercur...
Basic operationscommit  → save current state to VCSdiff  → show the differences between commits (versions)revert  → undo (...
Branching modelhttp://nvie.com/posts/a-successful-git-branching-model/git-flowby Vincent Driesen (http://nvie.com)covers n...
pretty simple, huh!?lets see a demo
git-flow to Notes mappingmaster = NTF file on production serverdevelop = NTF file on test serverfeature/* = NTF file on lo...
Support for Version control in          Designerin 8.5.3 it is built-in to Designerconnects NTF with so called on-disk pro...
Configuring DDE for version           controlDesigner runs on top of Eclipse 3.4 (2008)install VCS plugin from OpenNTF.org...
Install EGit to DDE
Install EGit to DDE
Install EGit to DDE               and point it to the               downloaded zip               file
Install EGit to DDE               just check and               press Next
Install EGit to DDE               I guess even as non-lawyers               we can accept this
Install EGit to DDE               after pressing Finish               keep accepting               (there is one more     ...
Enable Source Control for NSF
Enable Source Control for NSF
Enable Source Control for NSF
Set up Git for the on-disk project
Set up Git for the on-disk project
Start using Git directly from DDE  or use command line in Git Bash  (were developers, right?)
Redmine●   project management tool, bug tracker, ...●   connects to repository to link commits to    issues (commit messag...
Questions?●   more about Git    http://think-like-a-git.net    great book http://progit.org
Resources●   Subversion - http://subversion.apache.org/●   Git – http://git-scm.com/, Git for Windows -    http://code.goo...
Thank you!
Upcoming SlideShare
Loading in...5
×

BLUG 2012 Version Control for Notes Developers

1,930

Published on

BLUG 2012 slide deck for my Version Control for Notes Developers session

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,930
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

BLUG 2012 Version Control for Notes Developers

  1. 1. Version Control forNotes developers Martin Jinoch
  2. 2. #shameless-plug blog: http://jinoch.cz twitter: @mjinoch email: martin@jinoch.cz
  3. 3. AgendaWhat is version control and why you shoulduse it, ...Development work-flow with Git and git-flowHow to use Git in DesignerOther tools you can integrate into yourdevelopment process
  4. 4. “Classic” way ;-)
  5. 5. “Classic” wayno easy way to get back to previous stateunless we are keeping→ backup versions of design elements→ or backup copies of the whole templatewe dont know what the last change was→ we should maintain a separate change-log
  6. 6. There must be a better wayVersion control systems→ client/serverCVS, SVN (Subversion), ...→ distributedGit, Bazaar, Mercurial, ...Which one to use? Any. But please, DO usethem. (And dont use CVS)http://gitvsmercurial.com
  7. 7. Basic operationscommit → save current state to VCSdiff → show the differences between commits (versions)revert → undo (any) commit.branch → make a new “copy” of the whole appmerge → apply changes from one branch to another branch
  8. 8. Branching modelhttp://nvie.com/posts/a-successful-git-branching-model/git-flowby Vincent Driesen (http://nvie.com)covers not only development process- like creating new featuresbut also release management and support- promoting new features to production app, fixing bugsin production app and in development version at oncecould be used with other VCSas well!
  9. 9. pretty simple, huh!?lets see a demo
  10. 10. git-flow to Notes mappingmaster = NTF file on production serverdevelop = NTF file on test serverfeature/* = NTF file on local machine or localserverteam settings: rights to push to master and/ordevelop should be restricted to role(“gatekeeper”). In general individualdevelopers work on feature branches andsend pull requests to “gatekeeper”
  11. 11. Support for Version control in Designerin 8.5.3 it is built-in to Designerconnects NTF with so called on-disk projectsyncs changes to on-disk project and back→ version control systems need real files toact on not virtual file system→ and some design elements have to beconverted to DXL
  12. 12. Configuring DDE for version controlDesigner runs on top of Eclipse 3.4 (2008)install VCS plugin from OpenNTF.org→ EGit for Domino Designer (by Nathan T. Freeman) based on current EGit for Eclipse 3.6 and higher→ Subversion UpdateSite for Domino DesignerMercurial - http://cbes.javaforge.com/update andchoose 1.6.0 version of MercurialEclipse plugin and1.4.3 version of Mercurial Binaries
  13. 13. Install EGit to DDE
  14. 14. Install EGit to DDE
  15. 15. Install EGit to DDE and point it to the downloaded zip file
  16. 16. Install EGit to DDE just check and press Next
  17. 17. Install EGit to DDE I guess even as non-lawyers we can accept this
  18. 18. Install EGit to DDE after pressing Finish keep accepting (there is one more dialog asking for permission to install plugin) and then restart Designer
  19. 19. Enable Source Control for NSF
  20. 20. Enable Source Control for NSF
  21. 21. Enable Source Control for NSF
  22. 22. Set up Git for the on-disk project
  23. 23. Set up Git for the on-disk project
  24. 24. Start using Git directly from DDE or use command line in Git Bash (were developers, right?)
  25. 25. Redmine● project management tool, bug tracker, ...● connects to repository to link commits to issues (commit message “fixes #1” automatically closes issue with id 1) and for time tracking (@1h30m)● will probably be used for projects on OpenNTF.org as well as Git and Mercurial repositories
  26. 26. Questions?● more about Git http://think-like-a-git.net great book http://progit.org
  27. 27. Resources● Subversion - http://subversion.apache.org/● Git – http://git-scm.com/, Git for Windows - http://code.google.com/p/msysgit/ and follow link “Git for Windows”● Mercurial – http://mercurial.selenic.com/● Bazaar – http://bazaar.canonical.com/● EGit for Domino Designer – http://www.openntf.org/internal/home.nsf/project.xsp? action=openDocument&name=EGit%20for%20IBM%20Domino %20Designer● Subversion UpdateSite for Domino Designer – http://www.openntf.org/internal/home.nsf/project.xsp? action=openDocument&name=Subversion%20UpdateSite%20for %20Domino%20Designer● branching model - http://nvie.com/posts/a-successful-git-branching-model/● git-flow – https://github.com/nvie/gitflow● Redmine – http://www.redmine.org
  28. 28. Thank you!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×