From 104f961352dfe6f3f12f181488b4e5885b27192b Mon Sep 17 00:00:00 2001 From: Piet Delport Date: Sun, 22 Jan 2012 14:55:54 -0500 Subject: [PATCH 1/2] Ignore top_level.txt if installed-files.txt is available. --- pip/req.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pip/req.py b/pip/req.py index 8b7bd06cb77..33018a59085 100644 --- a/pip/req.py +++ b/pip/req.py @@ -433,7 +433,7 @@ def uninstall(self, auto_confirm=False): for installed_file in dist.get_metadata('installed-files.txt').splitlines(): path = os.path.normpath(os.path.join(egg_info_path, installed_file)) paths_to_remove.add(path) - if dist.has_metadata('top_level.txt'): + elif dist.has_metadata('top_level.txt'): if dist.has_metadata('namespace_packages.txt'): namespaces = dist.get_metadata('namespace_packages.txt') else: From 220cde1bab31d8124b3e68f7ae058059ec615689 Mon Sep 17 00:00:00 2001 From: Piet Delport Date: Mon, 9 Jul 2012 09:04:46 +0200 Subject: [PATCH 2/2] Add a test for issue #355. --- tests/packages/README.txt | 3 +++ tests/packages/child-0.1.tar.gz | Bin 0 -> 498 bytes tests/packages/parent-0.1.tar.gz | Bin 0 -> 569 bytes tests/test_uninstall.py | 30 ++++++++++++++++++++++++++++-- 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 tests/packages/child-0.1.tar.gz create mode 100644 tests/packages/parent-0.1.tar.gz diff --git a/tests/packages/README.txt b/tests/packages/README.txt index b6ecde635bf..069b32c1437 100644 --- a/tests/packages/README.txt +++ b/tests/packages/README.txt @@ -4,3 +4,6 @@ Version 0.2broken has a setup.py crafted to fail on install (and only on install). If any earlier step would fail (i.e. egg-info-generation), the already-installed version would never be uninstalled, so uninstall-rollback would not come into play. + +The parent-0.1.tar.gz and child-0.1.tar.gz packages are used by +test_uninstall:test_uninstall_overlapping_package. diff --git a/tests/packages/child-0.1.tar.gz b/tests/packages/child-0.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..2fb34ca5d618886cee76c2adebe37eab9becdc63 GIT binary patch literal 498 zcmV4RIFfK7JbYXG;?U>(7>o636``o`GZ&k2e z(*Fm#%Y?wloCvw5Jz#EIEXr1pw)&cgd8cj`PY4)?e~AAU;h(| zrGL#$D+BpFjQ@m?zxu~Xy6_(*1V`BVCpfhJL-0R1cdDt-Txio8QR<**6i1?xjWVc9 z2)Fy(agn8F6`y%s#&~;Ooye0+@!ABkZ0|*_y+6CI z1N^k}zmPOU8(6>o$B8WoQ2)p9|8__xqxz?@-3I?-`tLUK#nm^bg3tQ@(tqFoqcA2h z^#ASpKR^EEA7zJU+n@iU1b?jmB#prTHaO*m&6#2T)nb&JA{>NnW+%NV>T<(fZrCJo zFWRbN>UoMTv*YaSI&*(F75Akb_*S9));u)o@fA?*Ww*X(5|A;LK(Ems9&jxq{uy+5)B#NQ`kK#YiMJ-I8Z!!(m o_fIK>{y&QU+n;j&3HS#90000000000007toF9n2hiU2480C~OqTmS$7 literal 0 HcmV?d00001 diff --git a/tests/packages/parent-0.1.tar.gz b/tests/packages/parent-0.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..7d8673cacaac2ff27fd8f3daf4b0fd847a3b3c08 GIT binary patch literal 569 zcmV-90>=FxiwFqe+WAic|72-%bT4pWa%FCGEif)IE_7jX0PUDvYuhjshJEc{A=pI{ zXi~|sWeDVAF!n*WG%&Valp?f5O~hHnUO8(*R-6|K!|Souj!dTqN?|dPO@%45o+RO$fD;H7~ zots`5057cmtLX{az|;5t7^gAp|Ly3%snPQ`^-nyYf4llKCY5xI{ktPL*8igz@uSZP@zV)4@BX@^%h<{$FxKn&)jZ1> zLt}J(gC5}(Qra!0S|F#r+Yo3etT;otz7vRNS}peHU>F*zfBx*B0LSWoyZ`U}KaIiv zx1|5`?fZYPKP8lc{_W`h?M2jo0{y>f{ihf2`X455FB|{=6Vd3v{|{3P`ZvNS;rN_8 z-v3(t$r&Lsz~RJOxDl#yBivr`NfLf8^PJoJ5&AN@m|R{>!uL8CedF!lF7&!|OKlI& z`y%Hu+eJUhnNY>vZEr*|v(mWrv+Ce9