We are evaluating Stash and are wondering how to set the product version number (in the assemblyinfo files), which is then published to NuGet, when following the GitFlow branch model.
In our current (non-Git) repository we have a version.txt file which exists for each branch. This version.txt file is used (when we do a build) to update all the assemblyinfo files with this version number, and is used when publishing the assemblies to NuGet. However this version.txt file 'sticks' to each branch. i.e. we do not merge it from develop into master.
e.g. master has a version.txt file which contains "2.0.0"
develop has a version.txt file which contains "2.1.0-dev"
feature/MyFeatureA has a version.txt file which contains "2.1.0-featureMyFeatureA"
With our current repository when feature/MyFeatureA is merged into develop we merge all the files except the version.txt file.
Now using Stash (git) we won't be able to do this because all the files will be merged, so after the merge the first thing we would have to do is update the version.txt file again to revert it back to '2.1.0-dev'. This wouldn't be particularly helpful for having a streamlined dev process for merging feature branch or bug fix changes.
Do you have a recommended approach for doing this? I did notice https://github.com/Particular/GitVersion which uses the branch name to derive the version number rather than using a version.txt file.
Craig
Read this. The "Merge strategies" section describes very nicely how to apply "git merge -s ours" to solve this problem.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.