at the moment I have one repo (git) for my project and I use branching techniques for development. This is a very new project and I wanted to get things right from the very beginning. I will create this app for Win32, Win64 and OSX. Now, I want to introduce builds (not really nightly as I am sole developer but frequent). How would you set up the above in terms of branching and repos? I have come up with the following options:
A. One repo with master-develop and branching and merging and rebranching for Win32/64/OSX with lots of tagging
B. Three separate repos:
Development: usual practice here with master (which will hold the latest final build per version) and develop with other bug/features...branches
When I want to create a build (not final), the files will be stored in another separate repo for each platform (something like RC-Win32, RC-Win64, RC-OSX) and tags will be used
When I am ready for the final version per platform, I will build everything and push to another repo, say Release-Win32, Release-Win64, Release-OSX
Is this a solid plan? What is common practice when you have builds of different scope (release, nightly, release candidates) and for different platforms?
One question that come in mind for scenario B is where and when I will include other stuff like installers, documentation, etc.... Also, do you trust you VCS and keep everything in there when you have a final package which you deployed? Like for example, if I have MyApp v1.0 (including docs, etc. etc.) do you leave them in the repo or you check everything out in a folder for referencing? (I actually feel more comfortable with this)