On the mailing list back in March 2014, there was a thread[1] which
correctly observed that since r1416637 (released in 1.7.8), the
changed output of svnlook proplist from name : value format to a new
multi-line/multi-value format made the existing check-mime-type.pl
contrib pre-commit hook script no longer worked correctly, as it could
no longer parse the multi-line proplist output.
A patch was proposed[2], which took the approach of using svnlook
proget instead of svnlook proplist. After some feedback, the thread
went cold, and there's no evidence of a commit or tracking bug.
I took a look at the patch and a similar approach. I found that
svnlook propget, if it does not find the property present, sets return
code = 1, which is caught in read_from_process causing the script to
fail immediately. Perhaps that was how it was intended to work.
The patch also contains a behaviour change, from working only on added
files in the transaction, to now working with any updated files also.
Having found the contrib script non-functional, I've taken another
look at this, and pushed a potential fix to my clone on Github[3].
This works for me for Subversion/svnlook 1.6.11 (old output) and 1.8.8
(new output). I went with a dual-format parse of svnlook proplist
output, rather than tackling the switch to propget and handling the
return-code.
So I just wanted to reopen the conversation, to either reopen
discussion/review of the old patch, or start a review of my new patch.
Thanks
Brett
[1] http://mail-archives.apache.org/mod_mbox/subversion-dev/201403.mbox/%3C1576503.m6XB7udPXQ@hurry.speechfxinc.com%3E
[2] http://mail-archives.apache.org/mod_mbox/subversion-dev/201403.mbox/raw/%3C1576503.m6XB7udPXQ@hurry.speechfxinc.com%3E/2
[3] https://github.com/javabrett/subversion/commit/be308d1dc17aa601e0b04379c0f530c8475626a7#diff-18a955adda94952d6581a5a72ec1b2bd
Received on 2015-08-07 09:15:45 CEST