Not only that but for a lot of back-ports I don't think that script (while 
great) goes far enough.  Compiling, loading data and running the tests doesn't 
necessarily mean that the merge is good given that our tests aren't anywhere 
near close to full coverage.

IMO it's critical that the committer ensures stability in the branches by 
treating the back-port as a stand-alone commit with a proper code review and if 
needed, manual testing.  Back-porting is not a quick and simple task and 
shouldn't be treated as an afterthought.

Regards
Scott

On 16/05/2012, at 1:28 PM, Adam Heath wrote:

> This is why I spent time to make the complex shell script(and someone else 
> did the .bat). Why not use those?
> -- 
> Sent from my Android phone with K-9 Mail. Please excuse my brevity.
> 
> Scott Gray <scott.g...@hotwaxmedia.com> wrote:
> 
> I see in your subsequent commits that you encountered the problems caused by 
> this type of change. 
> 
> They're also a pretty good indication that once again you didn't compile or 
> test before back-porting, I'm not sure what I can do to make the need for 
> this any clearer to you. Please remember your responsibilities as a committer.
> 
> Regards
> Scott
> 
> On 16/05/2012, at 1:17 PM, Scott Gray wrote:
> 
>> You've changed the signature on the UtilXml methods, that should not be done 
>> and especially not be back-ported to the branches. Even in the trunk the 
>> correct thing to do is to add a new method with the new signature and then 
>> (if needed) deprecate the old method. Obviously deprecation shouldn't be 
>> back-ported.
>> 
>> There's nothing new in this comment Jacques, the general rule of thumb is 
>> never change a method signature unless it is private.
>> 
>> Regards
>> Scott
>> 
>> On 16/05/2012, at 7:11 AM, jler...@apache.org wrote:
>> 
>>> Author: jleroux
>>> Date: Tue May 15 19:11:13 2012
>>> New Revision: 1338836
>>> 
>>> URL: http://svn.apache.org/viewvc?rev=1338836&view=rev
>>> Log:
>>> "Applied fix from trunk for revision: 1338831" (conflict in 
>>> CommonUiLabels.xml handled by hand)
>>> _____________________________________________
> 
>>> r1338831 | jleroux | 2012-05-15 21:03:26 +0200 (mar., 15 mai 2012) | 14 
>>> lines
>>> 
>>> Fixes https://issues.apache.org/jira/browse/OFBIZ-4652 "The Label Manager 
>>> is wrongly overriding CommonEmptyHeader"
>>> * Adds a keepSpace boolean to UtilXml.writeXmlDocument(), this allows to 
>>> use xsl:preserve-space into UtilXml.createOutputTransformer()
>>> * Uses it into SaveLabelsToXmlFile.saveLabelsToXmlFile()
>>> * Adds some French labels into CommonUiLabels.xml using Labels Manager to 
>>> test the new functionality 
>>> * Adds the xml:space attribute into the valueType complexType
>>> * Adds the ofbiz-properties.xsd schema into the base-catalog.xml
>>> 
>>> I got an issue when 1st trying to commit: 
>>> Commit failed (details follow):
>>> While preparing
>>> 'D:\workspace\ofbizClean\framework\common\config\CommonUiLabels.xml' for 
>>> commit
>>> Inconsistent line ending style
>>> 
>>> So I forced the EOLs to my locale platform value (Win XP)
>>> _____________________________________________
> 
>>> 
>>> 
>>> Modified:
>>> ofbiz/branches/release12.04/ (props changed)
>>> ofbiz/branches/release12.04/framework/base/dtd/base-catalog.xml
>>> ofbiz/branches/release12.04/framework/base/dtd/ofbiz-properties.xsd
>>> ofbiz/branches/release12.04/framework/base/src/org/ofbiz/base/util/UtilXml.java
>>> ofbiz/branches/release12.04/framework/common/config/CommonUiLabels.xml
>>> ofbiz/branches/release12.04/framework/webtools/src/org/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java
>>> 
>>> Propchange: ofbiz/branches/release12.04/
>>> _____________________________________________
> 
>>> Merged /ofbiz/trunk:r1338831
>>> 
>>> Modified: ofbiz/branches/release12.04/framework/base/dtd/base-catalog.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/base/dtd/base-catalog.xml?rev=1338836&r1=1338835&r2=1338836&view=diff
>>> _____________________________________________
> 
>>> --- ofbiz/branches/release12.04/framework/base/dtd/base-catalog.xml 
>>> (original)
>>> +++ ofbiz/branches/release12.04/framework/base/dtd/base-catalog.xml Tue May 
>>> 15 19:11:13 2012
>>> @@ -29,4 +29,5 @@ under the License.
>>> <system systemId="http://ofbiz.apache.org/dtds/jndi-config.xsd"; 
>>> uri="jndi-config.xsd"/>
>>> <system systemId="http://ofbiz.apache.org/dtds/ofbiz-component.xsd"; 
>>> uri="ofbiz-component.xsd"/>
>>> <system systemId="http://ofbiz.apache.org/dtds/ofbiz-containers.xsd"; 
>>> uri="ofbiz-containers.xsd"/>
>>> + <system systemId="http://ofbiz.apache.org/dtds/ofbiz-properties.xsd"; 
>>> uri="ofbiz-properties.xsd"/>
>>> </catalog>
>>> 
>>> Modified: 
>>> ofbiz/branches/release12.04/framework/base/dtd/ofbiz-properties.xsd
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/base/dtd/ofbiz-properties.xsd?rev=1338836&r1=1338835&r2=1338836&view=diff
>>> _____________________________________________
> 
>>> --- ofbiz/branches/release12.04/framework/base/dtd/ofbiz-properties.xsd 
>>> (original)
>>> +++ ofbiz/branches/release12.04/framework/base/dtd/ofbiz-properties.xsd Tue 
>>> May 15 19:11:13 2012
>>> @@ -42,6 +42,7 @@ under the License.
>>> <xs:simpleContent>
>>> <xs:extension base="xs:string">
>>> <xs:attribute ref="xml:lang"/>
>>> + <xs:attribute ref="xml:space"/>
>>> </xs:extension>
>>> </xs:simpleContent>
>>> </xs:complexType>
>>> 
>>> Modified: 
>>> ofbiz/branches/release12.04/framework/base/src/org/ofbiz/base/util/UtilXml.java
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/base/src/org/ofbiz/base/util/UtilXml.java?rev=1338836&r1=1338835&r2=1338836&view=diff
>>> _____________________________________________
> 
>>> --- 
>>> ofbiz/branches/release12.04/framework/base/src/org/ofbiz/base/util/UtilXml.java
>>>  (original)
>>> +++ 
>>> ofbiz/branches/release12.04/framework/base/src/org/ofbiz/base/util/UtilXml.java
>>>  Tue May 15 19:11:13 2012
>>> @@ -158,20 +158,26 @@ public class UtilXml {
>>> 
>>> // ----- TrAX Methods ----------------- //
>>> 
>>> - /** Creates a JAXP TrAX Transformer suitable for pretty-printing an
>>> - * XML document. This method is provided as an alternative to the
>>> - * deprecated <code>org.apache.xml.serialize.OutputFormat</code> class.
>>> - * @param encoding Optional encoding, defaults to UTF-8
>>> - * @param omitXmlDeclaration If <code>true</code> the xml declaration
>>> - * will be omitted from the output
>>> - * @param indent If <code>true</code>, the output will be indented
>>> - * @param indentAmount If <code>indent</code> is <code>true</code>,
>>> - * the number of spaces to indent. Default is 4.
>>> + /**
>>> + * Creates a JAXP TrAX Transformer suitable for pretty-printing an XML 
>>> document. This method is provided as an alternative to the deprecated
>>> + * <code>org.apache.xml.serialize.OutputFormat</code> class.
>>> + * 
>>> + * @param encoding
>>> + * Optional encoding, defaults to UTF-8
>>> + * @param omitXmlDeclaration
>>> + * If <code>true</code> the xml declaration will be omitted from the output
>>> + * @param indent
>>> + * If <code>true</code>, the output will be indented
>>> + * @param indentAmount
>>> + * If <code>indent</code> is <code>true</code>, the number of spaces to 
>>> indent. Default is 4.
>>> + * @param keepSpace
>>> + * If <code>true</code> spaces are preserved, else striped
>>> * @return A <code>Transformer</code> instance
>>> * @see <a 
>>> href="http://java.sun.com/javase/6/docs/api/javax/xml/transform/package-summary.html";>JAXP
>>>  TrAX</a>
>>> * @throws TransformerConfigurationException
>>> */
>>> - public static Transformer createOutputTransformer(String encoding, 
>>> boolean omitXmlDeclaration, boolean indent, int indentAmount) throws 
>>> TransformerConfigurationException {
>>> + public static Transformer createOutputTransformer(String encoding, 
>>> boolean omitXmlDeclaration, boolean indent, int indentAmount, boolean 
>>> keepSpace)
>>> + throws TransformerConfigurationException {
>>> StringBuilder sb = new StringBuilder();
>>> sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
>>> sb.append("<xsl:stylesheet 
>>> xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"; 
>>> xmlns:xalan=\"http://xml.apache.org/xslt\"; version=\"1.0\">\n");
>>> @@ -189,7 +195,11 @@ public class UtilXml {
>>> sb.append(indentAmount <= 0 ? 4 : indentAmount);
>>> sb.append("\"");
>>> }
>>> - sb.append("/>\n<xsl:strip-space elements=\"*\"/>\n");
>>> + if (keepSpace) {
>>> + sb.append("/>\n<xsl:preserve-space elements=\"*\"/>\n");
>>> + } else {
>>> + sb.append("/>\n<xsl:strip-space elements=\"*\"/>\n");
>>> + }
>>> sb.append("<xsl:template match=\"@*|node()\">\n");
>>> sb.append("<xsl:copy><xsl:apply-templates 
>>> select=\"@*|node()\"/></xsl:copy>\n");
>>> sb.append("</xsl:template>\n</xsl:stylesheet>\n");
>>> @@ -212,21 +222,29 @@ public class UtilXml {
>>> transformer.transform(source, result);
>>> }
>>> 
>>> - /** Serializes a DOM <code>Node</code> to an <code>OutputStream</code>
>>> - * using JAXP TrAX.
>>> - * @param node The <code>Node</code> to serialize
>>> - * @param os The <code>OutputStream</code> to serialize to
>>> - * @param encoding Optional encoding, defaults to UTF-8
>>> - * @param omitXmlDeclaration If <code>true</code> the xml declaration
>>> - * will be omitted from the output
>>> - * @param indent If <code>true</code>, the output will be indented
>>> - * @param indentAmount If <code>indent</code> is <code>true</code>,
>>> - * the number of spaces to indent. Default is 4.
>>> + /**
>>> + * Serializes a DOM <code>Node</code> to an <code>OutputStream</code> 
>>> using JAXP TrAX.
>>> + * 
>>> + * @param node
>>> + * The <code>Node</code> to serialize
>>> + * @param os
>>> + * The <code>OutputStream</code> to serialize to
>>> + * @param encoding
>>> + * Optional encoding, defaults to UTF-8
>>> + * @param omitXmlDeclaration
>>> + * If <code>true</code> the xml declaration will be omitted from the output
>>> + * @param keepSpace
>>> + * If <code>true</code> spaces are preserved, else striped
>>> + * @param indent
>>> + * If <code>true</code>, the output will be indented
>>> + * @param indentAmount
>>> + * If <code>indent</code> is <code>true</code>, the number of spaces to 
>>> indent. Default is 4.
>>> * @see <a 
>>> href="http://java.sun.com/javase/6/docs/api/javax/xml/transform/package-summary.html";>JAXP
>>>  TrAX</a>
>>> * @throws TransformerException
>>> */
>>> - public static void writeXmlDocument(Node node, OutputStream os, String 
>>> encoding, boolean omitXmlDeclaration, boolean indent, int indentAmount) 
>>> throws TransformerException {
>>> - Transformer transformer = createOutputTransformer(encoding, 
>>> omitXmlDeclaration, indent, indentAmount);
>>> + public static void writeXmlDocument(Node node, OutputStream os, String 
>>> encoding, boolean omitXmlDeclaration, boolean indent, int indentAmount,
>>> + boolean keepSpace) throws TransformerException {
>>> + Transformer transformer = createOutputTransformer(encoding, 
>>> omitXmlDeclaration, indent, indentAmount, keepSpace);
>>> transformDomDocument(transformer, node, os);
>>> }
>>> 
>>> @@ -325,9 +343,9 @@ public class UtilXml {
>>> return;
>>> }
>>> // OutputFormat defaults are: indent on, indent = 4, include XML 
>>> declaration,
>>> - // charset = UTF-8, line width = 72
>>> + // charset = UTF-8, line width = 72, strip spaces
>>> try {
>>> - writeXmlDocument(node, os, "UTF-8", false, true, 4);
>>> + writeXmlDocument(node, os, "UTF-8", false, true, 4, false);
>>> } catch (TransformerException e) {
>>> // Wrapping this exception for backwards compatibility
>>> throw new IOException(e.getMessage());
>>> 
>>> Modified: 
>>> ofbiz/branches/release12.04/framework/common/config/CommonUiLabels.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/common/config/CommonUiLabels.xml?rev=1338836&r1=1338835&r2=1338836&view=diff
>>> _____________________________________________
> 
>>> --- ofbiz/branches/release12.04/framework/common/config/CommonUiLabels.xml 
>>> (original)
>>> +++ ofbiz/branches/release12.04/framework/common/config/CommonUiLabels.xml 
>>> Tue May 15 19:11:13 2012
>>> @@ -8,6 +8,7 @@
>>> to you under the Apache License, Version 2.0 (the
>>> "License"); you may not use this file except in compliance
>>> with the License. You may obtain a copy of the License at
>>> +
>>> http://www.apache.org/licenses/LICENSE-2.0
>>> 
>>> Unless required by applicable law or agreed to in writing,
>>> @@ -17,13 +18,13 @@
>>> specific language governing permissions and limitations
>>> under the License.
>>> -->
>>> -<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>>> +<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
>>> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/ofbiz-properties.xsd";>
>>> <property key="AP">
>>> <value xml:lang="de">Kreditoren</value>
>>> <value xml:lang="en">AP</value>
>>> <value xml:lang="es">Compras</value>
>>> <value xml:lang="fr">Cpt. fourn.</value>
>>> - <value xml:lang="hi_IN">लेखा देय</value>
>>> + <value xml:lang="hi-IN">लेखा देय</value>
>>> <value xml:lang="it">AP</value>
>>> <value xml:lang="nl">Schulden</value>
>>> <value xml:lang="pt_BR">Contas a pagar</value>
>>> @@ -127,6 +128,7 @@
>>> <property key="CommonAbort">
>>> <value xml:lang="en">Abort</value>
>>> <value xml:lang="es">Cancelar</value>
>>> + <value xml:lang="fr">Abandonner</value>
>>> <value xml:lang="vi">Hủy</value>
>>> </property>
>>> <property key="CommonAccepted">
>>> @@ -413,6 +415,7 @@
>>> <value xml:lang="de">Die Adresse wurde nicht gefunden.</value>
>>> <value xml:lang="en">Address not found.</value>
>>> <value xml:lang="es">Dirección no encontrada.</value>
>>> + <value xml:lang="fr">Adresse inconnue</value>
>>> <value xml:lang="vi">Không tìm thấy địa chỉ</value>
>>> </property>
>>> <property key="CommonAddresses">
>>> @@ -2770,7 +2773,8 @@
>>> <value xml:lang="zh_TW">電子郵件</value>
>>> </property>
>>> <property key="CommonEmptyHeader">
>>> - <value xml:lang="en" xml:space="preserve"> </value><!-- do not remove 
>>> this! -->
>>> + <!-- do not remove this! -->
>>> + <value xml:lang="en" xml:space="preserve"> </value>
>>> </property>
>>> <property key="CommonEnable">
>>> <value xml:lang="en">Enable</value>
>>> @@ -11081,6 +11085,31 @@
>>> <value xml:lang="zh">有效日期</value>
>>> <value xml:lang="zh_TW">有效日</value>
>>> </property>
>>> + <property key="FormFieldTitle_expireButton">
>>> + <value xml:lang="ar">نهاية الصلاحية</value>
>>> + <value xml:lang="cs">Vypršet</value>
>>> + <value xml:lang="de">Ablaufen</value>
>>> + <value xml:lang="en">Expire</value>
>>> + <value xml:lang="es">Expiración</value>
>>> + <value xml:lang="fr">Invalider</value>
>>> + <value xml:lang="hi-IN">निश्वासन</value>
>>> + <value xml:lang="it">Scade</value>
>>> + <value xml:lang="nl">Maak verlopen</value>
>>> + <value xml:lang="pt">Expirar</value>
>>> + <value xml:lang="pt-PT">Terminar</value>
>>> + <value xml:lang="ro">Expira</value>
>>> + <value xml:lang="ru">Прекратить</value>
>>> + <value xml:lang="th">หมดเขต</value>
>>> + <value xml:lang="vi">Hết hạn</value>
>>> + <value xml:lang="zh">过期</value>
>>> + <value xml:lang="zh-CN">过期</value>
>>> + <value xml:lang="zh-TW">過期</value>
>>> + </property>
>>> + <property key="FormFieldTitle_extDevicePurposeActionId">
>>> + <value xml:lang="en">External Device Purpose Action Id</value>
>>> + <value xml:lang="es">Código acción dispositivo externo</value>
>>> + <value xml:lang="fr">Obj. de l'action</value>
>>> + </property>
>>> <property key="FormFieldTitle_externalDeviceId">
>>> <value xml:lang="en">External Device Id</value>
>>> <value xml:lang="es">Código dispositivo externo</value>
>>> @@ -11091,11 +11120,6 @@
>>> <value xml:lang="es">Código tipo dispositivo externo</value>
>>> <value xml:lang="fr">Type de Mat. Externe</value>
>>> </property>
>>> - <property key="FormFieldTitle_extDevicePurposeActionId">
>>> - <value xml:lang="en">External Device Purpose Action Id</value>
>>> - <value xml:lang="es">Código acción dispositivo externo</value>
>>> - <value xml:lang="fr">Obj. de l'action</value>
>>> - </property>
>>> <property key="FormFieldTitle_fromDate">
>>> <value xml:lang="ar">تاريخ البدء</value>
>>> <value xml:lang="de">Von Datum</value>
>>> 
>>> Modified: 
>>> ofbiz/branches/release12.04/framework/webtools/src/org/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/webtools/src/org/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java?rev=1338836&r1=1338835&r2=1338836&view=diff
>>> _____________________________________________
> 
>>> --- 
>>> ofbiz/branches/release12.04/framework/webtools/src/org/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java
>>>  (original)
>>> +++ 
>>> ofbiz/branches/release12.04/framework/webtools/src/org/ofbiz/webtools/labelmanager/SaveLabelsToXmlFile.java
>>>  Tue May 15 19:11:13 2012
>>> @@ -34,10 +34,8 @@ import org.ofbiz.base.util.UtilPropertie
>>> import org.ofbiz.base.util.UtilValidate;
>>> import org.ofbiz.base.util.UtilXml;
>>> import org.ofbiz.base.util.cache.UtilCache;
>>> -
>>> import org.ofbiz.service.DispatchContext;
>>> import org.ofbiz.service.ServiceUtil;
>>> -
>>> import org.w3c.dom.Comment;
>>> import org.w3c.dom.Document;
>>> import org.w3c.dom.Element;
>>> @@ -151,7 +149,7 @@ public class SaveLabelsToXmlFile {
>>> if (apacheLicenseText != null) {
>>> fos.write(apacheLicenseText.getBytes());
>>> }
>>> - UtilXml.writeXmlDocument(resourceElem, fos, "UTF-8", !(apacheLicenseText 
>>> == null), true, 4);
>>> + UtilXml.writeXmlDocument(resourceElem, fos, "UTF-8", !(apacheLicenseText 
>>> == null), true, 4, true);
>>> } finally {
>>> fos.close();
>>> // clear cache to see immediately the new labels and
>>> 
>>> 
>> 
> 
> 

Reply via email to