out of date error when pushing to svn

Bug #702870 reported by Cerf
36
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Bazaar Subversion Plugin
Fix Released
Medium
Jelmer Vernooij

Bug Description

I have a bzr branch and what to push it to a subversion location, which already has some code.
The branches are reported by bazaar to diverge.
The following command makes bazaar to crash :
  bzr push --overwrite svn+https://REMOTE_LOCATION

bzr: failed to report crash using apport:
     OSError(13, 'Permission denied')
bzr: ERROR: subvertpy.SubversionException: ("File or directory '.' is out of date; try updating", 160024)

Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 912, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 1112, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 690, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 705, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/builtins.py", line 1161, in run
    use_existing_dir=use_existing_dir)
  File "/usr/lib/python2.6/dist-packages/bzrlib/push.py", line 139, in _show_push_branch
    remember, create_prefix)
  File "/home/cerf/.bazaar/plugins/svn/remote.py", line 289, in push_branch
    overwrite=overwrite)
  File "/usr/lib/python2.6/dist-packages/bzrlib/branch.py", line 1077, in push
    *args, **kwargs)
  File "/home/cerf/.bazaar/plugins/svn/branch.py", line 1016, in push
    override_svn_revprops=_override_svn_revprops)
  File "/home/cerf/.bazaar/plugins/svn/branch.py", line 926, in _update_revisions
    push_merged, overwrite=overwrite)
  File "/home/cerf/.bazaar/plugins/svn/push.py", line 217, in push_branch
    overwrite=overwrite)
  File "/home/cerf/.bazaar/plugins/svn/push.py", line 239, in push
    override_svn_revprops=target_config.get_override_svn_revprops())
  File "/home/cerf/.bazaar/plugins/svn/push.py", line 153, in push_revision_tree
    revid = builder.commit(rev.message)
  File "/home/cerf/.bazaar/plugins/svn/errors.py", line 146, in convert
    raise convert_error(e)
SubversionException: ("File or directory '.' is out of date; try updating", 160024)

bzr 2.2.1 on python 2.6.6 (Linux-2.6.35-24-generic-pae-i686-with-Ubuntu-10.10-maverick)
arguments: ['/usr/bin/bzr', 'push', '--overwrite', 'https://proxy71.sescoi.net/svn/dental_automation/trunk']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
plugins:
  bash_completion /usr/lib/python2.6/dist-packages/bzrlib/plugins/bash_completion [2.2.1]
  bzrtools /usr/lib/python2.6/dist-packages/bzrlib/plugins/bzrtools [2.2.0]
  launchpad /usr/lib/python2.6/dist-packages/bzrlib/plugins/launchpad [2.2.1]
  netrc_credential_store /usr/lib/python2.6/dist-packages/bzrlib/plugins/netrc_credential_store [2.2.1]
  news_merge /usr/lib/python2.6/dist-packages/bzrlib/plugins/news_merge [2.2.1]
  qbzr /usr/lib/python2.6/dist-packages/bzrlib/plugins/qbzr [0.19.1]
  svn /home/cerf/.bazaar/plugins/svn [1.0.4]

*** Bazaar has encountered an internal error. This probably indicates a
    bug in Bazaar. You can help us fix it by filing a bug report at
        https://bugs.launchpad.net/bzr/+filebug
    including this traceback and a description of the problem.

Note also that doing a bzr merge inside my bzr branch I get this error :
bzr: ERROR: An inconsistent delta was supplied involving '<unknown>', None
reason: Parent is not present in resulting inventory.

Related branches

Jelmer Vernooij (jelmer)
affects: bzr → bzr-svn
Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Patrick Noffke (patrick-noffke) wrote :
Download full text (4.5 KiB)

I am having a similar problem. I am trying to push bzr revisions from a branch of an svn "trunk" branch. It has been a while since I last pushed, and there have been revisions in the svn trunk, which I have merged successfully into my bzr branch. When I try to push, whether using --overwrite or not, I get the stacktrace below.

Note that I have append_revisions_only set to False in my ~/.bazaar/subverson.conf file.

The guessed layout shown in subversion.conf is trunk0.

If I try bzr up, it says the tree is up to date. And bzr merge says there is nothing to do.

Here is the output of bzr info and bzr push.

$ bzr info
Standalone tree (format: 2a)
Location:
  branch root: .

Related branches:
    push branch: svn+http://smartrack/svn/AVS/trunk
  parent branch: svn+http://smartrack/svn/AVS/trunk

$ bzr push
Using saved push location: svn+http://smartrack/svn/AVS/trunk
HTTP smartrack username: pnoffke
<http://smartrack:80> Quad Source Code Repository pnoffke password:
bzr: ERROR: subvertpy.SubversionException: ("File or directory '.' is out of date; try updating", 160024)

Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 912, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 1112, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 690, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 705, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/builtins.py", line 1161, in run
    use_existing_dir=use_existing_dir)
  File "/usr/lib64/python2.7/site-packages/bzrlib/push.py", line 139, in _show_push_branch
    remember, create_prefix)
  File "/home/pnoffke/.bazaar/plugins/svn/remote.py", line 289, in push_branch
    overwrite=overwrite)
  File "/usr/lib64/python2.7/site-packages/bzrlib/branch.py", line 1077, in push
    *args, **kwargs)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 1016, in push
    override_svn_revprops=_override_svn_revprops)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 926, in _update_revisions
    push_merged, overwrite=overwrite)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 217, in push_branch
    overwrite=overwrite)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 239, in push
    override_svn_revprops=target_config.get_override_svn_revprops())
  File "/home/pnoffke...

Read more...

Revision history for this message
Patrick Noffke (patrick-noffke) wrote :
Download full text (9.2 KiB)

I added some debug info to commit.py from ~/.bazaar/plugins/svn. Note that I changed the mutter method to print using trace.note. I'm not sure if there's a way to get this to print to stdout otherwise, or what is the preferred method for getting debug logs.

I will also attach my version of commit.py in a follow up post.

Here is the output of running bzr push with that info.

$ bzr push
Using saved push location: svn+http://smartrack/svn/AVS/trunk
DEBUG - Starting commit
DEBUG - 1
DEBUG - 2
DEBUG - 3
HTTP smartrack username: pnoffke
<http://smartrack:80> Quad Source Code Repository pnoffke password:
DEBUG - 4
DEBUG - 5
DEBUG (open_branch_editors) - 1
DEBUG (open_branch_editors) - 2
DEBUG (open_branch_editors) - 3
DEBUG (open_branch_editors) - 4
DEBUG (open_branch_editors) - 5
DEBUG - Except 1
bzr: ERROR: subvertpy.SubversionException: ("File or directory '.' is out of date; try updating", 160024)

Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 912, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 1112, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 690, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 705, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/builtins.py", line 1161, in run
    use_existing_dir=use_existing_dir)
  File "/usr/lib64/python2.7/site-packages/bzrlib/push.py", line 139, in _show_push_branch
    remember, create_prefix)
  File "/home/pnoffke/.bazaar/plugins/svn/remote.py", line 289, in push_branch
    overwrite=overwrite)
  File "/usr/lib64/python2.7/site-packages/bzrlib/branch.py", line 1077, in push
    *args, **kwargs)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 1016, in push
    override_svn_revprops=_override_svn_revprops)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 926, in _update_revisions
    push_merged, overwrite=overwrite)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 217, in push_branch
    overwrite=overwrite)
  Fil...

Read more...

Revision history for this message
Patrick Noffke (patrick-noffke) wrote :

Here is my version of commit.py with the debug info added.

Revision history for this message
Patrick Noffke (patrick-noffke) wrote :
Download full text (4.5 KiB)

I accidentally posted the output multiple runs of bzr push, in my earlier comment. Here is just the last run, corresponding to the commit.py file above:

$ bzr push
Using saved push location: svn+http://smartrack/svn/AVS/trunk
DEBUG - Starting commit
DEBUG - 1
DEBUG - 2
DEBUG - 3
HTTP smartrack username: pnoffke
<http://smartrack:80> Quad Source Code Repository pnoffke password:
DEBUG - 4
DEBUG - 5
opening branch ['trunk'] (base 'http://smartrack/svn/AVS/trunk':866)
DEBUG (open_branch_editors) - 1
DEBUG (open_branch_editors) - 2
DEBUG (open_branch_editors) - 3
DEBUG (open_branch_editors) - 4
DEBUG (open_branch_editors) - 5
removing branch dir 'trunk'
DEBUG - Except 1
bzr: ERROR: subvertpy.SubversionException: ("File or directory '.' is out of date; try updating", 160024)

Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 912, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 1112, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 690, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 705, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/builtins.py", line 1161, in run
    use_existing_dir=use_existing_dir)
  File "/usr/lib64/python2.7/site-packages/bzrlib/push.py", line 139, in _show_push_branch
    remember, create_prefix)
  File "/home/pnoffke/.bazaar/plugins/svn/remote.py", line 289, in push_branch
    overwrite=overwrite)
  File "/usr/lib64/python2.7/site-packages/bzrlib/branch.py", line 1077, in push
    *args, **kwargs)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 1016, in push
    override_svn_revprops=_override_svn_revprops)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 926, in _update_revisions
    push_merged, overwrite=overwrite)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 217, in push_branch
    overwrite=overwrite)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 239, in push
    override_svn_revprops=target_config.get_override_svn_revprops...

Read more...

Revision history for this message
Patrick Noffke (patrick-noffke) wrote :

By the way, if it isn't obvious from the output above, the code is failing on the following line:

                ret[-1].delete_entry(name, -1)

with name = 'trunk'.

Also, svn rev 866 was the point where I last did a push. The bzr branch has revisions based on that rev, and so does the svn repo. I've merged the svn revisions into the bzr branch, and now I wish to push them all back to the svn repo.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

It seems weird that -1 would be reported as out of date. Can you still reproduce this with trunk?

Revision history for this message
Patrick Noffke (patrick-noffke) wrote :

I can't run the trunk bzr-svn. I get this error:

$ bzr st
Unable to load plugin 'svn'. It requested API version (2, 4, 0) of module <module 'bzrlib' from '/usr/lib64/python2.7/site-packages/bzrlib/__init__.pyc'> but the minimum exported version is (2, 2, 0), and the maximum is (2, 2, 1)
Unable to load plugin 'svn'. It requested API version (2, 4, 0) of module <module 'bzrlib' from '/usr/lib64/python2.7/site-packages/bzrlib/__init__.pyc'> but the minimum exported version is (2, 2, 0), and the maximum is (2, 2, 1)

Is there some other way I can debug it? I'm using fedora 14, with bzr-2.2.1-2.1.fc14.x86_64.

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 702870] Re: bzr crashed on push to a subversion repository

On Wed, 2011-03-09 at 18:21 +0000, Patrick Noffke wrote:
> I can't run the trunk bzr-svn. I get this error:
>
> $ bzr st
> Unable to load plugin 'svn'. It requested API version (2, 4, 0) of module <module 'bzrlib' from '/usr/lib64/python2.7/site-packages/bzrlib/__init__.pyc'> but the minimum exported version is (2, 2, 0), and the maximum is (2, 2, 1)
> Unable to load plugin 'svn'. It requested API version (2, 4, 0) of module <module 'bzrlib' from '/usr/lib64/python2.7/site-packages/bzrlib/__init__.pyc'> but the minimum exported version is (2, 2, 0), and the maximum is (2, 2, 1)
>
> Is there some other way I can debug it? I'm using fedora 14, with
> bzr-2.2.1-2.1.fc14.x86_64.
You'll need subvertpy 0.8.0 and bzr 2.3 or 2.4 to run newer versions of
bzr-svn.

It doesn't look like subvertpy 0.8.0 is available in Fedora.

It should be possible to install both locally, if you set the PYTHONPATH
correctly. If should give more details on how to do this, let me know.

Cheers,

Jelmer

Revision history for this message
Patrick Noffke (patrick-noffke) wrote : Re: bzr crashed on push to a subversion repository
Download full text (4.1 KiB)

Using trunk bzr-svn and bzr 2.3.0, I get the same error:

$ bzr push
Unable to load plugin 'rewrite'. It requested API version (2, 2, 0) of module <module 'bzrlib' from '/home/pnoffke/lib64/python/bzrlib/__init__.pyc'> but the minimum exported version is (2, 3, 0), and the maximum is (2, 3, 0)
Unable to load plugin 'qbzr'. It requested API version (2, 2, 0) of module <module 'bzrlib' from '/home/pnoffke/lib64/python/bzrlib/__init__.pyc'> but the minimum exported version is (2, 3, 0), and the maximum is (2, 3, 0)
Using saved push location: svn+http://smartrack/svn/AVS/trunk
<http://smartrack:80> Quad Source Code Repository pnoffke password:
bzr: ERROR: subvertpy.SubversionException: ("File or directory '.' is out of date; try updating", 160024)

Traceback (most recent call last):
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 923, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 1123, in run_bzr
    ret = run(*run_argv)
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 691, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 710, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/home/pnoffke/lib64/python/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/home/pnoffke/lib64/python/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/home/pnoffke/lib64/python/bzrlib/builtins.py", line 1132, in run
    use_existing_dir=use_existing_dir, no_tree=no_tree)
  File "/home/pnoffke/lib64/python/bzrlib/push.py", line 140, in _show_push_branch
    remember, create_prefix)
  File "/home/pnoffke/.bazaar/plugins/svn/remote.py", line 278, in push_branch
    overwrite=overwrite)
  File "/home/pnoffke/lib64/python/bzrlib/branch.py", line 1095, in push
    *args, **kwargs)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 1031, in push
    override_svn_revprops=_override_svn_revprops)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 941, in _update_revisions
    push_merged, overwrite=overwrite)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 243, in push_branch
    overwrite=overwrite)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 265, in push
    override_svn_revprops=target_config.get_override_svn_revprops())
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 179, in push_revision_tree
    revid = builder.commit(rev.message)
  File "/home/pnoffke/.bazaar/plugins/svn/errors.py", line 140, in convert
    return unbound(*args, **kwargs)
  File "/home/pnoffke/.bazaar/plugins/svn/commit.py", line 781, in commit
    root_from, replace_existing)
  File "/home/pnoffke/.bazaar/plugins/svn/commit.py", line 591, in open_branch_editors
    ret[-1].delete_...

Read more...

Revision history for this message
Patrick Noffke (patrick-noffke) wrote :

I did a wireshark packet capture of the push command, using the trunk bzr-svn and bzr 2.3. I am getting an HTTP 409 (Conflict) error in response to the CHECKOUT command sent to the server.

The attached file is the packet capture for the last several round-trips with the server. Each round-trip was decoded using wireshark's "Follow TCP stream" feature. I inserted carriage 4 carriage returns between round-trips, and one carriage return between the request and the response.

Near the end of the file is the CHECKOUT command, followed by the DELETE command.

Does this indicate a configuration problem with the server?

Note that I can checkout rev 866 using svn, but a packet capture of that suggests svn uses the REPORT command, not CHECKOUT. I don't know the svn+http protocol, so let me know if this helps or if I can provide any more details.

Thanks,
Patrick

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 702870] Re: bzr crashed on push to a subversion repository

On Tue, 2011-03-15 at 16:05 +0000, Patrick Noffke wrote:
> I did a wireshark packet capture of the push command, using the trunk
> bzr-svn and bzr 2.3. I am getting an HTTP 409 (Conflict) error in
> response to the CHECKOUT command sent to the server.
>
> The attached file is the packet capture for the last several round-trips
> with the server. Each round-trip was decoded using wireshark's "Follow
> TCP stream" feature. I inserted carriage 4 carriage returns between
> round-trips, and one carriage return between the request and the
> response.
>
> Near the end of the file is the CHECKOUT command, followed by the DELETE
> command.
>
> Does this indicate a configuration problem with the server?
>
> Note that I can checkout rev 866 using svn, but a packet capture of that
> suggests svn uses the REPORT command, not CHECKOUT. I don't know the
> svn+http protocol, so let me know if this helps or if I can provide any
> more details.
I'm refactoring the push code at the moment, I'd be interested to hear
if you can still reproduce this with trunk in a couple of days.

Cheers,

Jelmer

Revision history for this message
Patrick Noffke (patrick-noffke) wrote : Re: bzr crashed on push to a subversion repository

I will definitely try it.

I also found this link that may be relevant -- or maybe it will shed some light for you on what's happening:

http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.basic.in-action.mixedrevs

Revision history for this message
Patrick Noffke (patrick-noffke) wrote :
Download full text (8.3 KiB)

Using bzr-svn trunk rev 3633, I still have the same problem.

I should also note that I have been able to push in the past, but only when the two branches are not diverged. If there are changes in the svn trunk, and I have committed changes to my bzr branch, then merge from svn trunk, that is when I get this problem (when I try to push back).

Here is the latest output of bzr push:

$ bzr push
Unable to load plugin 'rewrite'. It requested API version (2, 2, 0) of module <module 'bzrlib' from '/home/pnoffke/lib64/python/bzrlib/__init__.pyc'> but the minimum exported version is (2, 3, 0), and the maximum is (2, 3, 0)
Unable to load plugin 'qbzr'. It requested API version (2, 2, 0) of module <module 'bzrlib' from '/home/pnoffke/lib64/python/bzrlib/__init__.pyc'> but the minimum exported version is (2, 3, 0), and the maximum is (2, 3, 0)
Using saved push location: svn+http://smartrack/svn/AVS/trunk
<http://smartrack:80> Quad Source Code Repository pnoffke password:
opening branch ['trunk'] (base 'http://smartrack/svn/AVS/trunk':866), existing = ['trunk']
removing branch dir 'trunk', rev 866
bzr: ERROR: subvertpy.SubversionException: ("File or directory '.' is out of date; try updating", 160024)

Traceback (most recent call last):
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 923, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 1123, in run_bzr
    ret = run(*run_argv)
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 691, in run_argv_aliases
    return self.run(**all_cmd_args)
  File ...

Read more...

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 702870] Re: bzr crashed on push to a subversion repository

On Fri, 2011-03-18 at 14:00 +0000, Patrick Noffke wrote:
> Using bzr-svn trunk rev 3633, I still have the same problem.
I'm still working on my "bzr push" improvements, they haven't been
merged into trunk yet. A current copy is up at
lp:~jelmer/bzr-svn/push-refactor and will hopefully be merged into trunk
at some point.

Jelmer

Revision history for this message
Patrick Noffke (patrick-noffke) wrote : Re: bzr crashed on push to a subversion repository

Thanks, Jelmer.

I realize you're still working on it, so my apologies if this isn't helpful. I tried your push-refactor branch (rev 3674), and now it is telling me the branches have diverged when I do a bzr push. When I do a bzr pull or bzr merge, it says there is nothing to do.

Please let me know if there's anything I can do to further diagnose this.

Regards,
Patrick

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 702870] Re: bzr crashed on push to a subversion repository

On Mon, 2011-03-21 at 14:43 +0000, Patrick Noffke wrote:
> Thanks, Jelmer.
>
> I realize you're still working on it, so my apologies if this isn't
> helpful. I tried your push-refactor branch (rev 3674), and now it is
> telling me the branches have diverged when I do a bzr push. When I do a
> bzr pull or bzr merge, it says there is nothing to do.
>
> Please let me know if there's anything I can do to further diagnose
> this.
Yeah, this is a known issue. You can see this for yourself by running
"make check" in that branch.

Cheers,

Jelmer

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: bzr crashed on push to a subversion repository

It's been merged now, can you try again?

Jelmer Vernooij (jelmer)
Changed in bzr-svn:
assignee: nobody → Jelmer Vernooij (jelmer)
milestone: none → 1.1.0
Revision history for this message
Cerf (delorme-hugues) wrote : Re: [Bug 702870] Re: bzr crashed on push to a subversion repository

Hello Jelmer,

     I would like to but I have resolved the problem with some svn admin
on the server side.
     So I can't reproduce the crash ...

Have a nice day,
     Hugues

On 03/22/2011 03:38 AM, Jelmer Vernooij wrote:
> It's been merged now, can you try again?
>

Revision history for this message
Patrick Noffke (patrick-noffke) wrote : Re: bzr crashed on push to a subversion repository
Download full text (4.9 KiB)

Looks like the same problem. A wireshark capture is still showing the HTTP 409 Conflict error in response to the CHECKOUT command. Please refer to my earlier attachment for the wireshark packet log.

Here is the output of bzr push using bzr-svn trunk rev 3644:

$ bzr push
Unable to load plugin 'rewrite'. It requested API version (2, 2, 0) of module <module 'bzrlib' from '/home/pnoffke/lib64/python/bzrlib/__init__.pyc'> but the minimum exported version is (2, 3, 0), and the maximum is (2, 3, 0)
Unable to load plugin 'qbzr'. It requested API version (2, 2, 0) of module <module 'bzrlib' from '/home/pnoffke/lib64/python/bzrlib/__init__.pyc'> but the minimum exported version is (2, 3, 0), and the maximum is (2, 3, 0)
Using saved push location: svn+http://smartrack/svn/AVS/trunk
<http://smartrack:80> Quad Source Code Repository pnoffke password:
bzr: ERROR: subvertpy.SubversionException: ("File or directory '.' is out of date; try updating", 160024)

Traceback (most recent call last):
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 923, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 1123, in run_bzr
    ret = run(*run_argv)
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 691, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 710, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/home/pnoffke/lib64/python/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/home/pnoffke/lib64/python/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/home/pnoffke/lib64/python/bzrlib/builtins.py", line 1132, in run
    use_existing_dir=use_existing_dir, no_tree=no_tree)
  File "/home/pnoffke/lib64/python/bzrlib/push.py", line 140, in _show_push_branch
    remember, create_prefix)
  File "/home/pnoffke/.bazaar/plugins/svn/remote.py", line 351, in push_branch
    overwrite=overwrite)
  File "/home/pnoffke/lib64/python/bzrlib/branch.py", line 1095, in push
    *args, **kwargs)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 938, in push
    override_svn_revprops=_override_svn_revprops)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 876, in _update_revisions
    self._push(stop_revision, overwrite=overwrite, push_metadata=True)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 865, in _push
    layout=self.target.layout, project=self.target.project)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 354, in push_branch
    overwrite=overwrite, push_metadata=push_metadata)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 378, in push_todo
    push_metadata=push_metadata)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 408, in push_revision_...

Read more...

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

What revision of bzr-svn are you running exactly?

What does "bzr missing" report for this branch?

can you show a bit of the revision graph you're trying to push and which bit of it is already present in svn ? The shape of the graph is the important bit, the commit messages, etc aren't really relevant.

Revision history for this message
Patrick Noffke (patrick-noffke) wrote :
Download full text (6.2 KiB)

Hi Jelmer,

I stated the revision earlier (3644), from bzr-svn trunk. Is that not what you want?

I just updated bzr-svn to trunk revision 3651 and tried again. Output below.

I've attached a screenshot the revision graph, with the messages hidden.

I will attach the bzr missing output next (seems I can only add one attachment per comment).

Here is the output of bzr push with trunk rev 3651. The first time I got a different error, then the second time I got the "file or directory out of date" error again:

$ bzr push
Unable to load plugin 'rewrite'. It requested API version (2, 2, 0) of module <module 'bzrlib' from '/home/pnoffke/lib64/python/bzrlib/__init__.pyc'> but the minimum exported version is (2, 3, 0), and the maximum is (2, 3, 0)
Unable to load plugin 'qbzr'. It requested API version (2, 2, 0) of module <module 'bzrlib' from '/home/pnoffke/lib64/python/bzrlib/__init__.pyc'> but the minimum exported version is (2, 3, 0), and the maximum is (2, 3, 0)
Using saved push location: svn+http://smartrack/svn/AVS/trunk
<http://smartrack:80> Quad Source Code Repository pnoffke password:
bzr: ERROR: At least one property change failed; repository is unchanged

[pnoffke@dingofarm Source]$ bzr push
Unable to load plugin 'rewrite'. It requested API version (2, 2, 0) of module <module 'bzrlib' from '/home/pnoffke/lib64/python/bzrlib/__init__.pyc'> but the minimum exported version is (2, 3, 0), and the maximum is (2, 3, 0)
Unable to load plugin 'qbzr'. It requested API version (2, 2, 0) of module <module 'bzrlib' from '/home/pnoffke/lib64/python/bzrlib/__init__.pyc'> but the minimum exported version is (2, 3, 0), and the maximum is (2, 3, 0)
Using saved push location: svn+http://smartrack/svn/AVS/trunk
<http://smartrack:80> Quad Source Code Repository pnoffke password:
bzr: ERROR: subvertpy.SubversionException: ("File or directory '.' is out of date; try updating", 160024)

Traceback (most recent call last):
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 923, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 1123, in run_bzr
    ret = run(*run_argv)
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 691, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/home/pnoffke/lib64/python/bzrlib/commands.py", line 710, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/home/pnoffke/lib64/python/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/hom...

Read more...

Revision history for this message
Patrick Noffke (patrick-noffke) wrote :

Here is the output of bzr missing (message comments removed).

Revision history for this message
Patrick Noffke (patrick-noffke) wrote :

Also, forgot to mention, from my revision graph, bzr rev 669 is the last one from the svn repo before the branches diverged. This is svn rev 866. The most recent svn rev is 871, which was merged into my bzr branch in bzr rev 669.1.5.

Hope that makes sense.

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 702870] Re: bzr crashed on push to a subversion repository

On Fri, 2011-03-25 at 14:08 +0000, Patrick Noffke wrote:
> Also, forgot to mention, from my revision graph, bzr rev 669 is the last
> one from the svn repo before the branches diverged. This is svn rev
> 866. The most recent svn rev is 871, which was merged into my bzr
> branch in bzr rev 669.1.5.
The fact that 669.1.5 is a dotted revno is probably the underlying
issue. I'll see if I can reproduce it here.

Cheers,

Jelmer

Revision history for this message
Patrick Noffke (patrick-noffke) wrote : Re: bzr crashed on push to a subversion repository

For what it's worth, I tried to reproduce it with a script, but it works fine. Maybe there is something to do with using HTTP (related to the 409 Conflict error I was getting). This script only uses the file:// protocol.

Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: Triaged → In Progress
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

I can't reproduce it either.

Changed in bzr-svn:
status: In Progress → Incomplete
milestone: 1.1.0 → none
assignee: Jelmer Vernooij (jelmer) → nobody
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Bazaar Subversion Plugin because there has been no activity for 60 days.]

Changed in bzr-svn:
status: Incomplete → Expired
Revision history for this message
Patrick Noffke (patrick-noffke) wrote :

Hi Jelmer,

Unfortunately, this is biting me again. Were you able to look at the packet trace or do you know why I was getting the 409 Conflict error? I continue to get that error, with the latest trunk of bzr-svn and bzr 2.3.4.

If there's anything I can do to help debug this, please let me know.

Thanks,
Patrick

Changed in bzr-svn:
status: Expired → Incomplete
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Hi Patrick,

Just to let you know I did see your comment but I haven't had time to look at this in closer detail yet.

Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: Incomplete → In Progress
assignee: nobody → Jelmer Vernooij (jelmer)
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

This is fixed in trunk, at least for some cases. If you can still reproduce it, please let me know.

summary: - bzr crashed on push to a subversion repository
+ out of date error when pushing to svn
Changed in bzr-svn:
status: In Progress → Fix Committed
Revision history for this message
Patrick Noffke (patrick-noffke) wrote :
Download full text (4.3 KiB)

Thanks for working on this, but unfortunately, it's still not working for me. I pulled bzr-svn trunk, rev 3979, and subvertpy trunk, rev 2404. I did a pull and update of my branch, and it is up to date.

Would you like another packet capture?

Here is the output of bzr push:

$ bzr push
Using saved push location: svn+http://smartrack/svn/AVS/trunk
<http://smartrack:80> Quad Source Code Repository pnoffke password:
bzr: ERROR: subvertpy.SubversionException: ("File or directory '.' is out of date; try updating", 160024)

Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 927, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 1127, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 692, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib64/python2.7/site-packages/bzrlib/commands.py", line 714, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/bzrlib/builtins.py", line 1132, in run
    use_existing_dir=use_existing_dir, no_tree=no_tree)
  File "/usr/lib64/python2.7/site-packages/bzrlib/push.py", line 140, in _show_push_branch
    remember, create_prefix)
  File "/home/pnoffke/.bazaar/plugins/svn/remote.py", line 519, in push_branch
    overwrite=overwrite)
  File "/usr/lib64/python2.7/site-packages/bzrlib/branch.py", line 1098, in push
    *args, **kwargs)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 1114, in push
    lossy=lossy))
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 1095, in _basic_push
    lossy=lossy)
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 1058, in _update_revisions
    stop_revision, overwrite=overwrite, push_metadata=(not lossy))
  File "/home/pnoffke/.bazaar/plugins/svn/branch.py", line 1039, in _push
    layout=self.target.layout, project=self.target.project)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 339, in push_branch
    append_revisions_only=append_revisions_only)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 360, in push_todo
    push_metadata=push_metadata)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 397, in push_revision_series
    project=project, layout=layout)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 415, in push_revision_inclusive
    base_foreign_info=base_foreign_info)
  File "/home/pnoffke/.bazaar/plugins/svn/push.py", line 445, in push_single_revision
    root_action=root_action)
  File "/home/p...

Read more...

Changed in bzr-svn:
status: Fix Committed → In Progress
Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: In Progress → Fix Committed
milestone: none → 1.1.1
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Patrick, do you perhaps have push_merged_revisions enabled?

Revision history for this message
Patrick Noffke (patrick-noffke) wrote :

I don't think so, but I'm not sure. How do I tell? Here's the output of bzr config:

$ bzr config
branch:
  parent_location = svn+http://smartrack/svn/AVS/trunk
  push_location = svn+http://smartrack/svn/AVS/trunk
  submit_branch = svn+http://smartrack/svn/AVS/trunk
bazaar:
  email = pnoffke <email address hidden>
  launchpad_username = patrick-noffke
  external_merge = automerge.sh %b %t %o %r

Should it be enabled?

Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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