[xen-tools-dev] Code (De)Duplication in xen-tools/bin/*

Axel Beckert abe at deuxchevaux.org
Wed Nov 16 02:07:01 CET 2011


Hi,

due to a bug report in Debian against xen-create-nfs[0] which handles
configuration values differently than xen-create-image, I noticed that
there are quite some similar to identical functions in all Perl
scripts in bin/ which means tons of code duplication.

  [0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648814

While there are functions which have the same name but are script
specific, I found at least four functions which were either identical,
very similar or clearly at different states of evolution. I merged
them all[1] into a new Perl Module Xen::Tools::Common[2] which is now
used by all these scripts.

  [1] https://github.com/xtaran/xen-tools/commits/code-deduplication
  [2] https://github.com/xtaran/xen-tools/blob/code-deduplication/lib/Xen/Tools/Common.pm

The diffstat shows the amount of deduplication (plus some other fixes and
documentation):

$ git diff --stat 9a966869536a9d1efd984382c99cf8ab8f3ce000..HEAD
 KNOWN_BUGS               |    4 +
 TODO                     |   13 ++
 bin/xen-create-image     |  196 ++++---------------------------
 bin/xen-create-nfs       |  164 +-------------------------
 bin/xen-delete-image     |  180 ++---------------------------
 bin/xen-list-images      |   80 +------------
 bin/xen-resize-guest     |  109 +-----------------
 bin/xen-update-image     |  107 +-----------------
 bin/xt-create-xen-config |   79 +------------
 bin/xt-install-image     |  145 ++---------------------
 lib/Xen/Tools/Common.pm  |  291 ++++++++++++++++++++++++++++++++++++++++++++++
 t/perl-syntax.t          |    2 +-
 12 files changed, 360 insertions(+), 1010 deletions(-)

I plan to merge this in the master branch. Any comments?

With regards to the roadmap:

The 4.2 branch got some more bugfixes and I'll try to release a 4.2.2
somewhen soonish.

The above mentioned code-deduplication and the remaining changes in
the master branch will probably make up some 4.3 release after the
4.2.2 bugfix release.

		Kind regards, Axel
-- 
/~\  Plain Text Ribbon Campaign                   | Axel Beckert
\ /  Say No to HTML in E-Mail and News            | abe at deuxchevaux.org  (Mail)
 X   See http://www.asciiribbon.org/              | abe at noone.org (Mail+Jabber)
/ \  I love long mails: http://email.is-not-s.ms/ | http://noone.org/abe/ (Web)


More information about the xen-tools-dev mailing list