Source control - a step further

Tuesday, November 12, 2013 at 5:19 PM UTC

Today @DavidLeedy (@NotesIn9) released another great video tutorial (watch it on Youtube here) . This time: using source control with Domino Designer and XPages (and more of course). The following tools were utilized (all of them are free of charge and easy to use):

  • Atlassian SourceTree
  • Mercurial (as a feature of SourceTree)
  • Bitbucket (Website, remote repository even free for private usage)
  • Built-in source control of Domino Designer

Though it looks really simple David put a lot of time and effort to do the video - so thanks again David for the great show!

One thing just attracted my attention instantly: David pointed out to use local NSF on disk projects (only/preferably) This is something that does not come in handy for me - and maybe for you, too, as I am working on a Domino server even when developing. This makes testing much easier than refreshing a database for testing purposes always with the local template file.

So this is what I experienced during my dabbling within the last hour (as a first impression):

  • The automatic refreshing of the workspace has a huge impact on the client's and server's performance. Just notice the refreshing progressbar in the lower right corner of your Domino Designer
  • If you are doing a scheduled replicaton from your local dev server to another server that may cause trouble. I even didn't let that happen by deactivating replication during my tests (I was afraid of trouble as I used "real" projects...)

But there is a "solution" for that constellation:

  • Turn off automatic refresh of the workspace
  • Refresh manually before committing to your repository

Wow, that's easy, hm? L├Ąchelnd

How to do that

Just don't touch the refresh setting or set it back to the default value:

Refresh the on disk project manually after changes made in your NSF before committing with SourceTree:

Remember: you are using a local repository only, SourceTree does the rest with a remote repository and manages the branches etc.

Brad Balassaitis posted about an error that may occur using Hg Flow and documented a workaround here.

And more: check out my tutorial on how to import an existing Mercurial repository into a new NSF container.

Latest comments to this post

David leedy wrote on 25.11.2013, 15:41

There's more sourcetree examples and usage coming to NotesIn9 soon.

It's very difficult for me to transcribe my videos if that's what you're looking for.  I did look into it.  Looked at paid service as well as doing it myself.  neither are workable options for me.  YouTube does do some auto transcribing in the player.  I'm not sure how good that really is though.

 Link to this comment
Oliver Busse wrote on 25.11.2013, 15:25

Not really a document but you could create a transscription of the two videos from NotesIn9 and me.

If I find the time then I will extend my tutorial to a descriptive one with text and screenshots.

 Link to this comment
patrick kwinten wrote on 25.11.2013, 15:14

does anyone know a document that describes the procedure how to use sourcetree with designer?


something you can use as a hands-on training?

 Link to this comment
Paul Withers wrote on 12.11.2013, 21:17

My preference is also to switch auto-refresh off. You do need to remember to sync with the on disk project, but I also have Build Automatically switched off, so I don't find that a problem.

 Link to this comment
David Leedy wrote on 12.11.2013, 21:07

Yes this would be a problem when working off a server. DDE just adds a lot of traffic.  But even without source control I personally prefer to work on local templates.  It's just faster and nicer.  Pretty much means you're free to keep build Automatically on with no issues.

It's not the end of the world to work locally and refresh design on a test database on a server.  Yes it's a bit slower to get to the testing.  But DDE overall should be faster. You can create a smart icon to assist with the refresh itself.  That takes some of the pain away. But yeah if you're working off the server then you would need to change some things.

I'm not quite sure what you're doing with Scheduled Replication.  We don't do any of that really.  So you do need to be careful there.  Replication can mess up Source Control.

I know Russ Maher does source control differently then what I do or what I suggest - though I'm pretty sure he develops on a local template.

Glad you liked the show at least!  


 Link to this comment

Leave a comment right here