I have the following goals:
- Shared source control with continuous integration
- The ability to check in incremental changes that may or may not build (i.e., breaking changes) without affecting other team members
- The ability, without days of work, to get a report of the incremental changes checked in (not a report of the FACT that a check in was made, but an actual diff report - late edit: I now know this to be a "unified diff")
One possible solution is to use TFS as the primary source control with continuous integration and then use personal subversion implementations on top of that for tracking and checking in incremental changes that could break the build.
I understand TFS has the shelve option, but I don't think TFS has a nice summary report of check-in diffs (see below), nor is there a way that I know of to easily see a diff for a shelveset.
So, the questions are:
- Does anyone know how to get an SVN report of check-ins with something like this for each file (or, for that matter, how to get something like this out of TFS):
SetErrorMessage("You have entered an invalid concentration."); return; } - c.Concentration = decimal.Parse(concentration); + decimal num = 0; + if (decimal.TryParse(concentration, out num)) + c.Concentration = decimal.Parse(concentration); + else + { + SetErrorMessage("Invalid concentraion."); + return; + } + c.UnitOfMeasure = units;
Does anyone have experience with overlapping source control?
And finally, does anyone know how these goals could be accomplished using only TFS or only SVN (or something else)?
Thanks for any input.