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=0.5 required=5.0 tests=FROM_FMBLA_NEWDOM, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=no 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 80be7f79 for ; Sun, 1 Dec 2019 00:06:03 +0000 (UTC) Received: (qmail 8530 invoked by alias); 1 Dec 2019 00:05:34 -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: List-Unsubscribe: X-Seq: 44961 Received: (qmail 28065 invoked by uid 1010); 1 Dec 2019 00:05:33 -0000 X-Qmail-Scanner-Diagnostics: from wout5-smtp.messagingengine.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.0/25642. spamassassin: 3.4.2. Clear:RC:0(64.147.123.21):SA:0(-0.4/5.0):. Processed in 3.969969 secs); 01 Dec 2019 00:05:33 -0000 X-Envelope-From: danielsh@apache.org X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: softfail (ns1.primenet.com.au: transitioning SPF record at amazonses.com does not designate 64.147.123.21 as permitted sender) X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrudejvddgudeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgogfeguddtqddvjeculdegtddmnecujfgurhephf fvufffkffojghfsedttdertdertddtnecuhfhrohhmpeffrghnihgvlhcuufhhrghhrghf uceouggrnhhivghlshhhsegrphgrtghhvgdrohhrgheqnecukfhppeejledrudektddrhe ejrdduudelnecurfgrrhgrmhepmhgrihhlfhhrohhmpegurghnihgvlhhshhesrghprggt hhgvrdhorhhgnecuvehluhhsthgvrhfuihiivgepud X-ME-Proxy: From: Daniel Shahaf To: zsh-workers@zsh.org Subject: [PATCH 3/3] vcs_info svn: Fix infinite loop when /.svn exists. Date: Sun, 1 Dec 2019 00:04:48 +0000 Message-Id: <20191201000448.21880-3-danielsh@apache.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20191201000448.21880-1-danielsh@apache.org> References: <20191201000448.21880-1-danielsh@apache.org> --- Functions/VCS_Info/Backends/VCS_INFO_get_data_svn | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn b/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn index c1547950f..21590addd 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn @@ -46,17 +46,19 @@ if (( ${+svninfo[Working_Copy_Root_Path]} )); then ${vcs_comm[cmd]} info --non-interactive -- "${svnbase}" | while IFS=: read a b; do svninfo[${a// /_}]="${b## #}"; done else # svn 1.0-1.6 - while [[ -d "${svnbase}/../.svn" ]]; do + svnbase=${svnbase:P} + while [[ -d "${svnbase:h}/.svn" ]]; do parentinfo=() - ${vcs_comm[cmd]} info --non-interactive -- "${svnbase}/.." | while IFS=: read a b; do parentinfo[${a// /_}]="${b## #}"; done + ${vcs_comm[cmd]} info --non-interactive -- "${svnbase:h}" | while IFS=: read a b; do parentinfo[${a// /_}]="${b## #}"; done [[ ${parentinfo[Repository_UUID]} != ${svninfo[Repository_UUID]} ]] && break svninfo=(${(kv)parentinfo}) - svnbase="${svnbase}/.." + svnbase=${svnbase:h} + if [[ $svnbase == '/' ]]; then + break + fi done fi -svnbase=${svnbase:P} - rrn=${svnbase:t} zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" branchformat svnbranch || svnbranch="%b:%r" hook_com=( branch "${svninfo[URL]##*/}" revision "${cwdinfo[Revision]}" )