rebase fails due to InconsistentDelta error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
New
|
Undecided
|
Unassigned |
Bug Description
I'm trying to use bzr-rewrite to rebase a sizable branch against another sizable branch which is failing:
$ bzr rebase ../upstream
InconsistentDelta: An inconsistent delta was supplied involving 'plugins/
reason: Unable to find block for this record. Was the parent added?
Both branches have an empty directory, and one of the upstream revisions adds a new file to that directory.
I've been able to reproduce this in a small example:
[/tmp]$ bzr init upstream
Created a standalone tree (format: 2a)
[/tmp]$ cd upstream
[/tmp/
added dir
[/tmp/
[/tmp/
adding file
[/tmp/
Committing to: /private/
added dir
added file
Committed revision 1.
[/tmp/
Branched 1 revision.
[/tmp/
[/tmp/
adding dir/file
[/tmp/
Committing to: /private/
added dir/file
Committed revision 2.
[/tmp/
[/tmp/other]$ echo 'alternate' >
.bzr/ dir/ file
[/tmp/other]$ echo 'alternate' > file
[/tmp/other]$ bzr commit -m 'Alternative 2nd'
Committing to: /private/tmp/other/
modified file
Committed revision 2.
[/tmp/other]$ bzr rebase ../upstream
bzr: ERROR: An inconsistent delta was supplied involving 'dir/file', 'file-201301161
reason: Unable to find block for this record. Was the parent added?
The problem seems to be in DirState.
dirname, basename = osutils.
if not present:
which needs to instead insert appropriate entries.
Oops: here's the .bzr.log:
Wed 2013-01-16 12:06:54 -0500 bsd/.bazaar/ plugins lib/python2. 7/site- packages/ bzrlib/ plugin. py", line 382, in _load_plugin_module bsd/.bazaar/ plugins/ keywords/ __init_ _.py", line 386, in <module> register_ filter_ stack_map( 'keywords' , _keywords_ filter_ stack_lookup) lib/python2. 7/site- packages/ bzrlib/ symbol_ versioning. py", line 100, in decorated_function mutter_ callsite( 4, "Deprecated function called") lib/python2. 7/site- packages/ bzrlib/ plugins ository( 'file:/ //private/ tmp/a/. bzr/repository/ ')(RepositoryFo rmat2a( )) and CHKInventoryRep ository( 'file:/ //private/ tmp/b/. bzr/repository/ ')(RepositoryFo rmat2a( )) (set([' <email address hidden>']), set(['<email address hidden>', 'null:']), 1)> ository( 'file:/ //private/ tmp/a/. bzr/repository/ ')(RepositoryFo rmat2a( )) and CHKInventoryRep ository( 'file:/ //private/ tmp/b/. bzr/repository/ ')(RepositoryFo rmat2a( )) (set([' <email address hidden>']), set(['<email address hidden>', 'null:', '<email address hidden>']), 0)> lib/python2. 7/site- packages/ bzrlib/ commands. py", line 930, in exception_ to_return_ code lib/python2. 7/site- packages/ bzrlib/ commands. py", line 1141, in run_bzr lib/python2. 7/site- packages/ bzrlib/ commands. py", line 673, in run_argv_aliases **all_cmd_ args) lib/python2. 7/site- packages/ bzrlib/ commands. py", line 697, in run .run_simple( *args, **kwargs) lib/python2. 7/site- packages/ bzrlib/ cleanup. py", line 136, in run_simple lib/python2. 7/site- packages/ bzrlib/ cleanup. py", line 166, in _do_with_cleanups lib/python2. 7/site- packages/ bzrlib/ commands. py", line 1158, in ignore_pipe bsd/.bazaar/ plugins/ rewrite/ commands. py", line 227, in run rebase( state, wt, replace_map, replayer) bsd/.bazaar/ plugins/ rewrite/ commands. py", line 48, in finish_rebase wt.branch. repository, replace_map...
0.044 bazaar version: 2.6b2
0.045 bzr arguments: [u'rebase', u'../a']
0.048 looking for plugins in /Users/
0.074 Deprecated function called
Called from:
File "/usr/pkg/
exec "import bzrlib.plugins.%s" % name in {}
File "<string>", line 1, in <module>
File "/Users/
filters.
File "/usr/pkg/
trace.
0.089 looking for plugins in /usr/pkg/
0.089 Plugin name bash_completion already loaded
0.089 Plugin name git already loaded
0.099 encoding stdout as sys.stdout encoding 'UTF-8'
0.120 opening working tree '/private/tmp/b'
0.133 Using fetch logic to copy between CHKInventoryRep
0.135 fetching: <SearchResult search:
0.157 Using fetch logic to copy between CHKInventoryRep
0.157 fetching: <SearchResult search:
0.158 Started 2 unique searchers for 2 unique revisions
0.166 Not saving DirState because _changes_aborted is set.
0.167 Transferred: 0kB (0.0kB/s r:0kB w:0kB)
0.176 Traceback (most recent call last):
File "/usr/pkg/
return the_callable(*args, **kwargs)
File "/usr/pkg/
ret = run(*run_argv)
File "/usr/pkg/
return self.run(
File "/usr/pkg/
return self._operation
File "/usr/pkg/
self.cleanups, self.func, *args, **kwargs)
File "/usr/pkg/
result = func(*args, **kwargs)
File "/usr/pkg/
result = func(*args, **kwargs)
File "/Users/
finish_
File "/Users/
rebase(