Received: (at submit) by debbugs.gnu.org; 24 May 2018 08:24:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 24 04:24:11 2018 Received: from localhost ([127.0.0.1]:45950 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1fLlXe-00070P-HM for submit <at> debbugs.gnu.org; Thu, 24 May 2018 04:24:11 -0400 Received: from eggs.gnu.org ([208.118.235.92]:48735) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <lists.gnu@HIDDEN>) id 1fLdcY-0001tP-9M for submit <at> debbugs.gnu.org; Wed, 23 May 2018 19:56:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <lists.gnu@HIDDEN>) id 1fLdcR-0003HC-Sw for submit <at> debbugs.gnu.org; Wed, 23 May 2018 19:56:37 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:40478) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <lists.gnu@HIDDEN>) id 1fLdcR-0003H2-PI for submit <at> debbugs.gnu.org; Wed, 23 May 2018 19:56:35 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39681) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <lists.gnu@HIDDEN>) id 1fLdcQ-0007Jg-Bc for bug-diffutils@HIDDEN; Wed, 23 May 2018 19:56:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <lists.gnu@HIDDEN>) id 1fLdcN-0003F0-8L for bug-diffutils@HIDDEN; Wed, 23 May 2018 19:56:34 -0400 Received: from mail.maximbaz.com ([40.68.155.0]:50116) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <lists.gnu@HIDDEN>) id 1fLdcM-0003AI-V8 for bug-diffutils@HIDDEN; Wed, 23 May 2018 19:56:31 -0400 Received: from [192.168.1.113] (unknown [87.59.102.187]) (Authenticated sender: me@HIDDEN) by mail.maximbaz.com (Postfix) with ESMTPSA id B22D98EDD1 for <bug-diffutils@HIDDEN>; Wed, 23 May 2018 23:56:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maximbaz.com; s=dkim; t=1527119776; h=from:sender:reply-to:subject:date:message-id:to:cc:mime-version:content-type:content-transfer-encoding:resent-to:resent-cc:resent-from:resent-sender:resent-message-id:in-reply-to:references:list-id:list-owner:list-unsubscribe:list-subscribe:list-post; bh=CiNF24AlIGeUNzlW5CEHIh4yv2un0ucNnSvnLkcWU+g=; b=igDu7VF7JYCWpZ9BtSHrhrDRT0986itHKVNSi2evC9QduqnMnn5H4znUGttgFeKP+2WhOF xLxZXD38ce+zHhRguZbxe1nZHXDvOX041MfDb7D6LtSZ7WoQkb4GvZ37p4ycMNSqMHgj+a OZ63QH1y0vPCuC2Ymp2bdD7lt4cdk0T5S6Agu2BvzLMngnxcrD8UjBG+f+sihEvzaJncUG OXbR8+H/OGLRIyEY62/VqL6ohpMOYtcUQSgDkk/bIMkfPoBAyU0ZA8zRfT0JsVgKK5gxmt vkGHv6Yog300BOhl9LRpzSiRkEtQDVjzGH4xcaGgyyxSgFjY3brxUy2atNcqWQ== From: Maxim Baz <lists.gnu@HIDDEN> Subject: Using -S / --starting-file causes diff to miss some files To: bug-diffutils@HIDDEN Openpgp: id=EB4F9E5A60D32232BB52150C12C87A28FEAC6B20; url=https://keybase.io/maximbaz/pgp_keys.asc Autocrypt: addr=lists.gnu@HIDDEN; prefer-encrypt=mutual; keydata= xsFNBFm0eMoBEAC3SoCJFZrwfCQdalSM/8YeLc78IPPkkup95Vrk1NvTIr/f8ifGG4zbgQEG TgLx33JRZ0ZPUsppcvrdka4VnhrjM3Lmag8QfHrIF+2Z6zo0h3TIk9FLRVqBpO3qkojAIVLc 4Ar6cq2t8u2rGgppsVtkAqmA4V8QmBU92yGiDVKerPk0NAIA/N5vws1yl8TjNTjd98qIlLbE pgvVOmwOieKSHVkz5uybwydlzyqB477wcqFDrvjx4kY7esatfjFQI6/aNkJqJvowa+RR1LZs og7Fm0NKEpUvbQz+bfxY4I6CVkKzheyUR6DzUBPvh/qC/a82SanKpBOLSi2rqV81Kuvl5k3Q aed/EmIrv9qTQLR8DzHrDlkLiMJz5bqC2x9UVNTSyTtIBO8ZqjQ/9k/ZS7r8l9ZizkREYwuO 1X966GIo4dY+D8aKyfM3qZGNU0F9u2WnzlGO0BAFi8gzU4QoGaAixUmfCEyWb9v3F2r6fTCF q5yoP6QGnKSeCWF4SinMLe0yaqCkWHd2+ws/CNVL1mfbu4G9J+OI89/rLhr75c7gm2bWa5I/ 3geNp7GNA0J5a4yd3E+xvY65Gbcl9f400LiWQ7CygwE8Cgg5qxTm4ER53FOTIOZL3c9N2RXI 5L0ryXYO9UGr83BSAik0guNupwEi4GsmmbwL5XPHO6B62HEcMwARAQABzRxNYXhpbSBCYXog PHBncEBtYXhpbWJhei5jb20+wsGRBBMBCgA7AhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheA FiEE60+eWmDTIjK7UhUMEsh6KP6sayAFAlntK2oCGQEACgkQEsh6KP6sayAf3xAAkWarCJnd esbZB8fmUsU9NnK0VBr1lGUu4S2CoNT8QJc5vJnhyM23k+ygrZ8U4hlbM4CWCee0Iy19EN62 bUnw5EmuzOjMYtHx7WYw+a+idLA9r3Hc47gjSKqVPx0IAze+V/D5b5sOrn17iO3Mynz/fbdj 2OG0394+vPCPtYtTenARz/3o4lWa+RU5r8udDrnxZQNk7FAMunP2c8ke4J3/IbRcwVwS64zh TiVlIH76iWeNC6ysWCfIhws8yFpioX9bleGCv606BzR0F6BVtUj0ZtaBqdTZ/DueBzQpJpqY EF3rU0GyPyU+v1vjNU/qFUXQIrMvnKRX3/rL85NNDvs9f+DK6LeUxLTpIw1tMVCIHKOFYAIE 4V4KoJP3njHj3S8QOO8KY51KrCP4t387WssNS3yzgLArY0Mz+gWimgBw1DdAx4O5OBAMiBI5 i/y+BMinjAMjXJjjIGPTk0lBfFmmNIjmZt7os5VuU73uKeReXK5JZZ0H4DLtei1CPy3oRjQ2 8z687pE30SoL6kjRRUQzRvZM/0KEVJo1mJqinlePQ/N3ZKYnFaUNvIyjTxJbyCTJCtUe/gsF q40L3Hv7K4OhyLH881ZwT6KPZVtBNhVGiX7dUJeNIUTMg1r+IpVewScaOIOlpkbjZrwpqT5r xwQqxAriJ3XxlenUh9T7FXIl8oTOwU0EWbR5DgEQALxKiP4xRmI6ol97vYrTWUhT31vRcUYp 1q+PoCQexsaxHYld01ShJVL5O9XgPM7a7HgQd5PtBQjTBPAsBxO38wJdFnxodVPlUc31GMtG cMiRQ5FHJu8SakpR3bacJekJ8hSdmQcVEgo6jlooazGGSaoxNY1vb61Lk8/QBvQ1oToyY/Ao Yh8HtQt1Hf+7GVUpBa35a7pBpPKRS0KY/klQog/Bfc5c8qwHzIImkuvv8zpcmEnMmQ+fLyzN 9d+gtbhsivHtKUWN9fjSbT/Ud/j+cSADnfGY1kecIaSpvmoLrX/lkZvU4OWeM9+QJ6RdMNZX dTn18uV1nSeEn4tH2wYDshvWwSHI9GP5ItF7knPzVLVy/AmMrsG10hv7EhFI3pYvQgA7NXHS ZCwi/CGqDzXHCeCivMjXdWEnHO8QyEqbZBTYsFnCQWr9gvgN88hXxPQDiFaQEXzWjEveJJ26 P4vwGzS7cK5qZ2IlD9zULH6u+yjVbMoapEzNgBmX6MvV0fQ63hGlxOqFSG2z58T3r1BhMA0D CSeCXsKDPh9FXikGDCp8yyalA94IeVN9uJhdDacBra7LjS0dJh/Q6VrisUnb/SwnBUQBb4Hf Lw54nMLYbZ6ENSNi0TIW0JHWpyQSQu1LuYGH9wALYC3v0yvCZD7lmPZ/L6ohjZme5VsMQTlx e9otABEBAAHCwXYEGAEKACAWIQTrT55aYNMiMrtSFQwSyHoo/qxrIAUCWbR5DgIbDAAKCRAS yHoo/qxrINLDEACoKeifGHBt40v2brb735498dIV7Uc6VqgqZwEKbzErQhTXRLcEyVQ544uD G3PwN0sAuS213fEOKgLnmMb1mrEnGNDQNwH51r8X/OamsRvC+lRBML11coeOTnDAWIv/zXXr lXKkMYCwz8d2BXyarXv4OQT5CtMCp7SsO5g7EEqktwKgf5Jah4np5QBFKK1bf3PYoPZC4AZV rYHDvzy18vhwQrDQHT9eYOJ+jAq/2o1e2o0+xFxUcV8hkMsWucI6QNjvwKSQMGW33xZoL3Gp yCDf6hGPE/46zmjmOHANaxDy6VkjwiK2pSVznTviMd02m7ltM9pCbSceb41cKBE54fLBFrmD erZGCfc7K4ReY19rN0s7XPp0zRYv/W3sKaK8psD0CNGYEn+EuXi4aDojyZtA+PIepo26JwXI mIzjwyk5tzkbH1Rdjgn0Gqbu0SDexQbWHlAllUVBlHQayPuZZtAKu2RUVWhJce4WDEsp7UtF ORo1EOiD7TIDoz7BH6Zn9SEQtwyxbHbGpyYPbPTLTfK59VD+auUMJIIsgpCfG9O2Qcs0ox+y hfeF0lqHVT+9NPLNlbgE4GXn+G73N5Iyf4Xp0z8coS9CG/BtIQrsmQjp9Tz7pQ42W3IWAYM0 VgT1OeNAy1Yzg2O+2ccCowejRcfdwueSPnkJekn1qqztFKCIPw== Message-ID: <bd9a33aa-6bc7-6780-5efb-29e938613fe9@HIDDEN> Date: Thu, 24 May 2018 01:56:06 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=maximbaz.com; s=dkim; t=1527119776; h=from:sender:reply-to:subject:date:message-id:to:cc:mime-version:content-type:content-transfer-encoding:resent-to:resent-cc:resent-from:resent-sender:resent-message-id:in-reply-to:references:list-id:list-owner:list-unsubscribe:list-subscribe:list-post; bh=CiNF24AlIGeUNzlW5CEHIh4yv2un0ucNnSvnLkcWU+g=; b=j4uW/EXNs/FKgHGvjGQyXi8kk6xbYFDfOLcotiJTdvrdY49GkaQ+Q36rNW/UAlhf6hIuip 2OfxEN85NGgEhr6N23ujvov0RbHGNA7Q78hkBkI0A5bC7FRrC/uRPcoJu3P2iDzcH4cvq9 KJkr0TPaeYJAYERsWBhV+c2buzflQDqeKkTqlVx7BFSNK2flPw4IwZsEjWh6GB8Vpe9eBy GWdpcNDSknjIwmyBPhgfXIy4gxeYTvbiedRylxmsUxhOlPSkl5qOWJr/xNFtpra8T3uD5u qtGN6wvGoJVi8aLYS79CeUwZJtDaeSr0cXaagvLFJdO5Q1eicf5vWRdTOe9Tcw== ARC-Seal: i=1; s=dkim; d=maximbaz.com; t=1527119776; a=rsa-sha256; cv=none; b=GJHsRUrwPwNnWi/mXIc12FH2prwr8/PNHYTsitq0Xzfx3faVz52TlmnoUrkQzME5Zu5CWvMwqXtfoCKBnV2V5DXyove87w1wwD8PI//3amIgN6rszfUBDfeYivpEv2O6pUAROh+PdfuDIZ/1EvMbiLe7TNNKlLqKck4PemSAzrtGvorPjSDFo/QLTrcpmxfpN7ta49VC0gQ6gMoQ57iK0gFOdpICdQEVWMDjrwpSWCNxR7nQX8tJrNxWJuq2xlPCjEIc/F7mgJFZ7zADJCCzFURVDvzgri4J0j/WFNKeIpARr8ofdasnIMUfKZBuBKRTuvLmXdqm3OjEXdh38tF1/g== ARC-Authentication-Results: i=1; auth=pass smtp.auth=me@HIDDEN smtp.mailfrom=lists.gnu@HIDDEN Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Thu, 24 May 2018 04:24:09 -0400 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -5.0 (-----) Hello, The manual describes -S option as "start with FILE when comparing directo= ries". My intuition is that this should behave like -O option in git-diff= [1]: show differences in FILE first, then show differences in all other = files. However, it appears that diff behaves in a different (and quite we= ird) way: it first composes an ordered list of files to compare, then cut= s off the beginning of this list until FILE, and only then starts compari= ng the remaining files. This is extremely unintuitive and I consider this= a bug (and if happens to be "by design", then I propose a new feature re= quest for -O option =F0=9F=99=82) Specific example: Create file structure as below, all files in the directory "one" should h= ave word "one" as the contents, all files in the directory "two" should w= ord "two" as the contents (so all files are different). =E2=9D=AF tree -a . =E2=94=9C=E2=94=80=E2=94=80 one =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 dir =E2=94=82=C2=A0=C2=A0 =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 f= ile =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 .hidden-dir =E2=94=82=C2=A0=C2=A0 =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 f= ile =E2=94=82=C2=A0=C2=A0 =E2=94=9C=E2=94=80=E2=94=80 .hidden-file =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 zfile =E2=94=94=E2=94=80=E2=94=80 two =E2=94=9C=E2=94=80=E2=94=80 dir =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 file =E2=94=9C=E2=94=80=E2=94=80 .hidden-dir =E2=94=82=C2=A0=C2=A0 =E2=94=94=E2=94=80=E2=94=80 file =E2=94=9C=E2=94=80=E2=94=80 .hidden-file =E2=94=94=E2=94=80=E2=94=80 zfile 6 directories, 8 files =E2=9D=AF diff -ur one two | grep '+++' | wc -l 4 =E2=9D=AF diff -ur -S zfile one two | grep '+++' | wc -l 1 =E2=9D=AF diff -ur -S zfile one two =20 diff --color --unified -ur -S zfile one/zfile two/zfile --- one/zfile 2018-05-24 01:23:49.237899164 +0200 +++ two/zfile 2018-05-24 01:24:58.260920662 +0200 @@ -1 +1 @@ -one +two I expect both diff calls to output differences in 4 files, only the secon= d call to print differences in the file "zfile" first. [1]: https://git-scm.com/docs/git-diff#git-diff--Oltorderfilegt Regards, Maxim Baz
Maxim Baz <lists.gnu@HIDDEN>
:bug-diffutils@HIDDEN
.
Full text available.bug-diffutils@HIDDEN
:bug#31577
; Package diffutils
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.