As I am managing TapPlans using git, I notice there are many times when I make a small change that causes the saved TapPlan to have a lot of reordering of parameters.
This is a snippet from a recently modified TapPlan to illustrate.
diff --git a/testplans/IrigBoard.TapPlan b/testplans/IrigBoard.TapPlan
index 195e033..5aff8ac 100644
--- a/testplans/IrigBoard.TapPlan
+++ b/testplans/IrigBoard.TapPlan
@@ -30,18 +30,18 @@
<SweepRow type="OpenTap.Plugins.BasicSteps.SweepRow">
<Enabled>true</Enabled>
<Loop>c35079b3-14e7-4d7a-a7f1-c6c4262a8a66</Loop>
- <Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>5.2</Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>
<Parameters_x0020__x005C__x0020_Report_x0020_Format>V</Parameters_x0020__x005C__x0020_Report_x0020_Format>
<Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_Low>4.9</Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_Low>
<Parameters_x0020__x005C__x0020_Channel>ADC_CHAN_DUT_5V</Parameters_x0020__x005C__x0020_Channel>
+ <Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>5.2</Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>
</SweepRow>
<SweepRow type="OpenTap.Plugins.BasicSteps.SweepRow">
<Enabled>true</Enabled>
<Loop>c35079b3-14e7-4d7a-a7f1-c6c4262a8a66</Loop>
- <Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>0.27</Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>
<Parameters_x0020__x005C__x0020_Report_x0020_Format>A</Parameters_x0020__x005C__x0020_Report_x0020_Format>
<Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_Low>0.21</Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_Low>
<Parameters_x0020__x005C__x0020_Channel>ADC_CHAN_DUT_5I</Parameters_x0020__x005C__x0020_Channel>
+ <Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>0.27</Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>
</SweepRow>
</SweepValues>
<Selected>
@@ -80,10 +80,10 @@
</TestStep.Inputs>
</TestStep>
</ChildTestSteps>
- <Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>0.27</Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>
<Parameters_x0020__x005C__x0020_Report_x0020_Format>A</Parameters_x0020__x005C__x0020_Report_x0020_Format>
<Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_Low>0.21</Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_Low>
<Parameters_x0020__x005C__x0020_Channel>ADC_CHAN_DUT_5I</Parameters_x0020__x005C__x0020_Channel>
+ <Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>0.27</Parameters_x0020__x005C__x0020_Limits_x0020__x005C__x0020_Limit_x0020_High>
</TestStep>
</ChildTestSteps>
</TestStep>
@@ -118,38 +118,38 @@
So in the above case, the content is the same, it is just that it looks like the serialization order for the parameters has changed.
I was wondering if there is a way to help preserve serialization order to make tracking real changes to TapPlans more manageable.
What I currently do.
- Open the tapplan in an external diff editor after the change.
- Find the real change I know I made,
- Revert all the reordered parameters
- Save and commit
If I am just changing the value of a parameter , I usually just manually edit the TapPlan in a text editor to avoid the above, but if the change involves changes to Input/Output parameter links, etc. this is pretty error prone.