rpush says "identical" when they're not

John A Meinel john at arbash-meinel.com
Thu Sep 15 14:58:45 BST 2005


Martin Pool wrote:
> Hi,
>
> I have http://bzr.arbash-meinel.com/plugins/bzr-rsync r57, and am
> trying to use it to push up my bzr.newformat branch.   There are
> several new commits in my local branch; they have not diverged.  But
> when I try to 'bzr rpush' it says
>
> % bzr rpush -v .
> escudero.ubuntu.com:/srv/www.bazaar-ng.org/rsync/bzr/bzr.newformat/
> ** Both trees fully up-to-date.
>
> I haven't looked in to why this is happening yet.
>

The code is in rsync_update.py, around line 217, in the function
check_should_push.

I use the branch.missing_revisions() function to determine if there is
anything to pull/push.

First, I use the x-pull location to get the "b_parent" branch, and then
I ask:

missing = b_parent.missing_revisions(branch)

Which is supposed to return a list of revisions which are missing on the
"parent" branch, but exist on the local one. If this is empty, I turn
around the query and ask "missing = branch.missing_revisions(b_parent)"
which tells me if the local is missing anything from the remote.

Looking at branch.py, Branch.missing_revisions() just looks at the
revision-history files, truncates to the shorter length, and assumes
that if the last one matches, they all match. (And returns whatever is
leftover).

It all seems relatively straightforward. Are you sure you didn't
uncommit/modify your revision-history file on the local tree?

John
=:->

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 253 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20050915/4a0c6af5/attachment.pgp 


More information about the bazaar mailing list