Uh, what a mess!
Today my co-worker (the developer from the customer) and I got into real trouble with our project: we messed up our local repositories after he upgraded his dev version with a template I created just before. If you followed my posts then you know we use a Gitlab server with Sourcetree to manage the local and remote repositories and it worked fine until this day. I always was responsible for mergin his branch into mine (master). After that I delivered a NTF template that he could upgrade his test database with. This time I told him to upgrade his dev database to be up-to-date.
In general there is no problem with it as long as you obey a simple rule:
Always create the on-disk-project in a subfolder under the repository's root folder
e.g.
MyProject/ODP
where MyProject is the root folder where the .gitignore file should reside and the hidden subfolder called ".git". Latter was the problem. I didn't create that ODP subfolder for the Notes design so the .git folder resided beside the other folders of the ODP ("Xpages" etc.).
If the .git folder and the other reside beside then the .git folder will become part of your NSF/NTF! As this folder contains all commits and informations of your repository you will get into trouble in many ways:
- a template you create will overwrite local repository settings when synched with the NSF on another machine (this was the case my customer and I had today)
- if you produce a template that will be shipped to your customer he is able to see all commits (and messages) if he sets up source control for the application that was updated with it - and that's maybe not that what you want
- even worse: one is not able to use source control on an application that is updated/build with this as the .git folder is already there
Here is a screenshot of what you might see if you don't follow the rule above:
This folder must not be there! So if you ship a template then open it in DDE, switch to the Navigator view and remove the folder before!
So please keep your ODPs clean by separating them into their own folder like this: