From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25832 invoked by alias); 17 Aug 2017 17:26:46 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 41565 Received: (qmail 19017 invoked by uid 1010); 17 Aug 2017 17:26:46 -0000 X-Qmail-Scanner-Diagnostics: from out1-smtp.messagingengine.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(66.111.4.25):SA:0(-2.6/5.0):. Processed in 0.815504 secs); 17 Aug 2017 17:26:46 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: d.s@daniel.shahaf.name X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= daniel.shahaf.name; h=date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=i0uuU8 Ty3oVpkCYzoJSS4zTSxBHRMgnvgfSSH/RJfes=; b=QJQJIW26hIlCRR7qv9nvcW LZPlFcF/Kby6qBHBje1oUDlfFRj5SedymoLlz0l7BknHaPDGaw8/GxPw1OQ2qYPj IJW3kkXtZfsmJ+3iIurfxTYDb4zi2+llJb4arQ38vVzL5ESUL0p6WuXFgLqmAZa9 V0bVadRAEkeiiZ/bKc7iVW8FAY2EUhP6kk/9R2oiZMp/MEWuw/bs02aMjJm0ubVQ adoL44MsjOzWe3URXo1KwqVwpC/0B8smx+I7yWtbIpSk9rh/kQ3spv/IC31i7W/e I4ARlB1wGaZZsIPIpnZYNNO41bDp74xrjbMAe90fHplU/Cfttej9yuQS3T/uEItQ == DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=i0uuU8 Ty3oVpkCYzoJSS4zTSxBHRMgnvgfSSH/RJfes=; b=eLPR88sozFsFeoDbxadGfZ 1ZMMd4oZ7WrgDjlGiDxtzsOejCuSXvW0lTsmYIVKClMe3Z8SPP3PWNP5uFdE2BOR 8/3Zd3rv7x116cL7C38olbFFksK9n/lhDKx/gdWhEfY1JCxC0FvSOztOAMWdmtLN JgkVf3yT9N/py9tTjb1QOjL7wkncPewJZtAXYq9hBQS1Mka0jYrcTYoD/yqNKvRB yxvW20GsLy1SRXGIt8WYc5R5LRLUTGG/Gbml9f75yRb2Oyct8p3nie7geyxKidGX 0/gkbTJxgXsKFzgKIIKxlLxysAy+kXiCNY8r0gXtqpLrPfupBsKX6vN2XyJl28Dw == X-ME-Sender: X-Sasl-enc: +z5MAy18F4XhTE9sW45/Cp/qqMzbX3yXk6cexlIz3qOv 1502990802 From: Daniel Shahaf To: zsh-workers@zsh.org Subject: [PATCH] vcs_info patch2subject: Support `svn log -r N --diff` output. Date: Thu, 17 Aug 2017 17:26:39 +0000 Message-Id: <20170817172639.24034-1-danielsh@tarpaulin.shahaf.local2> X-Mailer: git-send-email 2.11.0 --- This is used by the Debian libserf-1-1 package. Functions/VCS_Info/VCS_INFO_patch2subject | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Functions/VCS_Info/VCS_INFO_patch2subject b/Functions/VCS_Info/VCS_INFO_patch2subject index e222e8382..a48c16b04 100644 --- a/Functions/VCS_Info/VCS_INFO_patch2subject +++ b/Functions/VCS_Info/VCS_INFO_patch2subject @@ -6,14 +6,18 @@ integer -r LIMIT=10 local -a lines local needle + readonly svn_log_pattern='^r[0-9]* [|] .*' if [[ -f "$1" ]]; then # Extract the first LIMIT lines, or up to the first empty line or the start of the unidiffs, # whichever comes first. while (( i++ < LIMIT )); do IFS= read -r "lines[$i]" - if [[ -z ${lines[$i]} ]] || [[ ${lines[$i]} == (#b)(---|Index:)* ]]; then + if [[ -z ${lines[$i]} ]] || [[ ${lines[$i]} == (#b)(---[^-]|Index:)* ]]; then lines[$i]=() - break + # For 'svn log -r N --diff' output, read the first paragraph too. + if ! [[ $lines[i-1] =~ $svn_log_pattern ]]; then + break + fi fi done < "$1" @@ -51,6 +55,9 @@ fi } < "$1" REPLY=$needle + elif [[ $lines[2] =~ $svn_log_pattern ]]; then + REPLY=$lines[4] + if (( ${+lines[5]} )); then REPLY+='...'; fi elif (( ${+lines[1]} )); then # The first line of the file is not part of the diff. REPLY=${lines[1]}