From owner-freebsd-hackers@FreeBSD.ORG Wed Apr 18 03:30:55 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D92841065673; Wed, 18 Apr 2012 03:30:55 +0000 (UTC) (envelope-from matthewstory@gmail.com) Received: from mail-qc0-f182.google.com (mail-qc0-f182.google.com [209.85.216.182]) by mx1.freebsd.org (Postfix) with ESMTP id 7A25C8FC0C; Wed, 18 Apr 2012 03:30:55 +0000 (UTC) Received: by qcsg15 with SMTP id g15so5100308qcs.13 for ; Tue, 17 Apr 2012 20:30:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=4azJZLfWoa0wnWxX6i3/fl6HqYbnItJE9NBc5gC2ktE=; b=x9gKqD4QLf5F3Yw2OvgUi15x3vhE+Vv9YbGiLF+GCX1bTRoD7HgUri24VeSp8jwD30 zeb0zGx4lxA6pPWrI43vILdI2EdL3CgFwuTGFm3ONrOhvi3F7FQ1O4fX7VPgXX2EUSO/ MRvOfbthpnWeW/AwhrOvpbslpmkrjOIFXMDXmwzez04R6q9Ij9zNUvGkVVhThXqPxJNq tndTmziN4bOFpdOSebRZ211rQ8f00KhB91bkbBFo+0ROjqr52n9nGq+PWxjJxtWKWlDS 8h51Z1vphm6gY/oMSFBjbfww8HqdxWQo6KPOc9FsnKqSuUbgZZ6F2b4QKuvz1HTFsrrz moFA== MIME-Version: 1.0 Received: by 10.229.106.193 with SMTP id y1mr241095qco.73.1334719849136; Tue, 17 Apr 2012 20:30:49 -0700 (PDT) Received: by 10.229.96.205 with HTTP; Tue, 17 Apr 2012 20:30:48 -0700 (PDT) In-Reply-To: References: <4F8E0163.9030009@FreeBSD.org> Date: Tue, 17 Apr 2012 23:30:48 -0400 Message-ID: From: Matthew Story To: Ben Fiedler Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-hackers@freebsd.org, Gabor Kovesdan Subject: Re: Status of BSD Diff replacement? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Apr 2012 03:30:55 -0000 On Tue, Apr 17, 2012 at 10:01 PM, Ben Fiedler wrote: > Gabor, > > I made a branch off of your perforce diff code in my work on the diff > tool: From my understanding you started those modifications from OpenBSD's > diff in 2008, so Matthew's assertion that "our incomplete BSD diff is > OpenBSD diff + improvements" is 100% correct. I also ported and started > work on sdiff and diff3 from OpenBSD, but made minimal headway on each. > > The red items on the table here lists the needed argument support to match > GNU grep: http://wiki.freebsd.org/SOC2010BenFiedler#diff Awesome, thanks for that link. > > > Though there's only a few left, they are not trivial by any means. > > -Ben > > > > On Tue, Apr 17, 2012 at 4:48 PM, Gabor Kovesdan wrote: > >> On 2012.04.17. 23:03, Matthew Story wrote: >> >>> Just wondering what the current status is on a BSD diff replacement. >>> The IdeasPage suggests that a goodly amount of work was done on this for >>> GSoC 2010 (http://wiki.freebsd.org/**IdeasPage#BSD-licensed_Text-** >>> Processing_Tools), >>> but the GPLinBase page says it's unowned and suggests replacement with >>> OpenBSD diff (http://wiki.freebsd.org/**GPLinBase >>> ). >>> >> Unless OpenBSD folks have changed or developed something, our incomplete >> BSD diff is OpenBSD diff + improvements. >> >>> >>> Wondering how much is outstanding on this, and where to start reading to >>> catch up on what's been done? >>> >> >> I worked a bit on that in 2008 along with grep and sort but these got >> more priorities so lots of features are still missing. Then Ben Fiedler >> also worked on it in 2010 but I don't exactly know what he accomplished and >> whether he took my code or chose another way. So for someone who wants to >> work on it, first it should be checked what's done, maybe merge my version >> and Ben's version, > > just to verify, these are the correct 2 branches to look at: http://p4web.freebsd.org/@md=d&cd=//depot/projects/soc2008/&c=iZC@//depot/projects/soc2008/gabor_textproc/?ac=83 http://p4web.freebsd.org/@md=d&cd=//depot/projects/soc2010/&c=QTP@//depot/projects/soc2010/bsdtextproc/?ac=83 it looks like gabor_diff in soc2010 is based off the soc2008 work. Is there anyway either of you could provide me with an archive of the working tree for these 2 perforce repos? or make it available in a branch on svn.freebsd.org? I'd like to look into this more, but after reading through the P4Web docs, trying to gain anonymous read-only access through p4 itself, and then reading: http://lists.freebsd.org/pipermail/freebsd-questions/2007-August/156862.html it seems there's no real way to accommodate this sort of thing at current. > check whether OpenBSD added something new or fixed somethings and then >> implement missing features and do lots of testing to ensure compatibility >> with GNU diff. And performance tests and improvements if necessary. >> > Since 2008/2010 the OpenBSD change logs referencing diff(1) sdiff(1) and diff(3) are: 4.9 Use scandir(3) instead of getdirentries(2) in diff(1). Call to getdirentries(2) should be avoided outside of libc 4.8 Many diff(1) improvements. Make diff(1) return 2 on error. 4.6 Fix file descriptor leaks in sdiff(1) when diffing regular files. I think the many diff(1) improvements is when ray started maintaining diff (not millert), so perhaps I can ping him as well if I make any headway on this. > >> I work on grep/regex related things and recently Oleg Moskalenko took >> over my incomplete BSD sort code but noone is working on BSD diff so any >> contribution is very welcome. > > >> >> Gabor >> > > -- regards, matt