Cannot downgrade from 1.14 format to 1.6 or 1.9 format

Bug #354737 reported by Brian de Alwis
4
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
Low
Unassigned

Bug Description

I just fetched 1.14 to try on MacOS X to mess-about with the EOL support.

My first test was to upgrade a small repo from a 0.92 to the new 1.14 format, which succeeded and took very little time.

On a whim, I tried to downgrade to 1.9, but this process hangs.

$ tbzr upgrade --1.6
starting upgrade of file:///private/tmp/dotfiles/
making backup of file:///private/tmp/dotfiles/.bzr
  to file:///private/tmp/dotfiles/backup.bzr
starting repository conversion
repository converted
[###################/] checking repository format 1/1

and the spinner just continues to spin forever (well, at least 5 minutes).

I can upgrade and downgrade from 1.9 to 1.6, but not from 1.14 to either 1.6 or 1.9.

I've tried sampling the stack by breaking and looking at the trace with pdb (about 10 times over 3 minutes): the process does seem to be doing something, but several of those traces involved options and config objects, like the following:

Pdb) bt
  /scratch/dev/bzr-1.14/bzr(130)<module>()
-> exit_val = bzrlib.commands.main(sys.argv)
  /scratch/dev/bzr-1.14/bzrlib/commands.py(968)main()
-> ret = run_bzr_catch_errors(argv)
  /scratch/dev/bzr-1.14/bzrlib/commands.py(979)run_bzr_catch_errors()
-> return exception_to_return_code(run_bzr, argv)
  /scratch/dev/bzr-1.14/bzrlib/commands.py(727)exception_to_return_code()
-> return the_callable(*args, **kwargs)
  /scratch/dev/bzr-1.14/bzrlib/commands.py(922)run_bzr()
-> ret = run(*run_argv)
  /scratch/dev/bzr-1.14/bzrlib/commands.py(559)run_argv_aliases()
-> return self.run(**all_cmd_args)
  /scratch/dev/bzr-1.14/bzrlib/builtins.py(2969)run()
-> upgrade(url, format)
  /scratch/dev/bzr-1.14/bzrlib/upgrade.py(85)upgrade()
-> Convert(url, format)
  /scratch/dev/bzr-1.14/bzrlib/upgrade.py(40)__init__()
-> self.convert()
  /scratch/dev/bzr-1.14/bzrlib/upgrade.py(79)convert()
-> self.bzrdir = converter.convert(self.bzrdir, self.pb)
  /scratch/dev/bzr-1.14/bzrlib/bzrdir.py(2714)convert()
-> branch = self.bzrdir.open_branch()
  /scratch/dev/bzr-1.14/bzrlib/bzrdir.py(1616)open_branch()
-> return format.open(self, _found=True, ignore_fallbacks=ignore_fallbacks)
  /scratch/dev/bzr-1.14/bzrlib/branch.py(1604)open()
-> ignore_fallbacks=ignore_fallbacks)
  /scratch/dev/bzr-1.14/bzrlib/branch.py(2373)__init__()
-> super(BzrBranch7, self).__init__(*args, **kwargs)
  /scratch/dev/bzr-1.14/bzrlib/branch.py(1882)__init__()
-> Branch.__init__(self)
  /scratch/dev/bzr-1.14/bzrlib/branch.py(94)__init__()
-> self._open_hook()
  /scratch/dev/bzr-1.14/bzrlib/branch.py(2357)_open_hook()
-> url = self.get_stacked_on_url()
  /scratch/dev/bzr-1.14/bzrlib/branch.py(2538)get_stacked_on_url()
-> stacked_url = self._get_config_location('stacked_on_location')
  /scratch/dev/bzr-1.14/bzrlib/branch.py(868)_get_config_location()
-> location = config.get_user_option(name)
  /scratch/dev/bzr-1.14/bzrlib/config.py(175)get_user_option()
-> return self._get_user_option(option_name)
  /scratch/dev/bzr-1.14/bzrlib/config.py(684)_get_user_option()
-> value = source()._get_user_option(option_name)
  /scratch/dev/bzr-1.14/bzrlib/config.py(353)_get_user_option()
-> for (section, extra_path) in self._get_matching_sections():
  /scratch/dev/bzr-1.14/bzrlib/config.py(497)_get_matching_sections()
-> sections = self._get_parser()
  /scratch/dev/bzr-1.14/bzrlib/config.py(310)_get_parser()
-> self._parser = ConfigObj(input, encoding='utf-8')
  /scratch/dev/bzr-1.14/bzrlib/config.py(143)ConfigObj()
-> return _ConfigObj(*args, **kwargs)
  /scratch/dev/bzr-1.14/bzrlib/util/configobj/configobj.py(1276)__init__()
-> self._load(infile, configspec)
  /scratch/dev/bzr-1.14/bzrlib/util/configobj/configobj.py(1345)_load()
-> self._parse(infile)
  /scratch/dev/bzr-1.14/bzrlib/util/configobj/configobj.py(1704)_parse()
-> this_section.inline_comments[key] = comment
> /scratch/dev/bzr-1.14/bzrlib/breakin.py(33)_debug()
-> signal.signal(signal.SIGQUIT, _debug)
(Pdb)

Revision history for this message
Brian de Alwis (slyguy) wrote :

Should have mentioned: this bzr is from http://bazaar-vcs.org/bzr/bzr.1.14/, revno 4241

Revision history for this message
Robert Collins (lifeless) wrote :

You can makea new lower format branch and just pull into it, or if you were just testing filtering, use bzr remove-tree and then 'bzr checkout .'.

Changed in bzr:
importance: Undecided → Low
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.