Return-Path: X-Original-To: apmail-subversion-dev-archive@minotaur.apache.org Delivered-To: apmail-subversion-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6112B11FDA for ; Sun, 10 Aug 2014 18:47:18 +0000 (UTC) Received: (qmail 65822 invoked by uid 500); 10 Aug 2014 18:47:17 -0000 Delivered-To: apmail-subversion-dev-archive@subversion.apache.org Received: (qmail 65739 invoked by uid 500); 10 Aug 2014 18:47:17 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 65664 invoked by uid 99); 10 Aug 2014 18:47:16 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 10 Aug 2014 18:47:16 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [192.109.42.8] (HELO einhorn.in-berlin.de) (192.109.42.8) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 10 Aug 2014 18:46:50 +0000 X-Envelope-From: stsp@stsp.name Received: from ted.stsp.name (ted.stsp.name [217.197.84.34]) by einhorn.in-berlin.de (8.14.4/8.14.4/Debian-4) with ESMTP id s7AIkkH0004623 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 10 Aug 2014 20:46:47 +0200 Received: from ted.stsp.name (localhost [127.0.0.1]) by ted.stsp.name (8.14.8/8.14.3) with ESMTP id s7AIkksK022060; Sun, 10 Aug 2014 20:46:46 +0200 (CEST) Received: (from stsp@localhost) by ted.stsp.name (8.14.8/8.14.7/Submit) id s7AIkjYW018571; Sun, 10 Aug 2014 20:46:45 +0200 (CEST) Date: Sun, 10 Aug 2014 20:46:45 +0200 From: Stefan Sperling To: Alexey Neyman Cc: dev@subversion.apache.org Subject: Re: Regression in bindings? 1.7/1.8 vs 1.6 Message-ID: <20140810184644.GU27031@ted.stsp.name> Mail-Followup-To: Alexey Neyman , dev@subversion.apache.org References: <1423620.inSQzY4Xuy@mistral> <45412452.tpdyVQTNtL@mistral> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45412452.tpdyVQTNtL@mistral> User-Agent: Mutt/1.5.23 (2014-03-12) X-Virus-Checked: Checked by ClamAV on apache.org On Sun, Aug 10, 2014 at 09:14:05AM -0700, Alexey Neyman wrote: > On Saturday, August 09, 2014 10:50:11 PM Alexey Neyman wrote: > > Hi Subversion developers, > > > > I am trying to migrate some scripts from 1.6 server that we're currently > > running to a newer SVN version, and encountered something that looks like > > a bug: with 1.7/1.8 the fs.change_node_prop (in Python bindings) is no > > longer able to modify a node's properties unless that node is already > > modified in the transaction being handled. > How come the node is marked as changed, but the changes are lost? Ummm... hooks are not supposed to modify transactions. Have you seen this paragraph in the svn book? """ While hook scripts can do almost anything, there is one dimension in which hook script authors should show restraint: do not modify a commit transaction using hook scripts. While it might be tempting to use hook scripts to automatically correct errors, shortcomings, or policy violations present in the files being committed, doing so can cause problems. Subversion keeps client-side caches of certain bits of repository data, and if you change a commit transaction in this way, those caches become indetectably stale. This inconsistency can lead to surprising and unexpected behavior. Instead of modifying the transaction, you should simply validate the transaction in the pre-commit hook and reject the commit if it does not meet the desired requirements. As a bonus, your users will learn the value of careful, compliance-minded work habits. """ http://svnbook.red-bean.com/en/1.7/svn.reposadmin.create.html#svn.reposadmin.create.hooks