Date: 09 Jul 2002 00:44:18 +0300 From: Ville =?ISO-8859-1?Q?Skytt=E4?= <scop@FreeBSD.org> To: knu@FreeBSD.org, Vassilii.Khachaturov@comverse.com Cc: freebsd-cvsweb@FreeBSD.org Subject: RE: FW: [PATCH] fileSortCmp() should properly weed out rogue non- dir files Message-ID: <1026164659.32411.680.camel@bobcat.ods.org> In-Reply-To: <6B1DF6EEBA51D31182F200902740436803B24BBA@mail-in.comverse.com> References: <6B1DF6EEBA51D31182F200902740436803B24BBA@mail-in.comverse.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2002-07-08 at 18:26, Khachaturov Vassilii wrote:
> > Could you shed a bit more light on this, I can't verify the problem
> > here. I'm unable to get non-,v files in the repo dirs to show up in
> > CVSweb's directory listings or the sort orders to break...
>=20
> The rogue files never show in the directory listings by CVSweb,
> but they do get fed to the comparison routine.
[long and good patch description snipped]
Allright, you're correct. Turns out to be that the initial data I
tested this with wasn't good enough and didn't trigger the bug, sorry
about that. But now I've verified both the bug and the fix. Still need
knu's approval before committing...
I did small tweaks to the original patch (comments only) and removed the
TODO part that was already committed in CVS.
Thanks, Vassilii, good catch!
Index: ChangeLog
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/projects/cvsweb/ChangeLog,v
retrieving revision 1.49
diff -a -u -r1.49 ChangeLog
--- ChangeLog 6 Jul 2002 18:15:19 -0000 1.49
+++ ChangeLog 8 Jul 2002 21:34:07 -0000
@@ -1,5 +1,12 @@
$FreeBSD: projects/cvsweb/ChangeLog,v 1.49 2002/07/06 18:15:19 scop Exp $
=09
+2002-07-09 Ville Skytt=E4 <scop@FreeBSD.org>
+
+ * cvsweb.cgi (fileSortCmp): Fix dir sort order breakage when
+ there are rogue files in the repository dir and the sort order
+ is not by file name.
+ [Submitted by: "Khachaturov, Vassilii" <vassilii@tarunz.org>]
+
2002-07-06 Ville Skytt=E4 <scop@FreeBSD.org>
=20
* cvsweb.conf (long_intro): Remove authors' email addresses.
Index: cvsweb.cgi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/projects/cvsweb/cvsweb.cgi,v
retrieving revision 1.112
diff -a -u -r1.112 cvsweb.cgi
--- cvsweb.cgi 6 Jul 2002 18:15:19 -0000 1.112
+++ cvsweb.cgi 8 Jul 2002 21:34:09 -0000
@@ -3,14 +3,15 @@
# cvsweb - a CGI interface to CVS trees.
#
# Written in their spare time by
-# Bill Fenner <fenner@FreeBSD.org> (original work)
-# extended by Henner Zeller <zeller@think.de>,
-# Henrik Nordstrom <hno@hem.passagen.se>
-# Ken Coar <coar@Apache.Org>
-# Dick Balaska <dick@buckosoft.com>
-# Akinori MUSHA <knu@FreeBSD.org>
-# Jens-Uwe Mager <jum@helios.de>
-# Ville Skytt=E4 <scop@FreeBSD.org>
+# Bill Fenner <fenner@FreeBSD.org> (original work)
+# extended by Henner Zeller <zeller@think.de>,
+# Henrik Nordstrom <hno@hem.passagen.se>
+# Ken Coar <coar@Apache.Org>
+# Dick Balaska <dick@buckosoft.com>
+# Akinori MUSHA <knu@FreeBSD.org>
+# Jens-Uwe Mager <jum@helios.de>
+# Ville Skytt=E4 <scop@FreeBSD.org>
+# Vassilii Khachaturov <vassilii@tarunz.org>
#
# Based on:
# * Bill Fenners cvsweb.cgi revision 1.28 available from:
@@ -3376,10 +3377,14 @@
=20
if ($comp =3D=3D 0) {
=20
- # Directories first, then sorted on name if no other sort critera
- # available.
- my $ad =3D ((-d "$fullname/$a") ? "D" : "F");
- my $bd =3D ((-d "$fullname/$b") ? "D" : "F");
+ # Directories first, then files under version control,
+ # then other, "rogue" files.
+ # Sort by filename if no other criteria available.
+
+ my $ad =3D ((-d "$fullname/$a") ? 'D'
+ : (defined($fileinfo{$af}) ? 'F' : 'R'));
+ my $bd =3D ((-d "$fullname/$b") ? 'D'
+ : (defined($fileinfo{$bf}) ? 'F' : 'R'));
($c =3D $a) =3D~ s|.*/||;
($d =3D $b) =3D~ s|.*/||;
$comp =3D ("$ad$c" cmp "$bd$d");
--=20
\/ille Skytt=E4
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-cvsweb" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1026164659.32411.680.camel>
