<?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>115391</bug_id>
          
          <creation_ts>2013-04-29 17:30:59 -0700</creation_ts>
          <short_desc>[webkitpy] Need abstract base class for commands that analyze commit logs</short_desc>
          <delta_ts>2013-05-01 19:09:36 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <dependson>115285</dependson>
          <blocked>115387</blocked>
    
    <blocked>115388</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Glenn Adams">glenn</reporter>
          <assigned_to name="Glenn Adams">glenn</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dpranke</cc>
    
    <cc>mjs</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>882863</commentid>
    <comment_count>0</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2013-04-29 17:30:59 -0700</bug_when>
    <thetext>There is one existing command, suggest-nominations, that analyzes commit logs. There are two additional commands proposed [1][2] that also need to analyze commit logs. In order to factor out common shared functionality, the commit log analysis functionality should be placed in an abstract base class that subclass Command, let&apos;s call this AbstractCommitLogCommand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882864</commentid>
    <comment_count>1</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2013-04-29 17:31:49 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; There is one existing command, suggest-nominations, that analyzes commit logs. There are two additional commands proposed [1][2] that also need to analyze commit logs. In order to factor out common shared functionality, the commit log analysis functionality should be placed in an abstract base class that subclass Command, let&apos;s call this AbstractCommitLogCommand.

[1] https://bugs.webkit.org/show_bug.cgi?id=115387
[2] https://bugs.webkit.org/show_bug.cgi?id=115388</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883379</commentid>
    <comment_count>2</comment_count>
      <attachid>200202</attachid>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2013-04-30 21:23:43 -0700</bug_when>
    <thetext>Created attachment 200202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883702</commentid>
    <comment_count>3</comment_count>
      <attachid>200202</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-01 18:29:49 -0700</bug_when>
    <thetext>Comment on attachment 200202
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=200202&amp;action=review

&gt; Tools/Scripts/webkitpy/tool/commands/suggestnominations.py:62
&gt; +        options = sorted(options, lambda a, b: cmp(a._long_opts, b._long_opts))

I would prefer named arguments with sorted().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883706</commentid>
    <comment_count>4</comment_count>
      <attachid>200297</attachid>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2013-05-01 18:41:38 -0700</bug_when>
    <thetext>Created attachment 200297
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883708</commentid>
    <comment_count>5</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2013-05-01 18:45:06 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 200202 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=200202&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/tool/commands/suggestnominations.py:62
&gt; &gt; +        options = sorted(options, lambda a, b: cmp(a._long_opts, b._long_opts))
&gt; 
&gt; I would prefer named arguments with sorted().

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883711</commentid>
    <comment_count>6</comment_count>
      <attachid>200297</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-01 19:09:33 -0700</bug_when>
    <thetext>Comment on attachment 200297
Patch for landing

Clearing flags on attachment: 200297

Committed r149480: &lt;http://trac.webkit.org/changeset/149480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883712</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-01 19:09:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200202</attachid>
            <date>2013-04-30 21:23:43 -0700</date>
            <delta_ts>2013-05-01 18:41:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115391-20130430212258.patch</filename>
            <type>text/plain</type>
            <size>5969</size>
            <attacher name="Glenn Adams">glenn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5NDIwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjgyYjI1YzI5YTZkOWY5MTZkNDQwNWY0Yjg1ZDE1MDJm
MGViN2VmZC4uZjBkNWFkNjQ5ZDllYzkxNzQzYjc3MGFlODg2MjMzYjZlOGRlYzMyNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4
IEBACiAyMDEzLTA0LTMwICBHbGVubiBBZGFtcyAgPGdsZW5uQHNreW5hdi5jb20+CiAKKyAgICAg
ICAgW3dlYmtpdHB5XSBOZWVkIGFic3RyYWN0IGJhc2UgY2xhc3MgZm9yIGNvbW1hbmRzIHRoYXQg
YW5hbHl6ZSBjb21taXQgbG9ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE1MzkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTW92ZSBjb21taXQgbG9nIHBhcnNpbmcgZnVuY3Rpb25zIGludG8gbmV3IGFi
c3RyYWN0IGJhc2UgY2xhc3MgQWJzdHJhY3RDb21taXRMb2dDb21tYW5kCisgICAgICAgIGluIHBy
ZXBhcmF0aW9uIGZvciBhZGRpbmcgdHdvIG5ldyBjb21tYW5kcyB0aGF0IHdpbGwgcmV1c2UgdGhp
cyBmdW5jdGlvbmFsaXR5IGFsb25nIHdpdGgKKyAgICAgICAgc3VnZ2VzdC1ub21pbmF0aW9ucy4g
U2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUzODcgYW5kCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUzODguCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIGFzIHRoaXMgcGF0Y2ggZG9lcyBub3QgY2hhbmdlIGV4aXN0
aW5nIGZ1bmN0aW9uYWxpdHkgb3IgYmVoYXZpb3IuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2VzdG5vbWluYXRpb25zLnB5OgorICAgICAgICAoQWJzdHJh
Y3RDb21taXRMb2dDb21tYW5kKTogQWRkIGFic3RyYWN0IGJhc2UgY2xhc3MgZm9yIGNvbW1hbmRz
IHRoYXQgYW5hbHl6ZSBjb21taXQgbG9ncy4KKyAgICAgICAgKEFic3RyYWN0Q29tbWl0TG9nQ29t
bWFuZC5fX2luaXRfXyk6CisgICAgICAgIChBYnN0cmFjdENvbW1pdExvZ0NvbW1hbmQuX2luaXRf
b3B0aW9ucyk6CisgICAgICAgIChBYnN0cmFjdENvbW1pdExvZ0NvbW1hbmQuX3BhcnNlX2NvbW1p
dF9tZXNzYWdlKToKKyAgICAgICAgKFN1Z2dlc3ROb21pbmF0aW9ucyk6IE1vdmUgZ2VuZXJpYyBj
b21taXQgbG9nIHBhcnNpbmcgaW50byBuZXcgYmFzZSBjbGFzcy4gVXNlIG5ldyBiYXNlIGNsYXNz
LgorICAgICAgICAoU3VnZ2VzdE5vbWluYXRpb25zLl9faW5pdF9fKTogCisgICAgICAgIChTdWdn
ZXN0Tm9taW5hdGlvbnMuX2luaXRfb3B0aW9ucyk6CisKKzIwMTMtMDQtMzAgIEdsZW5uIEFkYW1z
ICA8Z2xlbm5Ac2t5bmF2LmNvbT4KKwogICAgICAgICBbd2Via2l0cHldIHN1Z2dlc3Qtbm9taW5h
dGlvbnMgZG9lc24ndCBjb3VudCBhbGwgcXVhbGlmaWVkIHBhdGNoZXMKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTI4NQogCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2VzdG5vbWluYXRpb25zLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3N1Z2dlc3Rub21pbmF0aW9u
cy5weQppbmRleCA5MzU2NTQ5ZjU5ZTI1NTYxMGM1ZGM1MTgxMmQ5YzBlMmYzNWFkMmIzLi43NDYx
ODgwMjUwYmE2M2Y4NGU3YTEzNmNiYWViODBmYmNmMmUxZDYzIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2VzdG5vbWluYXRpb25zLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zdWdnZXN0bm9taW5hdGlvbnMu
cHkKQEAgLTQ2LDEwICs0Niw3IEBAIGNsYXNzIENvbW1pdExvZ01pc3NpbmdSZXZpZXdlcihDb21t
aXRMb2dFcnJvcik6CiAgICAgICAgIENvbW1pdExvZ0Vycm9yLl9faW5pdF9fKHNlbGYpCiAKIAot
Y2xhc3MgU3VnZ2VzdE5vbWluYXRpb25zKENvbW1hbmQpOgotICAgIG5hbWUgPSAic3VnZ2VzdC1u
b21pbmF0aW9ucyIKLSAgICBoZWxwX3RleHQgPSAiU3VnZ2VzdCBjb250cmlidXRvcnMgZm9yIGNv
bW1pdHRlci9yZXZpZXdlciBub21pbmF0aW9ucyIKLQorY2xhc3MgQWJzdHJhY3RDb21taXRMb2dD
b21tYW5kKENvbW1hbmQpOgogICAgIF9sZWFkaW5nX2luZGVudF9yZWdleHAgPSByZS5jb21waWxl
KHIiXlsgXXs0fSIsIHJlLk1VTFRJTElORSkKICAgICBfcmV2aWV3ZWRfYnlfcmVnZXhwID0gcmUu
Y29tcGlsZShDaGFuZ2VMb2dFbnRyeS5yZXZpZXdlZF9ieV9yZWdleHAsIHJlLk1VTFRJTElORSkK
ICAgICBfcGF0Y2hfYnlfcmVnZXhwID0gcmUuY29tcGlsZShyJ15QYXRjaCBieSAoP1A8bmFtZT4u
Kz8pXHMrPCg/UDxlbWFpbD5bXjw+XSspPiBvbiAoP1A8ZGF0ZT5cZHs0fS1cZHsyfS1cZHsyfSkk
JywgcmUuTVVMVElMSU5FKQpAQCAtNTcsMjMgKzU0LDE5IEBAIGNsYXNzIFN1Z2dlc3ROb21pbmF0
aW9ucyhDb21tYW5kKToKICAgICBfZGF0ZV9yZWdleHAgPSByZS5jb21waWxlKHInXkRhdGU6ICAg
KD9QPGRhdGU+XGR7NH0tXGR7Mn0tXGR7Mn0pICg/UDx0aW1lPlxkezJ9OlxkezJ9OlxkezJ9KSBb
XCtcLV1cZHs0fSQnLCByZS5NVUxUSUxJTkUpCiAgICAgX3JldmlzaW9uX3JlZ2V4cCA9IHJlLmNv
bXBpbGUocideZ2l0LXN2bi1pZDogaHR0cDovL3N2bi53ZWJraXQub3JnL3JlcG9zaXRvcnkvd2Vi
a2l0L3RydW5rQCg/UDxzdm5pZD5cZCspICg/UDxnaXRpZD5bMC05YS1mXC1dezM2fSkkJywgcmUu
TVVMVElMSU5FKQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBvcHRpb25zID0g
WwotICAgICAgICAgICAgbWFrZV9vcHRpb24oIi0tY29tbWl0dGVyLW1pbmltdW0iLCBhY3Rpb249
InN0b3JlIiwgZGVzdD0iY29tbWl0dGVyX21pbmltdW0iLCB0eXBlPSJpbnQiLCBkZWZhdWx0PTEw
LCBoZWxwPSJTcGVjaWZ5IG1pbmltdW0gcGF0Y2ggY291bnQgZm9yIENvbW1pdHRlciBub21pbmF0
aW9ucy4iKSwKLSAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLXJldmlld2VyLW1pbmltdW0iLCBh
Y3Rpb249InN0b3JlIiwgZGVzdD0icmV2aWV3ZXJfbWluaW11bSIsIHR5cGU9ImludCIsIGRlZmF1
bHQ9ODAsIGhlbHA9IlNwZWNpZnkgbWluaW11bSBwYXRjaCBjb3VudCBmb3IgUmV2aWV3ZXIgbm9t
aW5hdGlvbnMuIiksCi0gICAgICAgICAgICBtYWtlX29wdGlvbigiLS1tYXgtY29tbWl0LWFnZSIs
IGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJtYXhfY29tbWl0X2FnZSIsIHR5cGU9ImludCIsIGRlZmF1
bHQ9OSwgaGVscD0iU3BlY2lmeSBtYXggY29tbWl0IGFnZSB0byBjb25zaWRlciBmb3Igbm9taW5h
dGlvbnMgKGluIG1vbnRocykuIiksCi0gICAgICAgICAgICBtYWtlX29wdGlvbigiLS1zaG93LWNv
bW1pdHMiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJzaG93X2NvbW1pdHMiLCBkZWZhdWx0
PUZhbHNlLCBoZWxwPSJTaG93IGNvbW1pdCBoaXN0b3J5IHdpdGggbm9taW5hdGlvbiBzdWdnZXN0
aW9ucy4iKSwKKyAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucz1Ob25lKToKKyAgICAgICAg
b3B0aW9ucyA9IG9wdGlvbnMgb3IgW10KKyAgICAgICAgb3B0aW9ucyArPSBbCisgICAgICAgICAg
ICBtYWtlX29wdGlvbigiLS1tYXgtY29tbWl0LWFnZSIsIGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJt
YXhfY29tbWl0X2FnZSIsIHR5cGU9ImludCIsIGRlZmF1bHQ9OSwgaGVscD0iU3BlY2lmeSBtYXhp
bXVtIGNvbW1pdCBhZ2UgdG8gY29uc2lkZXIgKGluIG1vbnRocykuIiksCiAgICAgICAgIF0KLSAg
ICAgICAgc3VwZXIoU3VnZ2VzdE5vbWluYXRpb25zLCBzZWxmKS5fX2luaXRfXyhvcHRpb25zPW9w
dGlvbnMpCisgICAgICAgIG9wdGlvbnMgPSBzb3J0ZWQob3B0aW9ucywgbGFtYmRhIGEsIGI6IGNt
cChhLl9sb25nX29wdHMsIGIuX2xvbmdfb3B0cykpCisgICAgICAgIHN1cGVyKEFic3RyYWN0Q29t
bWl0TG9nQ29tbWFuZCwgc2VsZikuX19pbml0X18ob3B0aW9ucz1vcHRpb25zKQogICAgICAgICAj
IEZJWE1FOiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSBvbiB0aGUgdG9vbCBzb21ld2hlcmUuCiAg
ICAgICAgIHNlbGYuX2NvbW1pdHRlcl9saXN0ID0gQ29tbWl0dGVyTGlzdCgpCiAKICAgICBkZWYg
X2luaXRfb3B0aW9ucyhzZWxmLCBvcHRpb25zKToKLSAgICAgICAgc2VsZi5jb21taXR0ZXJfbWlu
aW11bSA9IG9wdGlvbnMuY29tbWl0dGVyX21pbmltdW0KLSAgICAgICAgc2VsZi5yZXZpZXdlcl9t
aW5pbXVtID0gb3B0aW9ucy5yZXZpZXdlcl9taW5pbXVtCi0gICAgICAgIHNlbGYubWF4X2NvbW1p
dF9hZ2UgPSBvcHRpb25zLm1heF9jb21taXRfYWdlCi0gICAgICAgIHNlbGYuc2hvd19jb21taXRz
ID0gb3B0aW9ucy5zaG93X2NvbW1pdHMKICAgICAgICAgc2VsZi52ZXJib3NlID0gb3B0aW9ucy52
ZXJib3NlCisgICAgICAgIHNlbGYubWF4X2NvbW1pdF9hZ2UgPSBvcHRpb25zLm1heF9jb21taXRf
YWdlCiAKICAgICAjIEZJWE1FOiBUaGlzIHNob3VsZCBtb3ZlIHRvIHNjbS5weQogICAgIGRlZiBf
cmVjZW50X2NvbW1pdF9tZXNzYWdlcyhzZWxmKToKQEAgLTE1MCw2ICsxNDMsMjUgQEAgY2xhc3Mg
U3VnZ2VzdE5vbWluYXRpb25zKENvbW1hbmQpOgogICAgICAgICAgICAgJ3Jldmlld2Vycyc6IHJl
dmlld2VycywKICAgICAgICAgfQogCisKK2NsYXNzIFN1Z2dlc3ROb21pbmF0aW9ucyhBYnN0cmFj
dENvbW1pdExvZ0NvbW1hbmQpOgorICAgIG5hbWUgPSAic3VnZ2VzdC1ub21pbmF0aW9ucyIKKyAg
ICBoZWxwX3RleHQgPSAiU3VnZ2VzdCBjb250cmlidXRvcnMgZm9yIGNvbW1pdHRlci9yZXZpZXdl
ciBub21pbmF0aW9ucyIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgb3B0aW9u
cyA9IFsKKyAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLWNvbW1pdHRlci1taW5pbXVtIiwgYWN0
aW9uPSJzdG9yZSIsIGRlc3Q9ImNvbW1pdHRlcl9taW5pbXVtIiwgdHlwZT0iaW50IiwgZGVmYXVs
dD0xMCwgaGVscD0iU3BlY2lmeSBtaW5pbXVtIHBhdGNoIGNvdW50IGZvciBDb21taXR0ZXIgbm9t
aW5hdGlvbnMuIiksCisgICAgICAgICAgICBtYWtlX29wdGlvbigiLS1yZXZpZXdlci1taW5pbXVt
IiwgYWN0aW9uPSJzdG9yZSIsIGRlc3Q9InJldmlld2VyX21pbmltdW0iLCB0eXBlPSJpbnQiLCBk
ZWZhdWx0PTgwLCBoZWxwPSJTcGVjaWZ5IG1pbmltdW0gcGF0Y2ggY291bnQgZm9yIFJldmlld2Vy
IG5vbWluYXRpb25zLiIpLAorICAgICAgICAgICAgbWFrZV9vcHRpb24oIi0tc2hvdy1jb21taXRz
IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0ic2hvd19jb21taXRzIiwgZGVmYXVsdD1GYWxz
ZSwgaGVscD0iU2hvdyBjb21taXQgaGlzdG9yeSB3aXRoIG5vbWluYXRpb24gc3VnZ2VzdGlvbnMu
IiksCisgICAgICAgIF0KKyAgICAgICAgc3VwZXIoU3VnZ2VzdE5vbWluYXRpb25zLCBzZWxmKS5f
X2luaXRfXyhvcHRpb25zPW9wdGlvbnMpCisKKyAgICBkZWYgX2luaXRfb3B0aW9ucyhzZWxmLCBv
cHRpb25zKToKKyAgICAgICAgc3VwZXIoU3VnZ2VzdE5vbWluYXRpb25zLCBzZWxmKS5faW5pdF9v
cHRpb25zKG9wdGlvbnMpCisgICAgICAgIHNlbGYuY29tbWl0dGVyX21pbmltdW0gPSBvcHRpb25z
LmNvbW1pdHRlcl9taW5pbXVtCisgICAgICAgIHNlbGYucmV2aWV3ZXJfbWluaW11bSA9IG9wdGlv
bnMucmV2aWV3ZXJfbWluaW11bQorICAgICAgICBzZWxmLnNob3dfY29tbWl0cyA9IG9wdGlvbnMu
c2hvd19jb21taXRzCisKICAgICBkZWYgX2NvdW50X2NvbW1pdChzZWxmLCBjb21taXQsIGFuYWx5
c2lzKToKICAgICAgICAgYXV0aG9yX25hbWUgPSBjb21taXRbJ2F1dGhvcl9uYW1lJ10KICAgICAg
ICAgYXV0aG9yX2VtYWlsID0gY29tbWl0WydhdXRob3JfZW1haWwnXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200297</attachid>
            <date>2013-05-01 18:41:38 -0700</date>
            <delta_ts>2013-05-01 19:09:32 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-115391-20130501184051.patch</filename>
            <type>text/plain</type>
            <size>5931</size>
            <attacher name="Glenn Adams">glenn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5NDczCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWRmZGZhNjRhZTZkOWY4OTk5ZGQ1OTBlNjQ3ZTEzNDQ1
MzdmNjA1ZC4uMzlmNjRmNTg5NWE2OWMxZWQ3ZGY3Y2EzZmUyOWFmYzViYWViOGI1MyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDEzLTA1LTAxICBHbGVubiBBZGFtcyAgPGdsZW5uQHNreW5hdi5jb20+CisKKyAgICAg
ICAgW3dlYmtpdHB5XSBOZWVkIGFic3RyYWN0IGJhc2UgY2xhc3MgZm9yIGNvbW1hbmRzIHRoYXQg
YW5hbHl6ZSBjb21taXQgbG9ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE1MzkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQmVuamFtaW4gUG91bGFp
bi4KKworICAgICAgICBNb3ZlIGNvbW1pdCBsb2cgcGFyc2luZyBmdW5jdGlvbnMgaW50byBuZXcg
YWJzdHJhY3QgYmFzZSBjbGFzcyBBYnN0cmFjdENvbW1pdExvZ0NvbW1hbmQKKyAgICAgICAgaW4g
cHJlcGFyYXRpb24gZm9yIGFkZGluZyB0d28gbmV3IGNvbW1hbmRzIHRoYXQgd2lsbCByZXVzZSB0
aGlzIGZ1bmN0aW9uYWxpdHkgYWxvbmcgd2l0aAorICAgICAgICBzdWdnZXN0LW5vbWluYXRpb25z
LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTM4NyBhbmQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTM4OC4K
KworICAgICAgICBObyBuZXcgdGVzdHMgYXMgdGhpcyBwYXRjaCBkb2VzIG5vdCBjaGFuZ2UgZXhp
c3RpbmcgZnVuY3Rpb25hbGl0eSBvciBiZWhhdmlvci4KKworICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9zdWdnZXN0bm9taW5hdGlvbnMucHk6CisgICAgICAgIChBYnN0
cmFjdENvbW1pdExvZ0NvbW1hbmQpOiBBZGQgYWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgY29tbWFu
ZHMgdGhhdCBhbmFseXplIGNvbW1pdCBsb2dzLgorICAgICAgICAoQWJzdHJhY3RDb21taXRMb2dD
b21tYW5kLl9faW5pdF9fKToKKyAgICAgICAgKEFic3RyYWN0Q29tbWl0TG9nQ29tbWFuZC5faW5p
dF9vcHRpb25zKToKKyAgICAgICAgKEFic3RyYWN0Q29tbWl0TG9nQ29tbWFuZC5fcGFyc2VfY29t
bWl0X21lc3NhZ2UpOgorICAgICAgICAoU3VnZ2VzdE5vbWluYXRpb25zKTogTW92ZSBnZW5lcmlj
IGNvbW1pdCBsb2cgcGFyc2luZyBpbnRvIG5ldyBiYXNlIGNsYXNzLiBVc2UgbmV3IGJhc2UgY2xh
c3MuCisgICAgICAgIChTdWdnZXN0Tm9taW5hdGlvbnMuX19pbml0X18pOiAKKyAgICAgICAgKFN1
Z2dlc3ROb21pbmF0aW9ucy5faW5pdF9vcHRpb25zKToKKwogMjAxMy0wNS0wMSAgU2Vva2p1IEt3
b24gIDxzZW9ranUua3dvbkBnbWFpbC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRml4
IGNoZWNrLWluc3BlY3Rvci1zdHJpbmdzIHNjcmlwdCBhbmQgZml4IGxvY2FsaXplZCBzdHJpbmdz
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2Vz
dG5vbWluYXRpb25zLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3N1
Z2dlc3Rub21pbmF0aW9ucy5weQppbmRleCA5MzU2NTQ5ZjU5ZTI1NTYxMGM1ZGM1MTgxMmQ5YzBl
MmYzNWFkMmIzLi4zYWUzMzY2NDVlODRiYzUzOTMwMjVjNjk4YjRjMWI3ZWQ4ODhkNzVlIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2VzdG5vbWlu
YXRpb25zLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zdWdn
ZXN0bm9taW5hdGlvbnMucHkKQEAgLTQ2LDEwICs0Niw3IEBAIGNsYXNzIENvbW1pdExvZ01pc3Np
bmdSZXZpZXdlcihDb21taXRMb2dFcnJvcik6CiAgICAgICAgIENvbW1pdExvZ0Vycm9yLl9faW5p
dF9fKHNlbGYpCiAKIAotY2xhc3MgU3VnZ2VzdE5vbWluYXRpb25zKENvbW1hbmQpOgotICAgIG5h
bWUgPSAic3VnZ2VzdC1ub21pbmF0aW9ucyIKLSAgICBoZWxwX3RleHQgPSAiU3VnZ2VzdCBjb250
cmlidXRvcnMgZm9yIGNvbW1pdHRlci9yZXZpZXdlciBub21pbmF0aW9ucyIKLQorY2xhc3MgQWJz
dHJhY3RDb21taXRMb2dDb21tYW5kKENvbW1hbmQpOgogICAgIF9sZWFkaW5nX2luZGVudF9yZWdl
eHAgPSByZS5jb21waWxlKHIiXlsgXXs0fSIsIHJlLk1VTFRJTElORSkKICAgICBfcmV2aWV3ZWRf
YnlfcmVnZXhwID0gcmUuY29tcGlsZShDaGFuZ2VMb2dFbnRyeS5yZXZpZXdlZF9ieV9yZWdleHAs
IHJlLk1VTFRJTElORSkKICAgICBfcGF0Y2hfYnlfcmVnZXhwID0gcmUuY29tcGlsZShyJ15QYXRj
aCBieSAoP1A8bmFtZT4uKz8pXHMrPCg/UDxlbWFpbD5bXjw+XSspPiBvbiAoP1A8ZGF0ZT5cZHs0
fS1cZHsyfS1cZHsyfSkkJywgcmUuTVVMVElMSU5FKQpAQCAtNTcsMjMgKzU0LDE5IEBAIGNsYXNz
IFN1Z2dlc3ROb21pbmF0aW9ucyhDb21tYW5kKToKICAgICBfZGF0ZV9yZWdleHAgPSByZS5jb21w
aWxlKHInXkRhdGU6ICAgKD9QPGRhdGU+XGR7NH0tXGR7Mn0tXGR7Mn0pICg/UDx0aW1lPlxkezJ9
OlxkezJ9OlxkezJ9KSBbXCtcLV1cZHs0fSQnLCByZS5NVUxUSUxJTkUpCiAgICAgX3JldmlzaW9u
X3JlZ2V4cCA9IHJlLmNvbXBpbGUocideZ2l0LXN2bi1pZDogaHR0cDovL3N2bi53ZWJraXQub3Jn
L3JlcG9zaXRvcnkvd2Via2l0L3RydW5rQCg/UDxzdm5pZD5cZCspICg/UDxnaXRpZD5bMC05YS1m
XC1dezM2fSkkJywgcmUuTVVMVElMSU5FKQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAg
ICAgICBvcHRpb25zID0gWwotICAgICAgICAgICAgbWFrZV9vcHRpb24oIi0tY29tbWl0dGVyLW1p
bmltdW0iLCBhY3Rpb249InN0b3JlIiwgZGVzdD0iY29tbWl0dGVyX21pbmltdW0iLCB0eXBlPSJp
bnQiLCBkZWZhdWx0PTEwLCBoZWxwPSJTcGVjaWZ5IG1pbmltdW0gcGF0Y2ggY291bnQgZm9yIENv
bW1pdHRlciBub21pbmF0aW9ucy4iKSwKLSAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLXJldmll
d2VyLW1pbmltdW0iLCBhY3Rpb249InN0b3JlIiwgZGVzdD0icmV2aWV3ZXJfbWluaW11bSIsIHR5
cGU9ImludCIsIGRlZmF1bHQ9ODAsIGhlbHA9IlNwZWNpZnkgbWluaW11bSBwYXRjaCBjb3VudCBm
b3IgUmV2aWV3ZXIgbm9taW5hdGlvbnMuIiksCi0gICAgICAgICAgICBtYWtlX29wdGlvbigiLS1t
YXgtY29tbWl0LWFnZSIsIGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJtYXhfY29tbWl0X2FnZSIsIHR5
cGU9ImludCIsIGRlZmF1bHQ9OSwgaGVscD0iU3BlY2lmeSBtYXggY29tbWl0IGFnZSB0byBjb25z
aWRlciBmb3Igbm9taW5hdGlvbnMgKGluIG1vbnRocykuIiksCi0gICAgICAgICAgICBtYWtlX29w
dGlvbigiLS1zaG93LWNvbW1pdHMiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJzaG93X2Nv
bW1pdHMiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSJTaG93IGNvbW1pdCBoaXN0b3J5IHdpdGggbm9t
aW5hdGlvbiBzdWdnZXN0aW9ucy4iKSwKKyAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucz1O
b25lKToKKyAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgb3IgW10KKyAgICAgICAgb3B0aW9ucyAr
PSBbCisgICAgICAgICAgICBtYWtlX29wdGlvbigiLS1tYXgtY29tbWl0LWFnZSIsIGFjdGlvbj0i
c3RvcmUiLCBkZXN0PSJtYXhfY29tbWl0X2FnZSIsIHR5cGU9ImludCIsIGRlZmF1bHQ9OSwgaGVs
cD0iU3BlY2lmeSBtYXhpbXVtIGNvbW1pdCBhZ2UgdG8gY29uc2lkZXIgKGluIG1vbnRocykuIiks
CiAgICAgICAgIF0KLSAgICAgICAgc3VwZXIoU3VnZ2VzdE5vbWluYXRpb25zLCBzZWxmKS5fX2lu
aXRfXyhvcHRpb25zPW9wdGlvbnMpCisgICAgICAgIG9wdGlvbnMgPSBzb3J0ZWQob3B0aW9ucywg
Y21wPWxhbWJkYSBhLCBiOiBjbXAoYS5fbG9uZ19vcHRzLCBiLl9sb25nX29wdHMpKQorICAgICAg
ICBzdXBlcihBYnN0cmFjdENvbW1pdExvZ0NvbW1hbmQsIHNlbGYpLl9faW5pdF9fKG9wdGlvbnM9
b3B0aW9ucykKICAgICAgICAgIyBGSVhNRTogVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgb24gdGhl
IHRvb2wgc29tZXdoZXJlLgogICAgICAgICBzZWxmLl9jb21taXR0ZXJfbGlzdCA9IENvbW1pdHRl
ckxpc3QoKQogCiAgICAgZGVmIF9pbml0X29wdGlvbnMoc2VsZiwgb3B0aW9ucyk6Ci0gICAgICAg
IHNlbGYuY29tbWl0dGVyX21pbmltdW0gPSBvcHRpb25zLmNvbW1pdHRlcl9taW5pbXVtCi0gICAg
ICAgIHNlbGYucmV2aWV3ZXJfbWluaW11bSA9IG9wdGlvbnMucmV2aWV3ZXJfbWluaW11bQotICAg
ICAgICBzZWxmLm1heF9jb21taXRfYWdlID0gb3B0aW9ucy5tYXhfY29tbWl0X2FnZQotICAgICAg
ICBzZWxmLnNob3dfY29tbWl0cyA9IG9wdGlvbnMuc2hvd19jb21taXRzCiAgICAgICAgIHNlbGYu
dmVyYm9zZSA9IG9wdGlvbnMudmVyYm9zZQorICAgICAgICBzZWxmLm1heF9jb21taXRfYWdlID0g
b3B0aW9ucy5tYXhfY29tbWl0X2FnZQogCiAgICAgIyBGSVhNRTogVGhpcyBzaG91bGQgbW92ZSB0
byBzY20ucHkKICAgICBkZWYgX3JlY2VudF9jb21taXRfbWVzc2FnZXMoc2VsZik6CkBAIC0xNTAs
NiArMTQzLDI1IEBAIGNsYXNzIFN1Z2dlc3ROb21pbmF0aW9ucyhDb21tYW5kKToKICAgICAgICAg
ICAgICdyZXZpZXdlcnMnOiByZXZpZXdlcnMsCiAgICAgICAgIH0KIAorCitjbGFzcyBTdWdnZXN0
Tm9taW5hdGlvbnMoQWJzdHJhY3RDb21taXRMb2dDb21tYW5kKToKKyAgICBuYW1lID0gInN1Z2dl
c3Qtbm9taW5hdGlvbnMiCisgICAgaGVscF90ZXh0ID0gIlN1Z2dlc3QgY29udHJpYnV0b3JzIGZv
ciBjb21taXR0ZXIvcmV2aWV3ZXIgbm9taW5hdGlvbnMiCisKKyAgICBkZWYgX19pbml0X18oc2Vs
Zik6CisgICAgICAgIG9wdGlvbnMgPSBbCisgICAgICAgICAgICBtYWtlX29wdGlvbigiLS1jb21t
aXR0ZXItbWluaW11bSIsIGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJjb21taXR0ZXJfbWluaW11bSIs
IHR5cGU9ImludCIsIGRlZmF1bHQ9MTAsIGhlbHA9IlNwZWNpZnkgbWluaW11bSBwYXRjaCBjb3Vu
dCBmb3IgQ29tbWl0dGVyIG5vbWluYXRpb25zLiIpLAorICAgICAgICAgICAgbWFrZV9vcHRpb24o
Ii0tcmV2aWV3ZXItbWluaW11bSIsIGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJyZXZpZXdlcl9taW5p
bXVtIiwgdHlwZT0iaW50IiwgZGVmYXVsdD04MCwgaGVscD0iU3BlY2lmeSBtaW5pbXVtIHBhdGNo
IGNvdW50IGZvciBSZXZpZXdlciBub21pbmF0aW9ucy4iKSwKKyAgICAgICAgICAgIG1ha2Vfb3B0
aW9uKCItLXNob3ctY29tbWl0cyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9InNob3dfY29t
bWl0cyIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9IlNob3cgY29tbWl0IGhpc3Rvcnkgd2l0aCBub21p
bmF0aW9uIHN1Z2dlc3Rpb25zLiIpLAorICAgICAgICBdCisgICAgICAgIHN1cGVyKFN1Z2dlc3RO
b21pbmF0aW9ucywgc2VsZikuX19pbml0X18ob3B0aW9ucz1vcHRpb25zKQorCisgICAgZGVmIF9p
bml0X29wdGlvbnMoc2VsZiwgb3B0aW9ucyk6CisgICAgICAgIHN1cGVyKFN1Z2dlc3ROb21pbmF0
aW9ucywgc2VsZikuX2luaXRfb3B0aW9ucyhvcHRpb25zKQorICAgICAgICBzZWxmLmNvbW1pdHRl
cl9taW5pbXVtID0gb3B0aW9ucy5jb21taXR0ZXJfbWluaW11bQorICAgICAgICBzZWxmLnJldmll
d2VyX21pbmltdW0gPSBvcHRpb25zLnJldmlld2VyX21pbmltdW0KKyAgICAgICAgc2VsZi5zaG93
X2NvbW1pdHMgPSBvcHRpb25zLnNob3dfY29tbWl0cworCiAgICAgZGVmIF9jb3VudF9jb21taXQo
c2VsZiwgY29tbWl0LCBhbmFseXNpcyk6CiAgICAgICAgIGF1dGhvcl9uYW1lID0gY29tbWl0Wydh
dXRob3JfbmFtZSddCiAgICAgICAgIGF1dGhvcl9lbWFpbCA9IGNvbW1pdFsnYXV0aG9yX2VtYWls
J10K
</data>

          </attachment>
      

    </bug>

</bugzilla>