From owner-freebsd-hackers@FreeBSD.ORG Sat Apr 21 20:15:53 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 DAB6F1065672 for ; Sat, 21 Apr 2012 20:15:53 +0000 (UTC) (envelope-from bfiedler@asu.edu) Received: from mail-pz0-f44.google.com (mail-pz0-f44.google.com [209.85.210.44]) by mx1.freebsd.org (Postfix) with ESMTP id 684E98FC12 for ; Sat, 21 Apr 2012 20:15:53 +0000 (UTC) Received: by dadz14 with SMTP id z14so45162882dad.17 for ; Sat, 21 Apr 2012 13:15:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-gm-message-state; bh=HvixMuliOV/CQbZ+JQdX7bUsU8eZDYZNVB1pnlbuPqQ=; b=edN5ybpS78Vuya5An5Z1ZwRn7EXbOEsrJYrH8yFFWILnuEGYIvNnBWANZ2jvwBoCR+ s0YEdsSQ6EgAkBDzpmjC+9D9mNNhQB2H1M4JXStRPqVOhYajCKgcxmLib5kQrdcoH5AV Oy1ZTJGRDciWAYPFtEQxuGD0g4YGLfNgacS/upWsbi7t8ej8NuPNJAAFaE/B1l9LSElX YBTG/OAgj5IjvdmZgcRlx3DSI4Q0n0tTEqIVMSFAOYxWw7g7AyJcFtehGcjGafQn5REd +lGeCq/oMlqjQ5Z9+7kmDTLshMcJFlDOzMbd09f5/zFos78ql8r2qVAYSi9YDiBcVBdX aQgQ== MIME-Version: 1.0 Received: by 10.68.223.105 with SMTP id qt9mr5883950pbc.162.1335039353193; Sat, 21 Apr 2012 13:15:53 -0700 (PDT) Received: by 10.68.71.163 with HTTP; Sat, 21 Apr 2012 13:15:53 -0700 (PDT) In-Reply-To: References: <4F8E0163.9030009@FreeBSD.org> Date: Sat, 21 Apr 2012 13:15:53 -0700 Message-ID: From: Ben Fiedler To: Matthew Story X-Gm-Message-State: ALoCoQmxoxSwrYwYJeiTyI2QuFqu54RKv6fkoaAQlZhzl2WZr0jPOWYRCqipZkeJcXFwStdisrKI 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: Sat, 21 Apr 2012 20:15:54 -0000 http://www.public.asu.edu/~bfiedler/bsdtextproc.tar.gz Here's a tar.gz of my project file: I did not include the diff/ directory, but instead gabor_diff/ , as that's where the latest changes are. iirc the original diff/ in my project was taken from the source for Gabor's 'bsdiff' under the ports tree, but then after a few weeks I discovered he had made newer changes to the code under perforce, so I based gabor_diff/ off of that. Sorry if this is all confusing :) -Ben On Tue, Apr 17, 2012 at 8:30 PM, Matthew Story wrote: > > > 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 >