Re: cws tools: Would a "remote pull" of a given milestone to accelerate cws rebasing be possible

Jens-Heiner Rechtien <[email protected]> Mon, 31 May 2010 13:41:51 +0200
Newsgroups gmane.comp.openoffice.devel.tools
Message-ID <[email protected]>
Hi Christian,

ADSL being what it is, a push to an old CWS which has been updated to a 
more recent milestone can be quite slow, especially if one of the 
milestone contains a whole set of new localizations, agreed.

I've thought about a "remote update" of the outgoing repositories, but 
it isn't that easy.

a) Most important, if there are already developer changes in the CWS 
(which will be the standard case) such a "remote update" will create a 
new head which will be very confusing for many users, since we have 
adopted a strict "one head only" policy for the outgoing repositories. 
Remote merge is not possible (no working trees, no one to solve 
potential conflicts).

b) It doesn't really fit into the framework. The repositories are quite 
independent from EIS, the only way to change the content of a outgoing 
repository is via a push over ssh with a hg client, using the hg 
protocol (which has no provision for this). EIS has no direct access to 
the repositories (nor should it have), the only connection between the 
two is a little script on the server which regularly polls EIS for new, 
not yet created CWSs. Thus the only way to implement that would be the 
introduction of a new flag ("remote_pull_requested") in EIS which would 
than be polled by another server side script. Since the execution and 
succesful termination of that script isn't easily observable from the 
outside, the script would additionally need to send emails. Not sure if 
this added complexity is worth the IMHO quite narrow use case - it's the 
first time I've heard such a request.

I'm always willing to lend a hand with the CWS update if someone sends 
me an email with such a request. If I receive many such requests I'll 
certainly consider to automate this :-)

Regards,
    Heiner

PS: It's an interesting idea to implement in a server side extension of 
Mercurial: If, during a push to remote, a comparison of the local rep. 
changesets with the remote changesets yields a list of changesets which 
are not yet remote available, consider first to consult another remote 
"well known reference" repository for the changesets, pull any possibly 
available changesets from there and then renegotiate the list of missing 
changesets with the local repository. Don't know if this is easy to 
implement but it could be worthwhile for monster repositories as well 
(like OOo). Thinking about it, it's even an option for the local side on 
a pull.

On 05/27/2010 07:12 PM, Christian Lohmaier wrote:
> Hi *,
>
> As rebasing a cws with ADSL is a pain because of the slow upload link,
> I wondered whether it would be possible to add a
>
> cws pullremote -m<milestone>  or similar command to cwstools.
>
> Those would then pull the changes up to that given milestone into the
> remote cws clone.
>
> Thus the only thing that would be pushed from the developer's machine
> would be the actual merge commits. Much less bandwidth spent that way,
> and even more important: Much time saved.
>
> Would it be possible to add that functionality?
>
> ciao
> Christian
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>