.TapPlan version control diff

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.

  1. Open the tapplan in an external diff editor after the change.
  2. Find the real change I know I made,
  3. Revert all the reordered parameters
  4. 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.

1 Like

Hi @wittrock,

It should definitely be possible to order these and it makes sense.

Can you submit an issue at Issues · opentap/opentap · GitHub?

Thanks @rolf_madsen ,

Yes, I’ll do that.

@rolf_madsen ,

It looks like what I am discussing above is probably close enough to a duplicate of an existing issue so I won’t add another.

Thanks,
Wittrock