505.1.1
by Aaron Bentley
Add some bug reports |
1 |
$mkdir upstream-1.0.1 |
2 |
$touch upstream-1.0.1/README |
|
3 |
$tar czf upstream-1.0.1.tar.gz upstream-1.0.1 |
|
4 |
$mkdir my-branch |
|
5 |
$cd my-branch |
|
6 |
$bzr init |
|
7 |
$bzr import ../upstream-1.0.1.tar.gz |
|
8 |
bzr: ERROR: bzrlib.errors.PathNotChild: Path '/' is not a child of path |
|
9 |
u'/home/user/my-branch' |
|
10 |
||
11 |
Traceback (most recent call last): |
|
12 |
File "/usr/local/lib/python2.5/site-packages/bzrlib/commands.py", line |
|
13 |
650, in run_bzr_catch_errors |
|
14 |
return run_bzr(argv) |
|
15 |
File "/usr/local/lib/python2.5/site-packages/bzrlib/commands.py", line |
|
16 |
612, in run_bzr |
|
17 |
ret = run(*run_argv) |
|
18 |
File "/usr/local/lib/python2.5/site-packages/bzrlib/commands.py", line |
|
19 |
304, in run_argv_aliases |
|
20 |
return self.run(**all_cmd_args) |
|
21 |
File
|
|
22 |
"/usr/local/lib/python2.5/site-packages/bzrlib/plugins/bzrtools/__init__.py", |
|
23 |
line 545, in run |
|
24 |
do_import(source, tree) |
|
25 |
File
|
|
26 |
"/usr/local/stow/bazaar-dev/lib/python2.5/site-packages/bzrlib/plugins/bzrtools/upstream_import.py", |
|
27 |
line 272, in do_import |
|
28 |
import_tar(tree, tar_input) |
|
29 |
File
|
|
30 |
"/usr/local/stow/bazaar-dev/lib/python2.5/site-packages/bzrlib/plugins/bzrtools/upstream_import.py", |
|
31 |
line 165, in import_tar |
|
32 |
import_archive(tree, tar_file) |
|
33 |
File
|
|
34 |
"/usr/local/stow/bazaar-dev/lib/python2.5/site-packages/bzrlib/plugins/bzrtools/upstream_import.py", |
|
35 |
line 201, in import_archive |
|
36 |
trans_id = tt.trans_id_tree_path(relative_path) |
|
37 |
File
|
|
38 |
"/usr/local/stow/bazaar-dev/lib/python2.5/site-packages/bzrlib/transform.py", |
|
39 |
line 240, in trans_id_tree_path |
|
40 |
path = self.canonical_path(path) |
|
41 |
File
|
|
42 |
"/usr/local/stow/bazaar-dev/lib/python2.5/site-packages/bzrlib/transform.py", |
|
43 |
line 234, in canonical_path |
|
44 |
relpath = self._tree.relpath(abs) |
|
45 |
File "/usr/local/lib/python2.5/site-packages/bzrlib/workingtree.py", |
|
46 |
line 449, in relpath |
|
47 |
return osutils.relpath(self.basedir, path) |
|
48 |
File "/usr/local/lib/python2.5/site-packages/bzrlib/osutils.py", line |
|
49 |
822, in relpath |
|
50 |
raise errors.PathNotChild(rp, base) |
|
51 |
PathNotChild: Path '/' is not a child of path u'/home/user/my-branch' |
|
52 |
||
53 |
bzr 0.15.0dev0 on python 2.5.0.final.0 (linux2) |
|
54 |
arguments: ['/usr/local/bin/bzr', 'import', '../upstream-1.0.1.tar.gz'] |
|
55 |
||
56 |
** please send this report to bazaar@lists.ubuntu.com |
|
57 |
/usr/local/lib/python2.5/site-packages/bzrlib/lockable_files.py:110: |
|
58 |
UserWarning: file group |
|
59 |
LockableFiles(<bzrlib.transport.local.LocalTransport |
|
60 |
url=file:///home/user/my-branch/.bzr/checkout/>) was not explicitly unlocked |
|
61 |
warn("file group %r was not explicitly unlocked" % self) |
|
62 |
/usr/local/lib/python2.5/site-packages/bzrlib/lockable_files.py:110: |
|
63 |
UserWarning: file group |
|
64 |
LockableFiles(<bzrlib.transport.local.LocalTransport |
|
65 |
url=file:///home/user/my-branch/.bzr/branch/>) was not explicitly unlocked |
|
66 |
warn("file group %r was not explicitly unlocked" % self) |
|
67 |
/usr/local/lib/python2.5/site-packages/bzrlib/lockable_files.py:110: |
|
68 |
UserWarning: file group |
|
69 |
LockableFiles(<bzrlib.transport.local.LocalTransport |
|
70 |
url=file:///home/user/my-branch/.bzr/repository/>) was not explicitly |
|
71 |
unlocked
|
|
72 |
warn("file group %r was not explicitly unlocked" % self) |
|
73 |
||
74 |
I think this is because TarFile.getmembers() contains "upstream-1.0.1//" |
|
75 |
(two slashes). A quick fix that works for me is: |
|
76 |
||
77 |
--- upstream_import.py 2007-01-08 17:08:42 +0000 |
|
78 |
+++ upstream_import.py 2007-01-29 12:03:54 +0000 |
|
79 |
@@ -193,7 +193,7 @@ |
|
80 |
continue
|
|
81 |
relative_path = member.name |
|
82 |
if prefix is not None: |
|
83 |
- relative_path = relative_path[len(prefix)+1:] |
|
84 |
+ relative_path = relative_path[len(prefix):].lstrip('/') |
|
85 |
if relative_path == '': |
|
86 |
continue
|
|
87 |
add_implied_parents(implied_parents, relative_path) |
|
88 |
||
89 |
bye, matthias |
|
90 |