Subject: [Tools-discuss] Rfcdiff-1.41 feedback

From: Andrey Ponomarenko <[email-masked]>
Date: Tue, 27 Sep 2011 18:10:30 +0400

Hello,

Thanks for this great tool. It's much better than alternatives (hdiff, 
diff2html, ...). The style of the HTML output is really outstanding.

I have a bug report, feature requests and questions.

Bugs:
     $> cd rfcdiff-1.41/
     $> make
Makefile:6: ../Makefile.common: No such file or directory
make: *** No rule to make target `../Makefile.common'.  Stop.

Why the Makefile includes "../Makefile.common" from the outer directory?

Features:
   Add an option (-R) to compare directories;
   Add an option (-o) to choose an output file;
   Add an option (-s) to check spaces;

Questions:
Why not to give this tool a general-purpose name? It seems to be able to 
compare non-RFC files.

I'm planning to integrate this tool to my open-source project [1] to 
show differences in C/C++ header files.

[1] http://linuxtesting.org/upstream-tracker/versions/libssh.html

-- 
Andrey Ponomarenko
Department for Operating Systems at ISPRAS
  web:    http://www.LinuxTesting.org
  mail:   [email-masked]

---

From: Andrey Ponomarenko <[email-masked]>
Date: Tue, 27 Sep 2011 19:41:50 +0400

There is also an error found by http://validator.w3.org/check in the 
HTML output:
Line 6, Column 1: Missing xmlns attribute for element html. The value 
should be: http://www.w3.org/1999/xhtml

On 09/27/2011 06:10 PM, Andrey Ponomarenko wrote:
> Why not to give this tool a general-purpose name? It seems to be able 
> to compare non-RFC files.
>

---

From: Andrey Ponomarenko <[email-masked]>
Date: Tue, 27 Sep 2011 20:09:33 +0400

And also an error with creating temporary directories (not always 
reproducible):

/usr/bin/rfcdiff: Error: Failed to create temporary directory 
'/tmp/rfcdiff-28949'.
/usr/bin/rfcdiff: Error: Failed to create temporary directory 
'/tmp/rfcdiff-29011'.

On 09/27/2011 07:41 PM, Andrey Ponomarenko wrote:
>> Thanks for this great tool. It's much better than alternatives 
>> (hdiff, diff2html, ...). The style of the HTML output is really 
>> outstanding.
>>

---

From: Henrik Levkowetz <[email-masked]>
Date: Tue, 27 Sep 2011 23:05:18 +0200

Hi Andrey,

> diff2html, ...). The style of the HTML output is really outstanding.

I'm happy to hear that :-)

> I have a bug report, feature requests and questions.

The bugs (the one below, and the others in separate email) are noted --
I don't know that I'll be able to fix them in the very near timespace,
but I'll try to get to them within a couple of weeks.

> make: *** No rule to make target `../Makefile.common'.  Stop.

Ah.  Distribution tarball bug.  It works for me locally, of course.
Attaching it to this mail for your use till I get that fixed.

>    Add an option (-s) to check spaces;

The -R seems like it would need some work, but the two other ones could
probably be accomplished fairly easily.

> Why not to give this tool a general-purpose name? It seems to be able to 

Don't know -- it started out as a dedicated tool exactly because the
regular diffs couldn't handle the shifting page splits of the IETF
documents very well at all :-)

> show differences in C/C++ header files.

Cool!  And an interesting project!

(And a nit report in return for you:  The graphic on the front page,
http://linuxtesting.org/upstream-tracker/index.html:
http://linuxtesting.org/upstream-tracker/versions/history.png
has this vertical text to the left: "Avg number of ABI breaks ..."
which should probably say 'API' instead of ABI :-)

> [1] http://linuxtesting.org/upstream-tracker/versions/libssh.html

Best regards,

	Henrik

---

From: Andrey Ponomarenko <[email-masked]>
Date: Wed, 28 Sep 2011 15:12:16 +0400

Hi,

> Attaching it to this mail for your use till I get that fixed.

It's working for me after this patch:

--- Makefile   2011-09-28 13:51:18.000000000 +0400
+++ Makefile    2011-09-28 13:51:18.000000000 +0400
@@ -3,5 +3,5 @@

  sources += rfcdiff.pyht

-include ../Makefile.common
+include Makefile.common

> probably be accomplished fairly easily.

I've created a temporary workaround for -R by combining HTML reports for 
standalone files into the one big HTML file and finally integrated the 
tool on the site. This is a sample result: 
http://linuxtesting.org/upstream-tracker/diffs/libssh/0.4.8_to_0.4.90/diff.html

There are also a bunch of libraries updated with the new HTML diff in 
the Tracker: Qt4, KDE Libs, Barry, OpenBabel. Remaining 365 libraries 
will be updated on the next build.

> which should probably say 'API' instead of ABI :-)

This is exactly an ABI, that is Application Binary 
Interface=API+compiler ABI, "API on binary level" or more simply 
"compiled API". If ABI is stable (i.e. the library is backward binary 
compatible), then programs can run on newer versions of a library 
without the need to recompile. The Tracker is planned to be updated soon 
to check also an API stability of libraries, i.e. backward 
build-time/source compatibility.

> 	Henrik

Thanks!

---

From: Henrik Levkowetz <[email-masked]>
Date: Fri, 30 Sep 2011 13:35:05 +0200

Hi Andrey,

On 2011-09-28 13:12 Andrey Ponomarenko said:

...
> http://linuxtesting.org/upstream-tracker/diffs/libssh/0.4.8_to_0.4.90/diff.html

Ah.  Yes, good.  I think people will find this useful :-)

> build-time/source compatibility.

Ah.  Ok, I understand.  I wasn't aware of this use of 'ABI'; thanks for
the explanation!

Best regards,

	Henrik