<?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>65878</bug_id>
          
          <creation_ts>2011-08-08 14:29:40 -0700</creation_ts>
          <short_desc>scm.delete should delete empty parent directories as well</short_desc>
          <delta_ts>2011-08-08 17:11: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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>448271</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-08 14:29:40 -0700</bug_when>
    <thetext>scm.delete should delete empty parent directories as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448272</commentid>
    <comment_count>1</comment_count>
      <attachid>103295</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-08 14:33:23 -0700</bug_when>
    <thetext>Created attachment 103295
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448371</commentid>
    <comment_count>2</comment_count>
      <attachid>103295</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-08 17:05:45 -0700</bug_when>
    <thetext>Comment on attachment 103295
Patch

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

LGTM if you fix the self._filesystem issues.

&gt; Tools/Scripts/webkitpy/common/checkout/scm/svn.py:179
&gt; +        if set(os.listdir(path)) - self._svn_metadata_files:

Seems this should be self._filtesystem.listdir().  Also do we have other ignored files we should exclude?

&gt; Tools/Scripts/webkitpy/common/checkout/scm/svn.py:182
&gt; +        dirname = os.path.dirname(path)

self._filesystem.

&gt; Tools/Scripts/webkitpy/common/checkout/scm/svn.py:188
&gt; +        abs_path = os.path.abspath(path)
&gt; +        parent, base = os.path.split(abs_path)

more self._filesystem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448374</commentid>
    <comment_count>3</comment_count>
      <attachid>103295</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-08 17:10:44 -0700</bug_when>
    <thetext>Comment on attachment 103295
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/common/checkout/scm/svn.py:182
&gt;&gt; +        dirname = os.path.dirname(path)
&gt; 
&gt; self._filesystem.

Yeah, that&apos;s the right thing to do, but I don&apos;t see any code in svn.py that uses filesystem.  Maybe you never landed that patch?  These examples are all parallel with _add_parent_directories above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448375</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-08 17:11:36 -0700</bug_when>
    <thetext>Committed r92655: &lt;http://trac.webkit.org/changeset/92655&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103295</attachid>
            <date>2011-08-08 14:33:23 -0700</date>
            <delta_ts>2011-08-08 17:10:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65878-20110808143321.patch</filename>
            <type>text/plain</type>
            <size>6034</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDkyNjM1KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMTEtMDgtMDggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBzY20uZGVsZXRlIHNob3VsZCBkZWxldGUgZW1wdHkgcGFyZW50IGRpcmVjdG9yaWVz
IGFzIHdlbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY1ODc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBiZWhhdmlvciBtYWtlcyBTVk4gbWF0Y2ggR0lUICh3aGljaCBoYXMgbm8gY29uY2VwdCBv
ZiBlbXB0eQorICAgICAgICBkaXJlY3RvcmllcykuICBUaGlzIGJ1ZyBjb21lcyB1cCBhIGxvdCB3
aGVuIG9wdGltaXppbmcgYmFzZWxpbmVzLCB3aGljaAorICAgICAgICBvZnRlbiBjcmVhdGUgZW1w
dHkgZGlyZWN0b3JpZXMgd2hlbiB3ZSdyZSBhYmxlIHRvIG9wdGltaXplIGV2ZXJ5dGhpbmcKKyAg
ICAgICAgb3V0IG9mIGEgZ2l2ZW4gZm9sZGVyLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY2hlY2tvdXQvYmFzZWxpbmVvcHRpbWl6ZXIucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5weToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc3ZuLnB5OgorCiAyMDExLTA4
LTA4ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
VGVzdEV4cGVjdGF0aW9uc0VkaXRvciBzaG91bGQgcmV0dXJuIGEgbGlzdCBvZiB1cGRhdGVkIGV4
cGVjdGF0aW9ucy4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0
L2Jhc2VsaW5lb3B0aW1pemVyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NoZWNrb3V0L2Jhc2VsaW5lb3B0aW1pemVyLnB5CShyZXZpc2lvbiA5MjYzMikK
KysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2Jhc2VsaW5lb3B0aW1p
emVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNyArMTQ4LDYgQEAgY2xhc3MgQmFzZWxpbmVP
cHRpbWl6ZXIob2JqZWN0KToKICAgICAgICAgICAgIGlmIG5ld19yZXN1bHRzX2J5X2RpcmVjdG9y
eS5nZXQoZGlyZWN0b3J5KSAhPSByZXN1bHQ6CiAgICAgICAgICAgICAgICAgZmlsZV9uYW1lID0g
c2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYuX3NjbS5jaGVja291dF9yb290LCBkaXJlY3Rvcnks
IGJhc2VsaW5lX25hbWUpCiAgICAgICAgICAgICAgICAgc2VsZi5fc2NtLmRlbGV0ZShmaWxlX25h
bWUpCi0gICAgICAgICAgICAgICAgIyBGSVhNRTogQ2hlY2sgZm9yIGVtcHR5IGRpcmVjdG9yaWVz
IGFuZCByZW1vdmUgdGhlbSBhcyB3ZWxsLgogCiAgICAgZGVmIG9wdGltaXplKHNlbGYsIGJhc2Vs
aW5lX25hbWUpOgogICAgICAgICByZXN1bHRzX2J5X2RpcmVjdG9yeSwgbmV3X3Jlc3VsdHNfYnlf
ZGlyZWN0b3J5ID0gc2VsZi5fZmluZF9vcHRpbWFsX3Jlc3VsdF9wbGFjZW1lbnQoYmFzZWxpbmVf
bmFtZSkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9z
Y21fdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5weQkocmV2aXNpb24gOTI2MzIpCisrKyBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtX3VuaXR0ZXN0LnB5CSh3
b3JraW5nIGNvcHkpCkBAIC01MTEsNiArNTExLDI1IEBAIE9jbVlleCZyZUQkO3NPOCpGOUwpQgog
ICAgICAgICBzZWxmLnNjbS5hZGQoImFkZGVkX2Rpci9hZGRlZF9maWxlIikKICAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKCJhZGRlZF9kaXIvYWRkZWRfZmlsZSIgaW4gc2VsZi5zY20uYWRkZWRfZmls
ZXMoKSkKIAorICAgIGRlZiBfc2hhcmVkX3Rlc3RfZGVsZXRlX3JlY3Vyc2l2ZWx5KHNlbGYpOgor
ICAgICAgICBvcy5ta2RpcigiYWRkZWRfZGlyIikKKyAgICAgICAgd3JpdGVfaW50b19maWxlX2F0
X3BhdGgoImFkZGVkX2Rpci9hZGRlZF9maWxlIiwgIm5ldyBzdHVmZiIpCisgICAgICAgIHNlbGYu
c2NtLmFkZCgiYWRkZWRfZGlyL2FkZGVkX2ZpbGUiKQorICAgICAgICBzZWxmLmFzc2VydFRydWUo
ImFkZGVkX2Rpci9hZGRlZF9maWxlIiBpbiBzZWxmLnNjbS5hZGRlZF9maWxlcygpKQorICAgICAg
ICBzZWxmLnNjbS5kZWxldGUoImFkZGVkX2Rpci9hZGRlZF9maWxlIikKKyAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZSgiYWRkZWRfZGlyIiBpbiBzZWxmLnNjbS5hZGRlZF9maWxlcygpKQorCisgICAg
ZGVmIF9zaGFyZWRfdGVzdF9kZWxldGVfcmVjdXJzaXZlbHlfb3Jfbm90KHNlbGYpOgorICAgICAg
ICBvcy5ta2RpcigiYWRkZWRfZGlyIikKKyAgICAgICAgd3JpdGVfaW50b19maWxlX2F0X3BhdGgo
ImFkZGVkX2Rpci9hZGRlZF9maWxlIiwgIm5ldyBzdHVmZiIpCisgICAgICAgIHdyaXRlX2ludG9f
ZmlsZV9hdF9wYXRoKCJhZGRlZF9kaXIvYW5vdGhlcl9hZGRlZF9maWxlIiwgIm1vcmUgbmV3IHN0
dWZmIikKKyAgICAgICAgc2VsZi5zY20uYWRkKCJhZGRlZF9kaXIvYWRkZWRfZmlsZSIpCisgICAg
ICAgIHNlbGYuc2NtLmFkZCgiYWRkZWRfZGlyL2Fub3RoZXJfYWRkZWRfZmlsZSIpCisgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZSgiYWRkZWRfZGlyL2FkZGVkX2ZpbGUiIGluIHNlbGYuc2NtLmFkZGVk
X2ZpbGVzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgiYWRkZWRfZGlyL2Fub3RoZXJfYWRk
ZWRfZmlsZSIgaW4gc2VsZi5zY20uYWRkZWRfZmlsZXMoKSkKKyAgICAgICAgc2VsZi5zY20uZGVs
ZXRlKCJhZGRlZF9kaXIvYWRkZWRfZmlsZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgiYWRk
ZWRfZGlyL2Fub3RoZXJfYWRkZWRfZmlsZSIgaW4gc2VsZi5zY20uYWRkZWRfZmlsZXMoKSkKKwog
ICAgIGRlZiBfc2hhcmVkX3Rlc3RfZXhpc3RzKHNlbGYsIHNjbSwgY29tbWl0X2Z1bmN0aW9uKToK
ICAgICAgICAgb3MuY2hkaXIoc2NtLmNoZWNrb3V0X3Jvb3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0
RmFsc2Uoc2NtLmV4aXN0cygnZm9vLnR4dCcpKQpAQCAtODQyLDYgKzg2MSwxMiBAQCBFTkQKICAg
ICAgICAgc2VsZi5zY20uZGVsZXRlKCJ0ZXN0X2ZpbGUiKQogICAgICAgICBzZWxmLmFzc2VydFRy
dWUoInRlc3RfZmlsZSIgaW4gc2VsZi5zY20uZGVsZXRlZF9maWxlcygpKQogCisgICAgZGVmIHRl
c3RfZGVsZXRlX3JlY3Vyc2l2ZWx5KHNlbGYpOgorICAgICAgICBzZWxmLl9zaGFyZWRfdGVzdF9k
ZWxldGVfcmVjdXJzaXZlbHkoKQorCisgICAgZGVmIHRlc3RfZGVsZXRlX3JlY3Vyc2l2ZWx5X29y
X25vdChzZWxmKToKKyAgICAgICAgc2VsZi5fc2hhcmVkX3Rlc3RfZGVsZXRlX3JlY3Vyc2l2ZWx5
X29yX25vdCgpCisKICAgICBkZWYgdGVzdF9oZWFkX3N2bl9yZXZpc2lvbihzZWxmKToKICAgICAg
ICAgc2VsZi5fc2hhcmVkX3Rlc3RfaGVhZF9zdm5fcmV2aXNpb24oKQogCkBAIC0xNDU5LDYgKzE0
ODQsMTIgQEAgY2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKICAgICAgICAgc2VsZi5zY20uZGVs
ZXRlKCd0ZXN0X2ZpbGVfY29tbWl0MScpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgidGVzdF9m
aWxlX2NvbW1pdDEiIGluIHNlbGYuc2NtLmRlbGV0ZWRfZmlsZXMoKSkKIAorICAgIGRlZiB0ZXN0
X2RlbGV0ZV9yZWN1cnNpdmVseShzZWxmKToKKyAgICAgICAgc2VsZi5fc2hhcmVkX3Rlc3RfZGVs
ZXRlX3JlY3Vyc2l2ZWx5KCkKKworICAgIGRlZiB0ZXN0X2RlbGV0ZV9yZWN1cnNpdmVseV9vcl9u
b3Qoc2VsZik6CisgICAgICAgIHNlbGYuX3NoYXJlZF90ZXN0X2RlbGV0ZV9yZWN1cnNpdmVseV9v
cl9ub3QoKQorCiAgICAgZGVmIHRlc3RfaGVhZF9zdm5fcmV2aXNpb24oc2VsZik6CiAgICAgICAg
IHNlbGYuX3NoYXJlZF90ZXN0X2hlYWRfc3ZuX3JldmlzaW9uKCkKIApJbmRleDogVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3N2bi5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc3ZuLnB5CShyZXZpc2lv
biA5MjYzMikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9z
dm4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTY4LDYgKzY4LDggQEAgY2xhc3MgU1ZOKFNDTSwgU1ZO
UmVwb3NpdG9yeSk6CiAgICAgc3ZuX3NlcnZlcl9ob3N0ID0gInN2bi53ZWJraXQub3JnIgogICAg
IHN2bl9zZXJ2ZXJfcmVhbG0gPSAiPGh0dHA6Ly9zdm4ud2Via2l0Lm9yZzo4MD4gTWFjIE9TIEZv
cmdlIgogCisgICAgX3N2bl9tZXRhZGF0YV9maWxlcyA9IGZyb3plbnNldChbJy5zdm4nLCAnX3N2
biddKQorCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGN3ZCwgcGF0Y2hfZGlyZWN0b3JpZXMsIGV4
ZWN1dGl2ZT1Ob25lKToKICAgICAgICAgU0NNLl9faW5pdF9fKHNlbGYsIGN3ZCwgZXhlY3V0aXZl
KQogICAgICAgICBzZWxmLl9ib2d1c19kaXIgPSBOb25lCkBAIC0xNzEsOSArMTczLDIyIEBAIGNs
YXNzIFNWTihTQ00sIFNWTlJlcG9zaXRvcnkpOgogICAgICAgICBzZWxmLl9hZGRfcGFyZW50X2Rp
cmVjdG9yaWVzKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgocGF0aCkpKQogICAgICAg
ICByZXR1cm4gc2VsZi5ydW4oWyJzdm4iLCAiYWRkIiwgcGF0aF0sIHJldHVybl9leGl0X2NvZGU9
cmV0dXJuX2V4aXRfY29kZSkKIAorICAgIGRlZiBfZGVsZXRlX3BhcmVudF9kaXJlY3Rvcmllcyhz
ZWxmLCBwYXRoKToKKyAgICAgICAgaWYgbm90IHNlbGYuaW5fd29ya2luZ19kaXJlY3RvcnkocGF0
aCk6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgaWYgc2V0KG9zLmxpc3RkaXIocGF0aCkp
IC0gc2VsZi5fc3ZuX21ldGFkYXRhX2ZpbGVzOgorICAgICAgICAgICAgcmV0dXJuICAjIERpcmVj
dG9yeSBoYXMgbm9uLXRyaXZpYWwgZmlsZXMgaW4gaXQuCisgICAgICAgIHNlbGYuZGVsZXRlKHBh
dGgpCisgICAgICAgIGRpcm5hbWUgPSBvcy5wYXRoLmRpcm5hbWUocGF0aCkKKyAgICAgICAgaWYg
ZGlybmFtZSAhPSBwYXRoOgorICAgICAgICAgICAgc2VsZi5fZGVsZXRlX3BhcmVudF9kaXJlY3Rv
cmllcyhkaXJuYW1lKQorCiAgICAgZGVmIGRlbGV0ZShzZWxmLCBwYXRoKToKLSAgICAgICAgcGFy
ZW50LCBiYXNlID0gb3MucGF0aC5zcGxpdChvcy5wYXRoLmFic3BhdGgocGF0aCkpCi0gICAgICAg
IHJldHVybiBzZWxmLnJ1bihbInN2biIsICJkZWxldGUiLCAiLS1mb3JjZSIsIGJhc2VdLCBjd2Q9
cGFyZW50KQorICAgICAgICBhYnNfcGF0aCA9IG9zLnBhdGguYWJzcGF0aChwYXRoKQorICAgICAg
ICBwYXJlbnQsIGJhc2UgPSBvcy5wYXRoLnNwbGl0KGFic19wYXRoKQorICAgICAgICByZXN1bHQg
PSBzZWxmLnJ1bihbInN2biIsICJkZWxldGUiLCAiLS1mb3JjZSIsIGJhc2VdLCBjd2Q9cGFyZW50
KQorICAgICAgICBzZWxmLl9kZWxldGVfcGFyZW50X2RpcmVjdG9yaWVzKG9zLnBhdGguZGlybmFt
ZShhYnNfcGF0aCkpCisgICAgICAgIHJldHVybiByZXN1bHQKIAogICAgIGRlZiBleGlzdHMoc2Vs
ZiwgcGF0aCk6CiAgICAgICAgIHJldHVybiBub3Qgc2VsZi5ydW4oWyJzdm4iLCAiaW5mbyIsIHBh
dGhdLCByZXR1cm5fZXhpdF9jb2RlPVRydWUsIGRlY29kZV9vdXRwdXQ9RmFsc2UpCg==
</data>
<flag name="review"
          id="98848"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="98849"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>