Clean-up saproj XML
Wernight
Posts: 7
I found SmartAssembly doesn't have a complete documentation of the XML project files. More importantly when changing some settings and reverting that change, the XML changes. For example a:
becomes
Meaning the default values are added. This is a pretty big issue with source control systems. I'd suggest to always or never include the default values.
Also it seems that there is no way to clean-up assemblies that were referenced and are not more referenced (unless you manually edit the saproj file and check each one by one).
<Embedded />
becomes
<Embedded Compress="1" GAC="0" />
Meaning the default values are added. This is a pretty big issue with source control systems. I'd suggest to always or never include the default values.
Also it seems that there is no way to clean-up assemblies that were referenced and are not more referenced (unless you manually edit the saproj file and check each one by one).
Comments
I forgot to specify that the hardest part in regards to source control systems, is that when merging or doing changes it's impossible to know if those values mean the same as not specifying any. This is because there is no reference XML documentation for it.
As for cleaning up assemblies, the GUI has a "rescan dependencies" option within the merging and embedding section that should correct any missing ones, you can then re-save the project.
Redgate Software
Yes it affects greatly merges but also change tracking/code review. When you had something using default attributes values and then it gets changed to something with attributes explicitly defined, you don't know if those changes change anything and what they change.
Exanpe:
- <Foo />
+ <Foo Bar="1" />
Does it mean the "Bar" is now enabled and wasn't before? What affect does "Bar" mean anyway?
I can certainly add a request that we amend the file to always explicitly define the attributes rather than defaulting to "something" when they are missing. I'm not sure when such a change would take place but it'll be on the radar at least.
Thanks!
Redgate Software