push when nothing changed
Alexander Belchenko
bialix at ukr.net
Tue Dec 5 17:09:18 GMT 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
John Arbash Meinel пишет:
> Looking at the log, it seems to only be doing 1 step that I might
> consider unnecessary, and that is opening "revisions.kndx".
>
> On my machine I have about 11K revisions in revisions.kndx and it is
> about 887K. Though if you haven't re-packed the indexes since we fixed
> it, then it could indeed be even larger.
>
> The push code allows you to push if the target revision is in your
> ancestry, it doesn't have to be on your mainline. Which means it reads
> the remote ancestry.
>
> However, we certainly could do 2 levels of optimizations.
>
> 1) "if remote.last_revision() == local.last_revision()" => nothing to do
>
> That should help in your case. It still has to download all of the
> revision-history, but if/when we switch to only recording the
> last-revision rather than the complete history, that could be a very
> small download and check.
bzr.dev has revision history file is about 120Kbytes. It's smaller than
1Mbytes.
>
> 2) "if remote.last_revision() in local.revision_history()". Actually,
> all we need to do is "if remote.last_revision() in local.ancestry()"
>
> It may be that the fetch() code isn't paying attention to push versus
> pull, and is assuming that one side is local, and it is cheap to get the
> information for that side.
>
> John
> =:->
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFFdae+zYr338mxwCURAhtXAJ9Hfh7OVPOGdaKVy//t0/sdYlmd1wCbB/8p
w+AjGL1JyD0U+zRm9MihJEQ=
=20+2
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list