From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id b6671ef6 for ; Sat, 24 Aug 2019 17:25:19 +0000 (UTC) Received: (qmail 5420 invoked by alias); 24 Aug 2019 17:25:11 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 24180 Received: (qmail 15228 invoked by uid 1010); 24 Aug 2019 17:25:11 -0000 X-Qmail-Scanner-Diagnostics: from wout2-smtp.messagingengine.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.101.2/25545. spamassassin: 3.4.2. Clear:RC:0(64.147.123.25):SA:0(-2.6/5.0):. Processed in 0.863247 secs); 24 Aug 2019 17:25:11 -0000 X-Envelope-From: d.s@daniel.shahaf.name X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at daniel.shahaf.name does not designate permitted sender hosts) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= daniel.shahaf.name; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:content-transfer-encoding :in-reply-to; s=fm1; bh=mKP8SPLYKycTJHvlmt7RbR9cIiBR241sTvKuhXO6 iSQ=; b=ubBVlRQHn10Zxgjqp0s/MtlbFoYbgK0qelDFuZF2/NQ1EVNiWoJ+sASV fIL55jOoOZIgf8F4TQeLothmOiNYYrJJ5tFdPGy341GtGVI9mekDo6D6wS70Cd7z Vn+qt+aOlD7o0MRzX7cwuu1qEZ2PkhXmn/b7eclNGhuHYsx7k4mq6sX2L1BNhNuo wyGnvvXcxGCqS9xn7+pZc/dpQsNH2ds7CiIwHp2OIdLgrq95XzxhuHD6KDeL5tif NOvR26KOey5ry4By8H9Z0N29jLtQu0uSjiNp+Rt6xJhdqiecoK6WS9QLaSBqcijB sg5FrSftPaeDHejOPaa7oxL99+9NGQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=mKP8SPLYKycTJHvlmt7RbR9cIiBR241sTvKuhXO6i SQ=; b=zENaUtzFos35g3x/2HgttyxZh/ORjhD10/1ISf5yRXQ5tjQiquB6U+UwC UKDnLYiO6SElJsbLZhee+UK0o5bhWGNpQc5ngOm6qf+1uvSWUrNDC9ofubVvNeeR aMU2vfycn6troIiMAjErOivzeJesOJIcLECBqoQCcXXPfH7i5BpXZrJ+vgv3uqH2 tFj6gymhWuXcdl8CSuqsLw8dpaFFHffEvx2LyHTSVTjUqTAUSSQ88k25JnooemJ8 GdCY+GjEsPJVBVq9z3Nhh6WGoqhEr2EwVAKHUtgNc3FkfHDxDxobAJeWLDwtExw0 eaKBL3h/9Iq2SDxylvIrV90qXaF6A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduvddrudehtddgudduhecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpeffhffvuffkfhggtggugfgjfgesthektddttderjeenucfhrhhomhepffgr nhhivghlucfuhhgrhhgrfhcuoegurdhssegurghnihgvlhdrshhhrghhrghfrdhnrghmvg eqnecukfhppeejledrudejiedrkedurdefgeenucfrrghrrghmpehmrghilhhfrhhomhep ugdrshesuggrnhhivghlrdhshhgrhhgrfhdrnhgrmhgvnecuvehluhhsthgvrhfuihiivg eptd X-ME-Proxy: Date: Sat, 24 Aug 2019 17:24:33 +0000 From: Daniel Shahaf To: Cristiano De Michele Cc: zsh-users@zsh.org Subject: Re: subversion complete functions obsolete Message-ID: <20190824172433.c4v252jc4czjsyay@tarpaulin.shahaf.local2> References: <5521481D-C84A-449A-BBF7-0C429868247B@uniroma1.it> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5521481D-C84A-449A-BBF7-0C429868247B@uniroma1.it> User-Agent: NeoMutt/20170113 (1.7.2) Cristiano De Michele wrote on Fri, Aug 23, 2019 at 18:38:07 +0200: > the subversion functions for tab completion provided by current stable > version of zsh (5.7.1) are obsolete and they do not work as expected > (e.g. 'svn diff ’ does not provide all files under revision > control), I can't reproduce this. What files does it not complete? > simplifying the logic of tab completion, in that it completes all > files and dirs in the current folder (i.e. not only the ones under > revision control), Note that completion should also complete files that are missing (status «!»), scheduled for deletion (status «D»), and in the case of «svn up», files that are cropped (after an earlier «svn up --set-depth=exclude»). Does your patch regress either of these cases? (If multiple things are broken, a patch needs to fix only one of them to be acceptable — provided that it doesn't regress anything else. If it does, it will need to be considered on a case-by-case basis.) > since the latest svn versions store all files in the folder > .svn of the root directory of the repository. Context for the list: Subversion through 1.6.x put .svn dirs in each and every subdirectory, like CVS did. Subversion ≥1.7 put one .svn dir in the working copy root, like git and hg do. Subversion 1.7.0 was released in Oct 2011. Subversion 1.6.x EOL'd in June 2013. At this point I see little value in continuing to support the ≤1.6 working copy format in zsh. If anyone disagrees, speak up. > Hence, I patched a bit the original file making svn completion work > again but Thanks for basing your work on HEAD of master. Please send patches as unified diffs, not as full files. That's easier to read and review. Non parlo italiano. If the comment at the top of the file is pertinent, please translate it to English. Why did you delete _svn_conflicts()? The pattern there is still valid. I'm not fond of deleting _svn_deletedfiles(), _svn_controlled(), and _svn_status(). If there's no way to fix them, I'd prefer to keep them as functions that return true, so it would be easier to restore the functionality once someone figures out an implementation. _svn_status() could probably be salvaged just by making it check the mtime of wc.db and wc.db-journal instead (more or less; IIRC SQLite has some pragmas/options affecting naming of auxiliary files). _svn_deletedfiles(), by using «svn st | grep '^D' | cut -c8-». _svn_controlled(), by using «svn info -R» or «svn st --xml». (It would be wrong to use «svn ls» there: that wouldn't DTRT on mixed-revision and/or switched working copies.) And looking further into it, _svn_deletedfiles() and _svn_controlled() can both be computed by a _single_ command: «svn info -R --show-item=schedule». Thanks for the patch! Cheers, Daniel