Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Version Control for
Notes developers




                Martin Jinoch
#shameless-plug


  blog: http://jinoch.cz
  twitter: @mjinoch
  email: martin@jinoch.cz
Agenda
What is version control and why you should
use it, ...
Development work-flow with Git and git-flow
How to use Git i...
“Classic” way ;-)
“Classic” way
no easy way to get back to previous state
unless we are keeping
→ backup versions of design elements
→ or ba...
There must be a better way
Version control systems
→ client/server
CVS, SVN (Subversion), ...
→ distributed
Git, Bazaar, M...
Basic operations
commit
  → save current state to VCS
diff
  → show the differences between commits (versions)
revert
  → ...
Branching model
http://nvie.com/posts/a-successful-git-branching-model/
git-flow
by Vincent Driesen (http://nvie.com)
cove...
pretty simple, huh!?



let's see a demo
git-flow to Notes mapping
master = NTF file on production server
develop = NTF file on test server
feature/* = NTF file on...
Support for Version control in
          Designer
in 8.5.3 it is built-in to Designer
connects NTF with so called on-disk ...
Configuring DDE for version
           control
Designer runs on top of Eclipse 3.4 (2008)
install VCS plugin from OpenNTF....
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
  (we're developers, right?)
Redmine
●   project management tool, bug tracker, ...
●   connects to repository to link commits to
    issues (commit mes...
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....
Thank you!
Upcoming SlideShare
Loading in …5
×

of

BLUG 2012 Version Control for Notes Developers Slide 1 BLUG 2012 Version Control for Notes Developers Slide 2 BLUG 2012 Version Control for Notes Developers Slide 3 BLUG 2012 Version Control for Notes Developers Slide 4 BLUG 2012 Version Control for Notes Developers Slide 5 BLUG 2012 Version Control for Notes Developers Slide 6 BLUG 2012 Version Control for Notes Developers Slide 7 BLUG 2012 Version Control for Notes Developers Slide 8 BLUG 2012 Version Control for Notes Developers Slide 9 BLUG 2012 Version Control for Notes Developers Slide 10 BLUG 2012 Version Control for Notes Developers Slide 11 BLUG 2012 Version Control for Notes Developers Slide 12 BLUG 2012 Version Control for Notes Developers Slide 13 BLUG 2012 Version Control for Notes Developers Slide 14 BLUG 2012 Version Control for Notes Developers Slide 15 BLUG 2012 Version Control for Notes Developers Slide 16 BLUG 2012 Version Control for Notes Developers Slide 17 BLUG 2012 Version Control for Notes Developers Slide 18 BLUG 2012 Version Control for Notes Developers Slide 19 BLUG 2012 Version Control for Notes Developers Slide 20 BLUG 2012 Version Control for Notes Developers Slide 21 BLUG 2012 Version Control for Notes Developers Slide 22 BLUG 2012 Version Control for Notes Developers Slide 23 BLUG 2012 Version Control for Notes Developers Slide 24 BLUG 2012 Version Control for Notes Developers Slide 25 BLUG 2012 Version Control for Notes Developers Slide 26 BLUG 2012 Version Control for Notes Developers Slide 27 BLUG 2012 Version Control for Notes Developers Slide 28
Upcoming SlideShare
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

BLUG 2012 Version Control for Notes Developers

Download to read offline

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

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

BLUG 2012 Version Control for Notes Developers

  1. 1. Version Control for Notes developers Martin Jinoch
  2. 2. #shameless-plug blog: http://jinoch.cz twitter: @mjinoch email: martin@jinoch.cz
  3. 3. Agenda What is version control and why you should use it, ... Development work-flow with Git and git-flow How to use Git in Designer Other tools you can integrate into your development process
  4. 4. “Classic” way ;-)
  5. 5. “Classic” way no easy way to get back to previous state unless we are keeping → backup versions of design elements → or backup copies of the whole template we don't know what the last change was → we should maintain a separate change- log
  6. 6. There must be a better way Version control systems → client/server CVS, SVN (Subversion), ... → distributed Git, Bazaar, Mercurial, ... Which one to use? Any. But please, DO use them. (And don't use CVS) http://gitvsmercurial.com
  7. 7. Basic operations commit → save current state to VCS diff → show the differences between commits (versions) revert → undo (any) commit. branch → make a new “copy” of the whole app merge → apply changes from one branch to another branch
  8. 8. Branching model http://nvie.com/posts/a-successful-git-branching-model/ git-flow by Vincent Driesen (http://nvie.com) covers not only development process - like creating new features but also release management and support - promoting new features to production app, fixing bugs in production app and in development version at once could be used with other VCS as well!
  9. 9. pretty simple, huh!? let's see a demo
  10. 10. git-flow to Notes mapping master = NTF file on production server develop = NTF file on test server feature/* = NTF file on local machine or local server team settings: rights to push to master and/or develop should be restricted to role (“gatekeeper”). In general individual developers work on feature branches and send pull requests to “gatekeeper”
  11. 11. Support for Version control in Designer in 8.5.3 it is built-in to Designer connects NTF with so called on-disk project syncs changes to on-disk project and back → version control systems need real files to act on not virtual file system → and some design elements have to be converted to DXL
  12. 12. Configuring DDE for version control Designer 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 Designer Mercurial - http://cbes.javaforge.com/update and choose 1.6.0 version of MercurialEclipse plugin and 1.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 (we're 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!

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

Views

Total views

3,303

On Slideshare

0

From embeds

0

Number of embeds

530

Actions

Downloads

36

Shares

0

Comments

0

Likes

0

×