| From | Sent On | Attachments |
|---|---|---|
| Pradeepkumar Gayam | Jul 28, 2010 4:31 pm | |
| Benoit Boissinot GSoC | Jul 29, 2010 2:49 am | |
| Matt Mackall | Jul 30, 2010 10:33 am | |
| Pradeepkumar Gayam | Aug 1, 2010 12:05 am | |
| Matt Mackall | Aug 1, 2010 6:48 am | |
| Benoit Boissinot | Aug 1, 2010 7:13 am | |
| Matt Mackall | Aug 1, 2010 7:32 am | |
| Vishakh Harikumar | Aug 1, 2010 12:04 pm | |
| Matt Mackall | Aug 1, 2010 12:29 pm | |
| Pradeepkumar Gayam | Aug 1, 2010 3:05 pm | |
| Pradeepkumar Gayam | Aug 1, 2010 3:08 pm | |
| Vishakh Harikumar | Aug 2, 2010 9:38 am | |
| Gilles Moris | Aug 9, 2010 12:13 am |
| Subject: | [GSoC] Wireprotocol changes for parentdelta | |
|---|---|---|
| From: | Pradeepkumar Gayam (in3...@gmail.com) | |
| Date: | Jul 28, 2010 4:31:23 pm | |
| List: | com.selenic.mercurial-devel | |
Hi,
I am almost done with the revlog and other stuff, and started working on wireprotocol. I sent some patches to the list. That was my basic idea to implement. But I was told I am heading in wrong direction. *
Implementaion:
*1)* *Query the server if it is capable of sending parentdelta'ed changegroup. 2) Figure out which is most efficient method to add changegroup. 3) Request the chagegroup.
To carry out this process what I previously did was find capabilities of remote server, if the server is new then request a changegroup with parent deltas. It was done like this: (before unification)
if pdelta: return self.do_cmd("changegroup", roots=n, parentdelta='parentdelta') else: return self.do_cmd("changegroup", roots=n)
and server responds as below:
pdelta = 'parentdelta' in req.form return repo.changegroup(nodes, 'serve', pdelta)
I had to send a weird "parentdelta='parentdelta'" cause I just want to make the server aware that I want parentdelta'd changegroup. In the end it turns out to be the wrong way to implement.
After little bit of thinking I realized adding a new command is more safe and gives better functionality.
So now it looks like:
1) Query server's capabilities 2) If capable of parentdelta: Send the command "parentdelta" notifying type of repo client has(Old/New) and server replies with type of repo else: Do nothing. 3) Ask server for appropriate changegroup.
This is the idea currently I have in my mind. Any kind of improvements, new way of implementation, suggestions are welcome.
P.S: Link <http://mercurial.selenic.com/wiki/ParentDeltaPlan> to Parentdeltaplan
Thanks - Pradeep
_______________________________________________ Mercurial-devel mailing list Merc...@selenic.com http://selenic.com/mailman/listinfo/mercurial-devel





