<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>13732</bug_id>
          
          <creation_ts>2007-05-15 09:19:46 -0700</creation_ts>
          <short_desc>prepare-ChangeLog should work with git</short_desc>
          <delta_ts>2007-05-28 02:24:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Hausmann">hausmann</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>9899</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2007-05-15 09:19:46 -0700</bug_when>
    <thetext>When using git-svn to check out WebKit the prepare-ChangeLog script does not work anymore. The attached patch tries to distinguish the presence of a svn checkout or a git repository and calls git diff in the latter case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9900</commentid>
    <comment_count>1</comment_count>
      <attachid>14567</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2007-05-15 09:24:13 -0700</bug_when>
    <thetext>Created attachment 14567
patch to make prepare-ChangeLog work with git-svn</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9901</commentid>
    <comment_count>2</comment_count>
      <attachid>14567</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-05-15 09:54:13 -0700</bug_when>
    <thetext>Comment on attachment 14567
patch to make prepare-ChangeLog work with git-svn

I&apos;ve been working on this as well. I think this patch will have problems when running prepare-ChangeLog from within a subdirectory. I&apos;m going to upload my patch that does what this one does and more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9902</commentid>
    <comment_count>3</comment_count>
      <attachid>14568</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-05-15 10:07:42 -0700</bug_when>
    <thetext>Created attachment 14568
More complete git support for prepare-ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9919</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2007-05-15 12:46:28 -0700</bug_when>
    <thetext>Great, your patch does indeed more and looks a lot cleaner. I&apos;m all for it, anything that makes working with git and webkit easier :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9941</commentid>
    <comment_count>5</comment_count>
      <attachid>14568</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-05-15 16:42:11 -0700</bug_when>
    <thetext>Comment on attachment 14568
More complete git support for prepare-ChangeLog

Overall this patch looks great!  I assume you&apos;ve been living on it for a while, Adam?

A couple comments:

- Shouldn&apos;t %svn in isModifiedOrAddedStatus() also contain &quot;R&quot; for replaced files?

- Using diffHeaderFormat() within loops (when it returns the same value each time) and redefining local data structures for each method call (like in isModifiedOrAddedStatus() and isConflictStatus() and statusDescription()) makes me cringe, but unless there is an apparent slow down, it&apos;s nice not to have to declare global variables that are farther away from the subroutines.

- I understand the reason for declaring $isSVN, $isGit and $gitRoot next to their methods, but I&apos;m torn about not having them at the top of the script, too.  They&apos;re okay, though.

r=me if you address &quot;R&quot; in %svn in isModifiedOrAddedStatus().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9944</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-05-15 16:57:01 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 14568 [edit])
&gt; Overall this patch looks great!  I assume you&apos;ve been living on it for a while,
&gt; Adam?

   Yep, and it seems to be working nicely, modulo a few FIXMEs in the script.

&gt; A couple comments:
&gt; 
&gt; - Shouldn&apos;t %svn in isModifiedOrAddedStatus() also contain &quot;R&quot; for replaced
&gt; files?

   Yes. Fixed.

&gt; - Using diffHeaderFormat() within loops (when it returns the same value each
&gt; time) and redefining local data structures for each method call (like in
&gt; isModifiedOrAddedStatus() and isConflictStatus() and statusDescription()) makes
&gt; me cringe, but unless there is an apparent slow down, it&apos;s nice not to have to
&gt; declare global variables that are farther away from the subroutines.

   I&apos;d guess that, as you said, these won&apos;t slow things down much.

   Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9879</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-05-15 16:59:40 -0700</bug_when>
    <thetext>Committed r21501
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9053</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-05-27 19:19:13 -0700</bug_when>
    <thetext>*** Bug 13884 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8974</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2007-05-28 02:24:52 -0700</bug_when>
    <thetext>Why is 13884 a duplicate of this bug? This bug report was about the initial git support for prepare-ChangeLog, bug 13884 is about extending it to operate on a given git commit instead of just changes in the working directory.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14567</attachid>
            <date>2007-05-15 09:24:13 -0700</date>
            <delta_ts>2007-05-15 10:07:42 -0700</delta_ts>
            <desc>patch to make prepare-ChangeLog work with git-svn</desc>
            <filename>0001-Make-prepare-ChangeLog-work-with-git-svn.patch</filename>
            <type>text/plain</type>
            <size>5995</size>
            <attacher name="Simon Hausmann">hausmann</attacher>
            
              <data encoding="base64">RnJvbSA5NDVjZjVkYjRkNGFlOWM4NjgyNjliMDMzNGNmNDFjOGIzZDZiOTJkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTaW1vbiBIYXVzbWFubiA8c2hhdXNtYW5AcmhlYS50cm9sbC5u
bz4KRGF0ZTogVHVlLCAxNSBNYXkgMjAwNyAxODowOTo0MCArMDIwMApTdWJqZWN0OiBbUEFUQ0hd
IE1ha2UgcHJlcGFyZS1DaGFuZ2VMb2cgd29yayB3aXRoIGdpdC1zdm4uCgotLS0KIFdlYktpdFRv
b2xzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgfCAgICA2ICsrCiBXZWJLaXRUb29scy9TY3Jp
cHRzL3ByZXBhcmUtQ2hhbmdlTG9nIHwgIDEwMiArKysrKysrKysrKysrKysrKysrKysrKysrLS0t
LS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGM1YmI5ZDYuLjY1ZGExMzAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5n
ZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5IEBACisyMDA3LTA1
LTE1ICBTaW1vbiBIYXVzbWFubiAgPGhhdXNtYW5uQGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3ByZXBhcmUtQ2hhbmdl
TG9nOiBNYWtlIGl0IHdvcmsgd2l0aCBnaXQgY2hlY2tvdXRzLCB0b28uCisKIDIwMDctMDUtMTUg
IExhcnMgS25vbGwgPGxhcnNAdHJvbGx0ZWNoLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBa
YWNrCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nIGIv
V2ViS2l0VG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZwppbmRleCA0ODRhYjUxLi5iYTMy
N2YyIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cKQEAgLTY1LDYgKzY1LDgg
QEAgc3ViIGdldF9mdW5jdGlvbl9saW5lX3Jhbmdlc19mb3JfYygkJCk7CiBzdWIgZ2V0X2Z1bmN0
aW9uX2xpbmVfcmFuZ2VzX2Zvcl9qYXZhKCQkKTsKIHN1YiBtZXRob2RfZGVjbF90b19zZWxlY3Rv
cigkKTsKIHN1YiBwcm9jZXNzUGF0aHMoXEApOworc3ViIHVzaW5nU3ZuKCk7CitzdWIgdXNpbmdH
aXQoKTsKIAogbXkgJG9wZW5DaGFuZ2VMb2dzID0gMDsKIG15ICRzaG93SGVscCA9IDA7CkBAIC0x
MTAsMzggKzExMiw3NyBAQCBteSAkRElGRk9VVCA9IG5ldyBGaWxlOjpUZW1wKFRFTVBMQVRFID0+
IGJhc2VuYW1lKCQwKSAuICItWFhYWFhYWFgiLAogbXkgJGRpZmZUZW1wRmlsZSA9ICRESUZGT1VU
LT5maWxlbmFtZSgpOwogbXkgQGRpZmZGaWxlczsKIAotcHJpbnQgU1RERVJSICIgIFJ1bm5pbmcg
J3N2biBkaWZmJyB0byBmaW5kIGNoYW5nZWQsIGFkZGVkLCBvciByZW1vdmVkIGZpbGVzLlxuIjsK
LW9wZW4gU1ZORElGRiwgIiRTVk4gZGlmZiAtLWRpZmYtY21kIGRpZmYgLXggLU4gJyIgLiBqb2lu
KCInICciLCBrZXlzICVwYXRocykgLiAiJ3wiCi0gICAgb3IgZGllICJUaGUgc3ZuIGRpZmYgZmFp
bGVkOiAkIS5cbiI7Ci13aGlsZSAoPFNWTkRJRkY+KSB7Ci0gICAgcHJpbnQgJERJRkZPVVQgJF87
Ci0gICAgaWYgKC9eSW5kZXg6ICguKykkLykgewotICAgICAgICBwdXNoIEBkaWZmRmlsZXMsICQx
OworaWYgKHVzaW5nU3ZuKCkpIHsKKyAgICBwcmludCBTVERFUlIgIiAgUnVubmluZyAnc3ZuIGRp
ZmYnIHRvIGZpbmQgY2hhbmdlZCwgYWRkZWQsIG9yIHJlbW92ZWQgZmlsZXMuXG4iOworICAgIG9w
ZW4gRElGRkNNRCwgIiRTVk4gZGlmZiAtLWRpZmYtY21kIGRpZmYgLXggLU4gJyIgLiBqb2luKCIn
ICciLCBrZXlzICVwYXRocykgLiAiJ3wiCisgICAgICAgIG9yIGRpZSAiVGhlIHN2biBkaWZmIGZh
aWxlZDogJCEuXG4iOworICAgIHdoaWxlICg8RElGRkNNRD4pIHsKKyAgICAgICAgcHJpbnQgJERJ
RkZPVVQgJF87CisgICAgICAgIGlmICgvXkluZGV4OiAoLispJC8pIHsKKyAgICAgICAgICAgIHB1
c2ggQGRpZmZGaWxlcywgJDE7CisgICAgICAgIH0KKyAgICB9CisgICAgY2xvc2UgRElGRkNNRDsK
K30gZWxzaWYgKHVzaW5nR2l0KCkpIHsKKyAgICBwcmludCBTVERFUlIgIiAgUnVubmluZyAnZ2l0
IGRpZmYnIHRvIGZpbmQgY2hhbmdlZCwgYWRkZWQsIG9yIHJlbW92ZWQgZmlsZXMuXG4iOworICAg
IG9wZW4gRElGRkNNRCwgImdpdCBkaWZmIEhFQUQgLS0gJyIgLiBqb2luKCInICciLCBrZXlzICVw
YXRocykgLiAiJ3wiCisgICAgICAgIG9yIGRpZSAiVGhlIGdpdCBkaWZmIGZhaWxlZDogJCEuXG4i
OworICAgIHdoaWxlICg8RElGRkNNRD4pIHsKKyAgICAgICAgcHJpbnQgJERJRkZPVVQgJF87Cisg
ICAgfQorICAgIGNsb3NlIERJRkZDTUQ7CisgICAgb3BlbiBESUZGQ01ELCAiZ2l0IGRpZmYgLS1u
YW1lLW9ubHkgSEVBRCAtLSAnIiAuIGpvaW4oIicgJyIsIGtleXMgJXBhdGhzKSAuICInfCIKKyAg
ICAgICAgb3IgZGllICJUaGUgZ2l0IGRpZmYgZmFpbGVkOiAkIS5cbiI7CisgICAgd2hpbGUgKDxE
SUZGQ01EPikgeworICAgICAgICBwdXNoIEBkaWZmRmlsZXMsICRfOwogICAgIH0KKyAgICBjbG9z
ZSBESUZGQ01EOwogfQotY2xvc2UgU1ZORElGRjsKIGNsb3NlICRESUZGT1VUOwogCiBpZiAoQGRp
ZmZGaWxlcykgewotICAgIG15ICRkaWZmRmlsZXNTdHJpbmcgPSAiJyIgLiBqb2luICgiJyAnIiwg
QGRpZmZGaWxlcykgLiAiJyI7Ci0gICAgcHJpbnQgU1RERVJSICIgIFJ1bm5pbmcgJ3N2biBzdGF0
JyBvbiBjaGFuZ2VkLCBhZGRlZCwgb3IgcmVtb3ZlZCBmaWxlcy5cbiI7Ci0gICAgb3BlbiBTVk5T
VEFULCAiJFNWTiBzdGF0ICRkaWZmRmlsZXNTdHJpbmcgMj4gL2Rldi9zdGRvdXQgfCIgb3IgZGll
ICJUaGUgc3ZuIHN0YXQgZmFpbGVkOiAkIS5cbiI7Ci0gICAgd2hpbGUgKDxTVk5TVEFUPikgewot
ICAgICAgICBpZiAoL14oW0EtWl0pLitccysoLispJC8pIHsKLSAgICAgICAgICAgICAgbXkgJHN0
YXR1cyA9ICQxOwotICAgICAgICAgICAgICBteSAkZmlsZSA9ICQyOwotICAgICAgICAgICAgICBp
ZiAoJHN0YXR1cyBlcSAiQSIgfHwgJHN0YXR1cyBlcSAiTSIpIHsKLSAgICAgICAgICAgICAgICAg
IG15IEBjb21wb25lbnRzID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoJGZpbGUpOwotICAgICAgICAg
ICAgICAgICAgJGNoYW5nZWRMYXlvdXRUZXN0cyA9IDEgaWYgJGNvbXBvbmVudHNbMF0gZXEgIkxh
eW91dFRlc3RzIjsKLSAgICAgICAgICAgICAgICAgIHB1c2ggQGNoYW5nZWRfZmlsZXMsICRmaWxl
IGlmICRjb21wb25lbnRzWyQjY29tcG9uZW50c10gbmUgIkNoYW5nZUxvZyI7Ci0gICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgcHVzaCBAY29uZmxpY3RfZmlsZXMsICRmaWxlIGlmICRzdGF0
dXMgZXEgIkMiOwotICAgICAgICAgICAgICAkZnVuY3Rpb25fbGlzdHN7JGZpbGV9ID0gJHN0YXR1
c0Rlc2NyaXB0aW9ueyRzdGF0dXN9IGlmIGV4aXN0cyAkc3RhdHVzRGVzY3JpcHRpb257JHN0YXR1
c307Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwcmludDsgICMgZXJyb3Igb3V0cHV0
IGZyb20gc3ZuIHN0YXQKKyAgICBpZiAodXNpbmdTdm4oKSkgeworICAgICAgICBteSAkZGlmZkZp
bGVzU3RyaW5nID0gIiciIC4gam9pbiAoIicgJyIsIEBkaWZmRmlsZXMpIC4gIiciOworICAgICAg
ICBwcmludCBTVERFUlIgIiAgUnVubmluZyAnc3ZuIHN0YXQnIG9uIGNoYW5nZWQsIGFkZGVkLCBv
ciByZW1vdmVkIGZpbGVzLlxuIjsKKyAgICAgICAgb3BlbiBTVk5TVEFULCAiJFNWTiBzdGF0ICRk
aWZmRmlsZXNTdHJpbmcgMj4gL2Rldi9zdGRvdXQgfCIgb3IgZGllICJUaGUgc3ZuIHN0YXQgZmFp
bGVkOiAkIS5cbiI7CisgICAgICAgIHdoaWxlICg8U1ZOU1RBVD4pIHsKKyAgICAgICAgICAgIGlm
ICgvXihbQS1aXSkuK1xzKyguKykkLykgeworICAgICAgICAgICAgICAgIG15ICRzdGF0dXMgPSAk
MTsKKyAgICAgICAgICAgICAgICBteSAkZmlsZSA9ICQyOworICAgICAgICAgICAgICAgIGlmICgk
c3RhdHVzIGVxICJBIiB8fCAkc3RhdHVzIGVxICJNIikgeworICAgICAgICAgICAgICAgICAgICBw
cmludCgibW9kaWZpZWRcbiIpOworICAgICAgICAgICAgICAgICAgICBteSBAY29tcG9uZW50cyA9
IEZpbGU6OlNwZWMtPnNwbGl0ZGlyKCRmaWxlKTsKKyAgICAgICAgICAgICAgICAgICAgJGNoYW5n
ZWRMYXlvdXRUZXN0cyA9IDEgaWYgJGNvbXBvbmVudHNbMF0gZXEgIkxheW91dFRlc3RzIjsKKyAg
ICAgICAgICAgICAgICAgICAgcHVzaCBAY2hhbmdlZF9maWxlcywgJGZpbGUgaWYgJGNvbXBvbmVu
dHNbJCNjb21wb25lbnRzXSBuZSAiQ2hhbmdlTG9nIjsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgcHVzaCBAY29uZmxpY3RfZmlsZXMsICRmaWxlIGlmICRzdGF0dXMgZXEgIkMi
OworICAgICAgICAgICAgICAgICRmdW5jdGlvbl9saXN0c3skZmlsZX0gPSAkc3RhdHVzRGVzY3Jp
cHRpb257JHN0YXR1c30gaWYgZXhpc3RzICRzdGF0dXNEZXNjcmlwdGlvbnskc3RhdHVzfTsKKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcHJpbnQ7ICAjIGVycm9yIG91dHB1
dCBmcm9tIHN2biBzdGF0CisgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgY2xvc2Ug
U1ZOU1RBVDsKKyAgICB9IGVsc2lmICh1c2luZ0dpdCgpKSB7CisgICAgICAgIHByaW50IFNUREVS
UiAiICBSdW5uaW5nICdnaXQgZGlmZiAtLW5hbWUtc3RhdHVzJyBvbiBjaGFuZ2VkLCBhZGRlZCwg
b3IgcmVtb3ZlZCBmaWxlcy5cbiI7CisgICAgICAgIG9wZW4gRElGRlBST0MsICJnaXQgZGlmZiAt
LW5hbWUtc3RhdHVzIEhFQUQgLS0gJyIgLiBqb2luKCInICciLCBrZXlzICVwYXRocykgLiAiJ3wi
OworICAgICAgICB3aGlsZSAoPERJRkZQUk9DPikgeworICAgICAgICAgICAgcHJpbnQoJF8pOwor
ICAgICAgICAgICAgaWYgKC9eKFtBLVpdKVx0KC4rKSQvKSB7CisgICAgICAgICAgICAgICAgbXkg
JHN0YXR1cyA9ICQxOworICAgICAgICAgICAgICAgIG15ICRmaWxlID0gJDI7CisgICAgICAgICAg
ICAgICAgaWYgKCRzdGF0dXMgZXEgIkEiIHx8ICRzdGF0dXMgZXEgIk0iKSB7CisgICAgICAgICAg
ICAgICAgICAgIG15IEBjb21wb25lbnRzID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoJGZpbGUpOwor
ICAgICAgICAgICAgICAgICAgICAkY2hhbmdlZExheW91dFRlc3RzID0gMSBpZiAkY29tcG9uZW50
c1swXSBlcSAiTGF5b3V0VGVzdHMiOworICAgICAgICAgICAgICAgICAgICBwdXNoIEBjaGFuZ2Vk
X2ZpbGVzLCAkZmlsZSBpZiAkY29tcG9uZW50c1skI2NvbXBvbmVudHNdIG5lICJDaGFuZ2VMb2ci
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBwdXNoIEBjb25mbGljdF9maWxl
cywgJGZpbGUgaWYgJHN0YXR1cyBlcSAiQyI7CisgICAgICAgICAgICAgICAgJGZ1bmN0aW9uX2xp
c3RzeyRmaWxlfSA9ICRzdGF0dXNEZXNjcmlwdGlvbnskc3RhdHVzfSBpZiBleGlzdHMgJHN0YXR1
c0Rlc2NyaXB0aW9ueyRzdGF0dXN9OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICBwcmludDsgICMgZXJyb3Igb3V0cHV0IGZyb20gc3ZuIHN0YXQKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICBjbG9zZSBESUZGUFJPQzsKICAgICB9Ci0gICAgY2xvc2UgU1ZO
U1RBVDsKIH0KIAogaWYgKCFAZGlmZkZpbGVzIHx8ICElZnVuY3Rpb25fbGlzdHMpIHsKQEAgLTg4
OCwzICs5MjksMTQgQEAgc3ViIHByb2Nlc3NQYXRocyhcQCkKIAogICAgIHJldHVybiAlcmVzdWx0
OwogfQorCitzdWIgdXNpbmdTdm4oKQoreworICAgIHJldHVybiAoLWQgIi5zdm4iKTsKK30KKwor
c3ViIHVzaW5nR2l0KCkKK3sKKyAgICByZXR1cm4gKHN5c3RlbSAiZ2l0IHJldi1wYXJzZSAtLWdp
dC1kaXIgMj4vZGV2L251bGwgPi9kZXYvbnVsbCIpID09IDA7Cit9CisKLS0gCjEuNS4yLnJjMi4y
MS5nMzA4MmEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14568</attachid>
            <date>2007-05-15 10:07:42 -0700</date>
            <delta_ts>2007-05-15 16:42:11 -0700</delta_ts>
            <desc>More complete git support for prepare-ChangeLog</desc>
            <filename>bugzilla-13732.diff.txt</filename>
            <type>text/plain</type>
            <size>12107</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">RnJvbSBkYjM3NTI5OWYxODE2ZTEzY2MwNGFkN2FjYzRhNzQ5ZGIxNWZlMTE0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGFtIFJvYmVuIDxhcm9iZW5AYXBwbGUuY29tPgpEYXRlOiBU
dWUsIDE1IE1heSAyMDA3IDA5OjUyOjA5IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gICAgICAgICAq
IFNjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2c6IEFkZGVkIHN1cHBvcnQgZm9yIEdpdC4KCi0tLQog
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICB8ICAgIDYgKwogV2ViS2l0VG9v
bHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZyB8ICAyODMgKysrKysrKysrKysrKysrKysrKysr
KysrKysrKy0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDI0OCBpbnNlcnRpb25zKCspLCA0MSBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKaW5kZXggYzViYjlkNi4uNjA0OTExMiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkgQEAK
KzIwMDctMDUtMTUgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9wcmVwYXJlLUNo
YW5nZUxvZzogQWRkZWQgc3VwcG9ydCBmb3IgR2l0LgorCiAyMDA3LTA1LTE1ICBMYXJzIEtub2xs
IDxsYXJzQHRyb2xsdGVjaC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWmFjawpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZyBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cKaW5kZXggNDg0YWI1MS4uN2JhYWQzZCAxMDA3NTUK
LS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCkBAIC0zLDcgKzMsNyBAQAogCiAjCiAjICBD
b3B5cmlnaHQgKEMpIDIwMDAsIDIwMDEgRWF6ZWwsIEluYy4KLSMgIENvcHlyaWdodCAoQykgMjAw
MiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorIyAgQ29weXJp
Z2h0IChDKSAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IEFwcGxlIEluYy4KICMK
ICMgIHByZXBhcmUtQ2hhbmdlTG9nIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgogIyAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljCkBAIC0yNyw2ICsyNyw3IEBACiAjIERhcmluIEFkbGVyIDxkYXJpbkBiZW50
c3Bvb24uY29tPiwgc3RhcnRlZCAyMCBBcHJpbCAyMDAwCiAjIEphdmEgc3VwcG9ydCBhZGRlZCBi
eSBNYWNpZWogU3RhY2hvd2lhayA8bWpzQGVhemVsLmNvbT4KICMgT2JqZWN0aXZlLUMsIEMrKyBh
bmQgT2JqZWN0aXZlLUMrKyBzdXBwb3J0IGFkZGVkIGJ5IE1hY2llaiBTdGFjaG93aWFrIDxtanNA
YXBwbGUuY29tPgorIyBHaXQgc3VwcG9ydCBhZGRlZCBieSBBZGFtIFJvYmVuIDxhcm9iZW5AYXBw
bGUuY29tPgogCiAKICMKQEAgLTU5LDEyICs2MCwyMyBAQCB1c2UgRmlsZTo6VGVtcDsKIHVzZSBG
aW5kQmluOwogdXNlIEdldG9wdDo6TG9uZzsKIAorc3ViIGRpZmZDb21tYW5kKFwlKTsKK3N1YiBz
dGF0dXNDb21tYW5kKFxAKTsKK3N1YiBjcmVhdGVQYXRjaENvbW1hbmQoJCk7CitzdWIgZGlmZkhl
YWRlckZvcm1hdCgpOworc3ViIGlzTW9kaWZpZWRPckFkZGVkU3RhdHVzKCQpOworc3ViIGlzQ29u
ZmxpY3RTdGF0dXMoJCk7CitzdWIgc3RhdHVzRGVzY3JpcHRpb24oJCQpOworc3ViIGV4dHJhY3RM
aW5lUmFuZ2UoJCk7CitzdWIgbWFrZUZpbGVQYXRoUmVsYXRpdmUoJCk7CiBzdWIgY2Fub25pY2Fs
aXplUGF0aCgkKTsKIHN1YiBnZXRfZnVuY3Rpb25fbGluZV9yYW5nZXMoJCQpOwogc3ViIGdldF9m
dW5jdGlvbl9saW5lX3Jhbmdlc19mb3JfYygkJCk7CiBzdWIgZ2V0X2Z1bmN0aW9uX2xpbmVfcmFu
Z2VzX2Zvcl9qYXZhKCQkKTsKIHN1YiBtZXRob2RfZGVjbF90b19zZWxlY3RvcigkKTsKIHN1YiBw
cm9jZXNzUGF0aHMoXEApOworc3ViIGlzR2l0KCk7CitzdWIgaXNTVk4oKTsKIAogbXkgJG9wZW5D
aGFuZ2VMb2dzID0gMDsKIG15ICRzaG93SGVscCA9IDA7CkBAIC04Niw2ICs5OCw4IEBAIGlmICgh
JHBhcnNlT3B0aW9uc1Jlc3VsdCB8fCAkc2hvd0hlbHApIHsKIAogbXkgJXBhdGhzID0gcHJvY2Vz
c1BhdGhzKEBBUkdWKTsKIAoraXNTVk4oKSB8fCBpc0dpdCgpIHx8IGRpZSAiQ291bGRuJ3QgZGV0
ZXJtaW5lIHlvdXIgdmVyc2lvbiBjb250cm9sIHN5c3RlbS4iOworCiAjIEZpbmQgdGhlIGxpc3Qg
b2YgbW9kaWZpZWQgZmlsZXMKIG15IEBjaGFuZ2VkX2ZpbGVzOwogbXkgJGNoYW5nZWRfZmlsZXNf
c3RyaW5nOwpAQCAtOTQsMTMgKzEwOCw3IEBAIG15ICVmdW5jdGlvbl9saXN0czsKIG15IEBjb25m
bGljdF9maWxlczsKIAogbXkgJFNWTiA9ICJzdm4iOwotCi1teSAlc3RhdHVzRGVzY3JpcHRpb24g
PSAoCi0gICAgIkEiID0+ICIgQWRkZWQuIiwKLSAgICAiRCIgPT4gIiBSZW1vdmVkLiIsCi0gICAg
Ik0iID0+ICIiLAotICAgICJSIiA9PiAiIFJlcGxhY2VkLiIsCi0pOworbXkgJEdJVCA9ICJnaXQi
OwogCiBteSAkY2hhbmdlZExheW91dFRlc3RzID0gMDsKIApAQCAtMTEwLDM4ICsxMTgsNjEgQEAg
bXkgJERJRkZPVVQgPSBuZXcgRmlsZTo6VGVtcChURU1QTEFURSA9PiBiYXNlbmFtZSgkMCkgLiAi
LVhYWFhYWFhYIiwKIG15ICRkaWZmVGVtcEZpbGUgPSAkRElGRk9VVC0+ZmlsZW5hbWUoKTsKIG15
IEBkaWZmRmlsZXM7CiAKLXByaW50IFNUREVSUiAiICBSdW5uaW5nICdzdm4gZGlmZicgdG8gZmlu
ZCBjaGFuZ2VkLCBhZGRlZCwgb3IgcmVtb3ZlZCBmaWxlcy5cbiI7Ci1vcGVuIFNWTkRJRkYsICIk
U1ZOIGRpZmYgLS1kaWZmLWNtZCBkaWZmIC14IC1OICciIC4gam9pbigiJyAnIiwga2V5cyAlcGF0
aHMpIC4gIid8IgotICAgIG9yIGRpZSAiVGhlIHN2biBkaWZmIGZhaWxlZDogJCEuXG4iOwotd2hp
bGUgKDxTVk5ESUZGPikgeworcHJpbnQgU1RERVJSICIgIFJ1bm5pbmcgZGlmZiB0byBmaW5kIGNo
YW5nZWQsIGFkZGVkLCBvciByZW1vdmVkIGZpbGVzLlxuIjsKK29wZW4gRElGRiwgIi18IiwgZGlm
ZkNvbW1hbmQoJXBhdGhzKSBvciBkaWUgIlRoZSBkaWZmIGZhaWxlZDogJCEuXG4iOworCit3aGls
ZSAoPERJRkY+KSB7CiAgICAgcHJpbnQgJERJRkZPVVQgJF87Ci0gICAgaWYgKC9eSW5kZXg6ICgu
KykkLykgewotICAgICAgICBwdXNoIEBkaWZmRmlsZXMsICQxOwotICAgIH0KKyAgICBwdXNoIEBk
aWZmRmlsZXMsICQxIGlmICRfID1+IGRpZmZIZWFkZXJGb3JtYXQoKTsKIH0KLWNsb3NlIFNWTkRJ
RkY7CitjbG9zZSBESUZGOwogY2xvc2UgJERJRkZPVVQ7CiAKIGlmIChAZGlmZkZpbGVzKSB7Ci0g
ICAgbXkgJGRpZmZGaWxlc1N0cmluZyA9ICInIiAuIGpvaW4gKCInICciLCBAZGlmZkZpbGVzKSAu
ICInIjsKLSAgICBwcmludCBTVERFUlIgIiAgUnVubmluZyAnc3ZuIHN0YXQnIG9uIGNoYW5nZWQs
IGFkZGVkLCBvciByZW1vdmVkIGZpbGVzLlxuIjsKLSAgICBvcGVuIFNWTlNUQVQsICIkU1ZOIHN0
YXQgJGRpZmZGaWxlc1N0cmluZyAyPiAvZGV2L3N0ZG91dCB8IiBvciBkaWUgIlRoZSBzdm4gc3Rh
dCBmYWlsZWQ6ICQhLlxuIjsKLSAgICB3aGlsZSAoPFNWTlNUQVQ+KSB7Ci0gICAgICAgIGlmICgv
XihbQS1aXSkuK1xzKyguKykkLykgewotICAgICAgICAgICAgICBteSAkc3RhdHVzID0gJDE7Ci0g
ICAgICAgICAgICAgIG15ICRmaWxlID0gJDI7Ci0gICAgICAgICAgICAgIGlmICgkc3RhdHVzIGVx
ICJBIiB8fCAkc3RhdHVzIGVxICJNIikgewotICAgICAgICAgICAgICAgICAgbXkgQGNvbXBvbmVu
dHMgPSBGaWxlOjpTcGVjLT5zcGxpdGRpcigkZmlsZSk7Ci0gICAgICAgICAgICAgICAgICAkY2hh
bmdlZExheW91dFRlc3RzID0gMSBpZiAkY29tcG9uZW50c1swXSBlcSAiTGF5b3V0VGVzdHMiOwot
ICAgICAgICAgICAgICAgICAgcHVzaCBAY2hhbmdlZF9maWxlcywgJGZpbGUgaWYgJGNvbXBvbmVu
dHNbJCNjb21wb25lbnRzXSBuZSAiQ2hhbmdlTG9nIjsKLSAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICBwdXNoIEBjb25mbGljdF9maWxlcywgJGZpbGUgaWYgJHN0YXR1cyBlcSAiQyI7Ci0g
ICAgICAgICAgICAgICRmdW5jdGlvbl9saXN0c3skZmlsZX0gPSAkc3RhdHVzRGVzY3JpcHRpb257
JHN0YXR1c30gaWYgZXhpc3RzICRzdGF0dXNEZXNjcmlwdGlvbnskc3RhdHVzfTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIHByaW50OyAgIyBlcnJvciBvdXRwdXQgZnJvbSBzdm4gc3Rh
dAorICAgIHByaW50IFNUREVSUiAiICBSdW5uaW5nIHN0YXR1cyBvbiBjaGFuZ2VkLCBhZGRlZCwg
b3IgcmVtb3ZlZCBmaWxlcy5cbiI7CisgICAgb3BlbiBTVEFULCAiLXwiLCBzdGF0dXNDb21tYW5k
KEBkaWZmRmlsZXMpIG9yIGRpZSAiVGhlIHN0YXR1cyBmYWlsZWQ6ICQhLlxuIjsKKyAgICBteSAk
aW5HaXRDb21taXRTZWN0aW9uID0gMDsKKyAgICB3aGlsZSAoPFNUQVQ+KSB7CisgICAgICAgIG15
ICRzdGF0dXM7CisgICAgICAgIG15ICRvcmlnaW5hbDsKKyAgICAgICAgbXkgJGZpbGU7CisKKyAg
ICAgICAgaWYgKGlzU1ZOKCkpIHsKKyAgICAgICAgICAgIGlmICgvXihbQS1aXSkuK1xzKyguKykk
LykgeworICAgICAgICAgICAgICAgICAgJHN0YXR1cyA9ICQxOworICAgICAgICAgICAgICAgICAg
JGZpbGUgPSAkMjsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcHJpbnQ7
ICAjIGVycm9yIG91dHB1dCBmcm9tIHN2biBzdGF0CisgICAgICAgICAgICB9CisgICAgICAgIH0g
ZWxzaWYgKGlzR2l0KCkpIHsKKyAgICAgICAgICAgIGlmICgvXiMgQ2hhbmdlcyB0byBiZSBjb21t
aXR0ZWQ6JC8gfHwgL14jIENoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiQvKSB7CisgICAgICAgICAg
ICAgICAgJGluR2l0Q29tbWl0U2VjdGlvbiA9IDE7CisgICAgICAgICAgICAgICAgbmV4dDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGxhc3QgaWYgJGluR2l0Q29tbWl0U2VjdGlvbiAmJiAv
XiMgXFMvOworCisgICAgICAgICAgICBpZiAoJGluR2l0Q29tbWl0U2VjdGlvbiAmJiAvXiNccyso
W146XSspOlxzKygoLispIC0+ICk/KC4rKSQvKSB7CisgICAgICAgICAgICAgICAgJHN0YXR1cyA9
ICQxOworICAgICAgICAgICAgICAgICRvcmlnaW5hbCA9ICQzOworICAgICAgICAgICAgICAgICRm
aWxlID0gJDQ7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KKworICAgICAgICBuZXh0IHVubGVz
cyAkc3RhdHVzOworCisgICAgICAgICRmaWxlID0gbWFrZUZpbGVQYXRoUmVsYXRpdmUoJGZpbGUp
OworCisgICAgICAgIGlmIChpc01vZGlmaWVkT3JBZGRlZFN0YXR1cygkc3RhdHVzKSkgeworICAg
ICAgICAgICAgbXkgQGNvbXBvbmVudHMgPSBGaWxlOjpTcGVjLT5zcGxpdGRpcigkZmlsZSk7Cisg
ICAgICAgICAgICAkY2hhbmdlZExheW91dFRlc3RzID0gMSBpZiAkY29tcG9uZW50c1swXSBlcSAi
TGF5b3V0VGVzdHMiOworICAgICAgICAgICAgcHVzaCBAY2hhbmdlZF9maWxlcywgJGZpbGUgaWYg
JGNvbXBvbmVudHNbJCNjb21wb25lbnRzXSBuZSAiQ2hhbmdlTG9nIjsKKyAgICAgICAgfSBlbHNp
ZiAoaXNDb25mbGljdFN0YXR1cygkc3RhdHVzKSkgeworICAgICAgICAgICAgcHVzaCBAY29uZmxp
Y3RfZmlsZXMsICRmaWxlOworICAgICAgICB9CisgICAgICAgIG15ICRkZXNjcmlwdGlvbiA9IHN0
YXR1c0Rlc2NyaXB0aW9uKCRzdGF0dXMsICRvcmlnaW5hbCk7CisgICAgICAgICRmdW5jdGlvbl9s
aXN0c3skZmlsZX0gPSAkZGVzY3JpcHRpb24gaWYgZGVmaW5lZCAkZGVzY3JpcHRpb247CiAgICAg
fQotICAgIGNsb3NlIFNWTlNUQVQ7CisgICAgY2xvc2UgU1RBVDsKIH0KIAogaWYgKCFAZGlmZkZp
bGVzIHx8ICElZnVuY3Rpb25fbGlzdHMpIHsKQEAgLTE2MCwxNCArMTkxLDE1IEBAIGlmIChAY2hh
bmdlZF9maWxlcykgewogCiAgICAgIyBGb3IgZWFjaCBmaWxlLCBidWlsZCBhIGxpc3Qgb2YgbW9k
aWZpZWQgbGluZXMuCiAgICAgIyBVc2UgbGluZSBudW1iZXJzIGZyb20gdGhlICJhZnRlciIgc2lk
ZSBvZiBlYWNoIGRpZmYuCi0gICAgcHJpbnQgU1RERVJSICIgIFJldmlld2luZyAnc3ZuIGRpZmYn
IHRvIGRldGVybWluZSB3aGljaCBsaW5lcyBjaGFuZ2VkLlxuIjsKKyAgICBwcmludCBTVERFUlIg
IiAgUmV2aWV3aW5nIGRpZmYgdG8gZGV0ZXJtaW5lIHdoaWNoIGxpbmVzIGNoYW5nZWQuXG4iOwog
ICAgIG15ICRmaWxlOwogICAgIG9wZW4gRElGRiwgIjwgJGRpZmZUZW1wRmlsZSIgb3IgZGllICJP
cGVuaW5nICRkaWZmVGVtcEZpbGUgZmFpbGVkOiAkIS5cbiI7CiAgICAgd2hpbGUgKDxESUZGPikg
ewotICAgICAgICAkZmlsZSA9ICQxIGlmIC9eSW5kZXg6IChcUyspJC87CisgICAgICAgICRmaWxl
ID0gbWFrZUZpbGVQYXRoUmVsYXRpdmUoJDEpIGlmICRfID1+IGRpZmZIZWFkZXJGb3JtYXQoKTsK
ICAgICAgICAgaWYgKGRlZmluZWQgJGZpbGUpIHsKLSAgICAgICAgICAgIGlmICgvXlxkKygsXGQr
KT9bYWNkXShcZCspKCwoXGQrKSk/LykgewotICAgICAgICAgICAgICAgIHB1c2ggQHskY2hhbmdl
ZF9saW5lX3Jhbmdlc3skZmlsZX19LCBbICQyLCAkNCB8fCAkMiBdOworICAgICAgICAgICAgbXkg
KCRzdGFydCwgJGVuZCkgPSBleHRyYWN0TGluZVJhbmdlKCRfKTsKKyAgICAgICAgICAgIGlmICgk
c3RhcnQgPj0gMCAmJiAkZW5kID49IDApIHsKKyAgICAgICAgICAgICAgICBwdXNoIEB7JGNoYW5n
ZWRfbGluZV9yYW5nZXN7JGZpbGV9fSwgWyAkc3RhcnQsICRlbmQgXTsKICAgICAgICAgICAgIH0g
ZWxzaWYgKC9ET19OT1RfQ09NTUlULykgewogICAgICAgICAgICAgICAgIHByaW50IFNUREVSUiAi
V0FSTklORzogZmlsZSAkZmlsZSBjb250YWlucyB0aGUgc3RyaW5nIERPX05PVF9DT01NSVQsIGxp
bmUgJC5cbiI7CiAgICAgICAgICAgICB9CkBAIC0yNjcsNyArMjk5LDggQEAgbXkgJGxvZ3MgPSAi
IjsKIGZvcmVhY2ggbXkgJHByZWZpeCAoc29ydCBrZXlzICVmaWxlcykgewogICAgICRsb2dzIC49
ICIgJHtwcmVmaXh9Q2hhbmdlTG9nIjsKIH0KLWlmICgkbG9ncyAmJiAkdXBkYXRlQ2hhbmdlTG9n
cykgeworCitpZiAoJGxvZ3MgJiYgJHVwZGF0ZUNoYW5nZUxvZ3MgJiYgaXNTVk4oKSkgewogICAg
IHByaW50IFNUREVSUiAiICBSdW5uaW5nICdzdm4gdXBkYXRlJyB0byB1cGRhdGUgQ2hhbmdlTG9n
IGZpbGVzLlxuIjsKICAgICBvcGVuIEVSUk9SUywgIiRTVk4gdXBkYXRlIC1xJGxvZ3MgfCIgb3Ig
ZGllICJUaGUgc3ZuIHVwZGF0ZSBvZiBDaGFuZ2VMb2cgZmlsZXMgZmFpbGVkOiAkIS5cbiI7CiAg
ICAgcHJpbnQgU1RERVJSICIgICAgJF8iIHdoaWxlIDxFUlJPUlM+OwpAQCAtMjk5LDggKzMzMiw4
IEBAIGZvcmVhY2ggbXkgJHByZWZpeCAoc29ydCBrZXlzICVmaWxlcykgewogCiAjIFdyaXRlIG91
dCBhbm90aGVyIGRpZmYuCiBpZiAoJHNwZXdEaWZmICYmIEBjaGFuZ2VkX2ZpbGVzKSB7Ci0gICAg
cHJpbnQgU1RERVJSICIgIFJ1bm5pbmcgJ3N2biBkaWZmJyB0byBoZWxwIHlvdSB3cml0ZSB0aGUg
Q2hhbmdlTG9nIGVudHJpZXMuXG4iOwotICAgIG9wZW4gRElGRiwgIickRmluZEJpbjo6QmluL3N2
bi1jcmVhdGUtcGF0Y2gnICRjaGFuZ2VkX2ZpbGVzX3N0cmluZyB8IiBvciBkaWUgIlRoZSBzdm4g
ZGlmZiBmYWlsZWQ6ICQhLlxuIjsKKyAgICBwcmludCBTVERFUlIgIiAgUnVubmluZyBkaWZmIHRv
IGhlbHAgeW91IHdyaXRlIHRoZSBDaGFuZ2VMb2cgZW50cmllcy5cbiI7CisgICAgb3BlbiBESUZG
LCAiLXwiLCBjcmVhdGVQYXRjaENvbW1hbmQoJGNoYW5nZWRfZmlsZXNfc3RyaW5nKSBvciBkaWUg
IlRoZSBkaWZmIGZhaWxlZDogJCEuXG4iOwogICAgIHdoaWxlICg8RElGRj4pIHsgcHJpbnQ7IH0K
ICAgICBjbG9zZSBESUZGOwogfQpAQCAtNDk3LDcgKzUzMCw3IEBAIHN1YiBnZXRfZnVuY3Rpb25f
bGluZV9yYW5nZXNfZm9yX2MoJCQpCiAgICAgICAgICAgICBpZiAoJGludGVyZmFjZV9uYW1lKSB7
CiAgICAgICAgICAgICAgICAgY2hvbXAgJG1ldGhvZF9zcGVjOwogICAgICAgICAgICAgICAgICRt
ZXRob2Rfc3BlYyA9fiBzL1x7LiovLzsKLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAg
JHBvdGVudGlhbF9tZXRob2RfY2hhciA9ICRtZXRob2RfY2hhcjsKICAgICAgICAgICAgICAgICAk
cG90ZW50aWFsX21ldGhvZF9zcGVjID0gJG1ldGhvZF9zcGVjOwogICAgICAgICAgICAgICAgICRw
b3RlbnRpYWxfc3RhcnQgPSAkLjsKQEAgLTg4OCwzICs5MjEsMTcxIEBAIHN1YiBwcm9jZXNzUGF0
aHMoXEApCiAKICAgICByZXR1cm4gJXJlc3VsdDsKIH0KKworc3ViIGRpZmZDb21tYW5kKFwlKQor
eworICAgIG15ICgkcGF0aHMpID0gQF87CisKKyAgICBteSAkcHJlZml4OworICAgIGlmIChpc1NW
TigpKSB7CisgICAgICAgICRwcmVmaXggPSAiJFNWTiBkaWZmIC0tZGlmZi1jbWQgZGlmZiAteCAt
TiI7CisgICAgfSBlbHNpZiAoaXNHaXQoKSkgeworICAgICAgICAkcHJlZml4ID0gIiRHSVQgZGlm
ZiBIRUFEIC0tIjsKKyAgICB9CisKKyAgICByZXR1cm4gIiRwcmVmaXggJyIgLiBqb2luKCInICci
LCBrZXlzICV7JHBhdGhzfSkgLiAiJyI7Cit9CisKK3N1YiBzdGF0dXNDb21tYW5kKFxAKQorewor
ICAgIG15ICgkZmlsZXMpID0gQF87CisKKyAgICBteSAkZmlsZXNTdHJpbmcgPSAiJyIgLiBqb2lu
ICgiJyAnIiwgQHskZmlsZXN9KSAuICInIjsKKyAgICBteSAkY29tbWFuZDsKKyAgICBpZiAoaXNT
Vk4oKSkgeworICAgICAgICAkY29tbWFuZCA9ICIkU1ZOIHN0YXQgJGZpbGVzU3RyaW5nIjsKKyAg
ICB9IGVsc2lmIChpc0dpdCgpKSB7CisgICAgICAgICMgRklYTUU6IFRoaXMgY29tbWFuZCB3aWxs
IGdpdmUgc3RhdHVzIGZvciB0aGUgd2hvbGUgcmVwb3NpdG9yeSwgbm90CisgICAgICAgICMganVz
dCB0aGUgZmlsZXMgcGFzc2VkIGluLgorICAgICAgICAkY29tbWFuZCA9ICIkR0lUIHN0YXR1cyI7
CisgICAgfQorCisgICAgcmV0dXJuICIkY29tbWFuZCAyPiAvZGV2L3N0ZG91dCI7Cit9CisKK3N1
YiBjcmVhdGVQYXRjaENvbW1hbmQoJCkKK3sKKyAgICBteSAoJGNoYW5nZWRGaWxlc1N0cmluZykg
PSBAXzsKKworICAgIHJldHVybiAiJyRGaW5kQmluOjpCaW4vc3ZuLWNyZWF0ZS1wYXRjaCcgJGNo
YW5nZWRGaWxlc1N0cmluZyIgaWYgaXNTVk4oKTsKKyAgICByZXR1cm4gIiRHSVQgZGlmZiAtQyAt
TSBIRUFEIC0tICRjaGFuZ2VkRmlsZXNTdHJpbmciIGlmIGlzR2l0KCk7Cit9CisKK3N1YiBkaWZm
SGVhZGVyRm9ybWF0KCkKK3sKKyAgICByZXR1cm4gcXIvXkluZGV4OiAoXFMrKSQvIGlmIGlzU1ZO
KCk7CisgICAgcmV0dXJuIHFyL15kaWZmIC0tZ2l0IGFcLy4rIGJcLyguKykkLyBpZiBpc0dpdCgp
OworfQorCitzdWIgaXNNb2RpZmllZE9yQWRkZWRTdGF0dXMoJCkKK3sKKyAgICBteSAoJHN0YXR1
cykgPSBAXzsKKworICAgIG15ICVzdm4gPSAoCisgICAgICAgICJBIiA9PiAxLAorICAgICAgICAi
TSIgPT4gMSwKKyAgICApOworCisgICAgbXkgJWdpdCA9ICgKKyAgICAgICAgIm5ldyBmaWxlIiA9
PiAxLAorICAgICAgICAibW9kaWZpZWQiID0+IDEsCisgICAgICAgICJjb3BpZWQiID0+IDEsCisg
ICAgICAgICJyZW5hbWVkIiA9PiAxLAorICAgICk7CisKKyAgICByZXR1cm4gJHN2bnskc3RhdHVz
fSBpZiBpc1NWTigpOworICAgIHJldHVybiAkZ2l0eyRzdGF0dXN9IGlmIGlzR2l0KCk7Cit9CisK
K3N1YiBpc0NvbmZsaWN0U3RhdHVzKCQpCit7CisgICAgbXkgKCRzdGF0dXMpID0gQF87CisKKyAg
ICBteSAlc3ZuID0gKAorICAgICAgICAiQyIgPT4gMSwKKyAgICApOworCisgICAgbXkgJWdpdCA9
ICgKKyAgICAgICAgInVubWVyZ2VkIiA9PiAxLAorICAgICk7CisKKyAgICByZXR1cm4gJHN2bnsk
c3RhdHVzfSBpZiBpc1NWTigpOworICAgIHJldHVybiAkZ2l0eyRzdGF0dXN9IGlmIGlzR2l0KCk7
Cit9CisKK3N1YiBzdGF0dXNEZXNjcmlwdGlvbigkJCkKK3sKKyAgICBteSAoJHN0YXR1cywgJG9y
aWdpbmFsKSA9IEBfOworCisgICAgbXkgJXN2biA9ICgKKyAgICAgICAgIkEiID0+ICIgQWRkZWQu
IiwKKyAgICAgICAgIkQiID0+ICIgUmVtb3ZlZC4iLAorICAgICAgICAiTSIgPT4gIiIsCisgICAg
ICAgICJSIiA9PiAiIFJlcGxhY2VkLiIsCisgICAgKTsKKyAgICBteSAlZ2l0ID0gKAorICAgICAg
ICAiY29waWVkIiA9PiAiIENvcGllZCBmcm9tIFwlcy4iLAorICAgICAgICAiZGVsZXRlZCIgPT4g
IiBSZW1vdmVkLiIsCisgICAgICAgICJtb2RpZmllZCIgPT4gIiIsCisgICAgICAgICJuZXcgZmls
ZSIgPT4gIiBBZGRlZC4iLAorICAgICAgICAicmVuYW1lZCIgPT4gIiBSZW5hbWVkIGZyb20gXCVz
LiIsCisgICAgKTsKKworICAgIHJldHVybiAkc3ZueyRzdGF0dXN9IGlmIGlzU1ZOKCkgJiYgZXhp
c3RzICRzdm57JHN0YXR1c307CisgICAgcmV0dXJuIHNwcmludGYoJGdpdHskc3RhdHVzfSwgJG9y
aWdpbmFsKSBpZiBpc0dpdCgpICYmIGV4aXN0cyAkZ2l0eyRzdGF0dXN9OworfQorCitzdWIgZXh0
cmFjdExpbmVSYW5nZSgkKQoreworICAgIG15ICgkc3RyaW5nKSA9IEBfOworCisgICAgbXkgKCRz
dGFydCwgJGVuZCkgPSAoLTEsIC0xKTsKKworICAgIGlmIChpc1NWTigpICYmICRzdHJpbmcgPX4g
L15cZCsoLFxkKyk/W2FjZF0oXGQrKSgsKFxkKykpPy8pIHsKKyAgICAgICAgJHN0YXJ0ID0gJDI7
CisgICAgICAgICRlbmQgPSAkNCB8fCAkMjsKKyAgICB9IGVsc2lmIChpc0dpdCgpICYmICRzdHJp
bmcgPX4gL15AQCAtXGQrLFxkKyBcKyhcZCspLChcZCspIEBALykgeworICAgICAgICAkc3RhcnQg
PSAkMTsKKyAgICAgICAgJGVuZCA9ICQxICsgJDIgLSAxOworCisgICAgICAgICMgZ2l0LWRpZmYg
c2hvd3MgMyBsaW5lcyBvZiBjb250ZXh0IGFib3ZlIGFuZCBiZWxvdyB0aGUgYWN0dWFsIGNoYW5n
ZXMsCisgICAgICAgICMgc28gd2UgbmVlZCB0byBzdWJ0cmFjdCB0aGF0IGNvbnRleHQgdG8gZmlu
ZCB0aGUgYWN0dWFsIGNoYW5nZWQgcmFuZ2UuCisKKyAgICAgICAgIyBGSVhNRTogVGhpcyB3b24n
dCB3b3JrIGlmIHRoZXJlJ3MgYSBjaGFuZ2UgYXQgdGhlIHZlcnkgYmVnaW5uaW5nIG9yCisgICAg
ICAgICMgdmVyeSBlbmQgb2YgYSBmaWxlLgorCisgICAgICAgICRzdGFydCArPSAzOworICAgICAg
ICAkZW5kIC09IDY7CisgICAgfQorCisgICAgcmV0dXJuICgkc3RhcnQsICRlbmQpOworfQorCitt
eSAkZ2l0Um9vdDsKK3N1YiBtYWtlRmlsZVBhdGhSZWxhdGl2ZSgkKQoreworICAgIG15ICgkcGF0
aCkgPSBAXzsKKyAgICByZXR1cm4gJHBhdGggdW5sZXNzIGlzR2l0KCk7CisKKyAgICB1bmxlc3Mg
KGRlZmluZWQgJGdpdFJvb3QpIHsKKyAgICAgICAgY2hvbXAoJGdpdFJvb3QgPSBgZ2l0IHJldi1w
YXJzZSAtLWdpdC1kaXJgKTsKKyAgICAgICAgJGdpdFJvb3QgPX4gcy9cLmdpdCQvLzsKKyAgICB9
CisgICAgbXkgJHJlc3VsdCA9IEZpbGU6OlNwZWMtPmFiczJyZWwoRmlsZTo6U3BlYy0+cmVsMmFi
cygkcGF0aCwgJGdpdFJvb3QpKTsKKyAgICByZXR1cm4gJHJlc3VsdDsKK30KKworbXkgJGlzR2l0
Oworc3ViIGlzR2l0KCkKK3sKKyAgICByZXR1cm4gJGlzR2l0IGlmIGRlZmluZWQgJGlzR2l0Owor
CisgICAgbXkgJGRpciA9ICIuIjsKKyAgICBteSBAZGlycyA9IGtleXMoJXBhdGhzKTsKKyAgICAk
ZGlyID0gJGRpcnNbMF0gaWYgQGRpcnM7CisgICAgJGlzR2l0ID0gc3lzdGVtKCJjZCAkZGlyICYm
IGdpdCByZXYtcGFyc2UgPiAvZGV2L251bGwgMj4mMSIpID09IDA7CisgICAgcmV0dXJuICRpc0dp
dDsKK30KKworbXkgJGlzU1ZOOworc3ViIGlzU1ZOKCkKK3sKKyAgICByZXR1cm4gJGlzU1ZOIGlm
IGRlZmluZWQgJGlzU1ZOOworCisgICAgbXkgJGRpciA9ICIuc3ZuIjsKKyAgICBteSBAZGlycyA9
IGtleXMoJXBhdGhzKTsKKyAgICAkZGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCgkZGlyc1swXSwg
Ii5zdm4iKSkgaWYgQGRpcnM7CisKKyAgICAkaXNTVk4gPSAtZCAkZGlyOworICAgIHJldHVybiAk
aXNTVk47Cit9Ci0tIAoxLjUuMS4zCgo=
</data>
<flag name="review"
          id="5966"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
      

    </bug>

</bugzilla>