unable to unshelve shelved root-id change
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned | ||
Breezy |
Triaged
|
Medium
|
Unassigned |
Bug Description
I am using trunk 2.3.0dev1 (revno 5418).
[tmp]% bzr init unshelve-error
Created a standalone tree (format: 2a)
[tmp]% cd unshelve-error
[unshelve-error]% bzr mkdir foo
added foo
[unshelve-error]% bzr shelve --all
Selected changes:
-D foo/
Changes shelved with id "1".
[unshelve-error]% bzr unshelve 1
Using changes with id "1".
bzr: ERROR: No final name for trans_id 'new-1'
file-id: 'tree_root-
root trans-id: None
[unshelve-error]% bzr -Derror unshelve 1
Using changes with id "1".
bzr: ERROR: bzrlib.
file-id: 'tree_root-
root trans-id: None
Traceback (most recent call last):
File "/storage/
return the_callable(*args, **kwargs)
File "/storage/
ret = run(*run_argv)
File "/storage/
return self.run(
File "/storage/
return self._operation
File "/storage/
self.cleanups, self.func, *args, **kwargs)
File "/storage/
result = func(*args, **kwargs)
File "/storage/
unshelver.run()
File "/storage/
merger = unshelver.
File "/storage/
target_tree = self.transform.
File "/storage/
return _PreviewTree(self)
File "/storage/
self.
File "/storage/
self.
File "/storage/
to_name = self.final_
File "/storage/
raise NoFinalPath(
NoFinalPath: No final name for trans_id 'new-1'
file-id: 'tree_root-
root trans-id: None
[unshelve-error]%
tags: | added: check-for-breezy |
tags: | removed: check-for-breezy |
Changed in brz: | |
status: | New → Triaged |
importance: | Undecided → Medium |
Actually, I'm pretty sure this is about not being able to unshelve the
root, not a newly created subdir. Try:
bzr init foo
cd foo
touch a; bzr add a; bzr commit -m "a"
bzr mkdir dir
bzr shelve
bzr unshelve
I think that will work.
The problem is that you did this as the *first* action (without any
other commit) and it shelved the creation of the tree root.
Either:
a) We shouldn't allow shelving the root
or
b) We should support unshelving a new root
Now, if what I wrote also fails, then we have 2 bugs :). But what you posted here is a failure to unshelve a root-id change.