[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#464837: should warn about merciurial files



Hi,

A fix for .hgignore was commited by Frank Lichtenheld:

  r1201 | djpig | 2008-02-09 19:03:58 +0000 (Sat, 09 Feb 2008) | 5 lines

  Merge all the tags for vcs ignore files and vcs control
  dirs. Since the explanations don't actually differ, different
  tags make no sense. While at it, add the mercurial equivalents
  as well.

I think this is the right approach, but we could go further in merging a
few of the random checks for control files together. The attached patch
(against r1202):

 * Merges the

    - vcs-ignore-file-in-package
    - arch-inventory-file-in-package

   tags into the "package-contains-vcs-control-file" tag, modifying the
   existing regression tests to suit.

 * Adds regression tests for .httags, .hg_archival.txt, .httags, etc.

The argument for this is basically an extension of Frank's: a developer
does not need to know exactly what the control file really does, just that
it is /something/ to do with revision control (and the file should be
removed).

In addition, this tag is trivially extendable to other control files.

What this patch doesn't do is apply the same cleanup to the "diff-contains-
FOO-control-{file,dir}" tags. Is this wanted?


Regards,

-- 
Chris Lamb, UK                                       chris@chris-lamb.co.uk
                                                            GPG: 0x634F9A20
Index: checks/files
===================================================================
--- checks/files	(revision 1202)
+++ checks/files	(working copy)
@@ -595,16 +595,11 @@
 	    tag "nfs-temporary-file-in-package", "$file";
 	}
 
-	# ---------------- ignore files
-	if ($file =~ m/\.(cvs|git|hg)ignore$/) {
-	    tag "vcs-ignore-file-in-package", "$file";
+	# ---------------- vcs control files
+	if ($file =~ m/\.((cvs|git|hg)ignore|arch-inventory|hgtags|hg_archival\.txt)$/) {
+	    tag "package-contains-vcs-control-file", "$file";
 	}
 
-	# ---------------- arch-inventory files
-	if ($file =~ m/\.arch-inventory$/) {
-	    tag "arch-inventory-file-in-package", "$file";
-	}
-
 	# ---------------- subversion and svk commit message backups
 	if ($file =~ m/svn-commit.*\.tmp$/) {
 	    tag "svn-commit-file-in-package", "$file";
Index: checks/files.desc
===================================================================
--- checks/files.desc	(revision 1202)
+++ checks/files.desc	(working copy)
@@ -579,18 +579,13 @@
 Info: Package contains a .xvpics directory. It was most likely installed by
  accident, since thumbnails usually don't belong in packages.
 
-Tag: vcs-ignore-file-in-package
+Tag: package-contains-vcs-control-file
 Type: warning
-Info: Package contains a .(cvs|git|hg)ignore file.  This file is used by
- the revision control system to specify untracked files that it should ignore.
- This file is generally useless in an installed package and was probably
- installed by accident.
+Info: Package contains a VCS control file such as .(cvs|git|hg)ignore. Files
+ suchs as these are used by revision control systems to, for example, specify
+ untracked files it should ignore, etc. This file is generally useless in an
+ installed package and was probably installed by accident.
 
-Tag: arch-inventory-file-in-package
-Type: warning
-Info: Package contains a '.arch-inventory' file.  It may have been
- installed by accident.
-
 Tag: svn-commit-file-in-package
 Type: warning
 Info: Package contains a 'svn-commit(.NNN).tmp' file.  This file is almost
Index: testset/tags.filenames
===================================================================
--- testset/tags.filenames	(revision 1202)
+++ testset/tags.filenames	(working copy)
@@ -48,7 +48,6 @@
 W: filenames source: diff-contains-svn-conflict-file files/Maelstrom Sound.mine
 W: filenames source: diff-contains-svn-control-dir .svn
 W: filenames source: no-section-field-for-source
-W: filenames: arch-inventory-file-in-package files/.arch-inventory
 W: filenames: bad-permissions-for-ali-file usr/lib/ada/adalib/test.ali
 W: filenames: binary-without-manpage usr/X11R6/bin/testxbin2
 W: filenames: binary-without-manpage usr/bin/X11/testxbin
@@ -92,6 +91,12 @@
 W: filenames: package-contains-vcs-control-dir usr/lib/perl5/.svn/
 W: filenames: package-contains-vcs-control-dir usr/lib/perl5/CVS/
 W: filenames: package-contains-vcs-control-dir usr/lib/perl5/{arch}/
+W: filenames: package-contains-vcs-control-file files/.arch-inventory
+W: filenames: package-contains-vcs-control-file files/.cvsignore
+W: filenames: package-contains-vcs-control-file usr/lib/perl5/foo/.gitignore
+W: filenames: package-contains-vcs-control-file usr/lib/perl5/foo/.hg_archival.txt
+W: filenames: package-contains-vcs-control-file usr/lib/perl5/foo/.hgignore
+W: filenames: package-contains-vcs-control-file usr/lib/perl5/foo/.hgtags
 W: filenames: package-installs-into-etc-gconf-schemas etc/gconf/schemas/test.schema
 W: filenames: package-installs-nonbinary-perl-in-usr-lib-perl5 usr/lib/perl5/foo/ancient.pm
 W: filenames: package-installs-nonbinary-perl-in-usr-lib-perl5 usr/lib/perl5/foo/bar.pm
@@ -102,8 +107,6 @@
 W: filenames: symlink-is-self-recursive usr/lib/filenames/symlink6ok+warn .
 W: filenames: symlink-is-self-recursive usr/lib/filenames/symlink7ok+warn /
 W: filenames: symlink-should-be-relative usr/lib/filenames/symlink3wrong /usr/lib/filenames/symlink2
-W: filenames: vcs-ignore-file-in-package files/.cvsignore
-W: filenames: vcs-ignore-file-in-package usr/lib/perl5/foo/.gitignore
 W: filenames: windows-thumbnail-database-in-package usr/share/doc/filenames/Thumbs.db
 W: filenames: wrong-name-for-debian-news-file usr/share/doc/filenames/news.debian.gz
 W: filenames: zero-byte-file-in-doc-directory usr/share/doc/filenames/NEWS.Debian
Index: testset/filenames/debian/rules
===================================================================
--- testset/filenames/debian/rules	(revision 1202)
+++ testset/filenames/debian/rules	(working copy)
@@ -54,6 +54,9 @@
 	mkdir debian/tmp/usr/lib/perl5/.bzr
 	install -d debian/tmp/usr/share/perl5
 	echo foo > debian/tmp/usr/lib/perl5/foo/.gitignore
+	echo foo > debian/tmp/usr/lib/perl5/foo/.hgignore
+	echo foo > debian/tmp/usr/lib/perl5/foo/.hgtags
+	echo foo > debian/tmp/usr/lib/perl5/foo/.hg_archival.txt
 
 	touch debian/tmp/usr/lib/perl5/foo/.packlist
 	chmod 644 debian/tmp/usr/lib/perl5/foo/.packlist

Attachment: signature.asc
Description: PGP signature


Reply to: