On Mon, Apr 21, 2008 at 10:32 AM, Robert Bradshaw <[EMAIL PROTECTED]> wrote: > > > On Apr 21, 2008, at 7:12 AM, William Stein wrote: > > > On Thu, Mar 27, 2008 at 4:49 PM, Robert Bradshaw > > <[EMAIL PROTECTED]> wrote: > >> > >> I've looked into this some more and it looks like we can completely > >> reconstruct a repository from the export of all its keywords. The > >> trick is to use the --exact keyword when importing. This forces > >> it to > >> apply the given patch to the correct parent (sometimes creating a > >> new > >> head) and will also correctly import merge patches (removing heads). > >> Some scripts to do this are up at > >> > >> http://sage.math.washington.edu/home/robertwb/hg/ > >> > >> I've successfully exported and re-created simple repositories (with > >> branching) with these scripts, and it works great and preserves all > >> the history. The only issue is that I can't seem to get it to work > >> with any repositories older than a certain date. I think the > >> issue is > >> that mercurial changed the way nodeid's are calculated (and I keep > >> getting an error "abort: patch is damaged or loses information" > >> which > >> is thrown when the newly computed nodeid does not match the one in > >> the patch (command.py:1632 in 0.9.5)). Matt Mackall, any suggestions > >> on how to cleanly get around this/get the old node-id numbers > >> instead > > > > Robert, > > > > Did you ever get a response to this question? Any updates on this? > > > > William > > Yes, they changed the way they do hashing, so if you commit the same > sequence of patches you will get different nodeids than you would > have in the past. This is how parents are identified, so will result > in missing parent errors. > > I have a hacked version of mercurial that will keep a correspondance > between old and new hashes that allows you to recreate a repository > from the list of patches alone (this is how I rebased Cython, > exporting the patches, running them through a diff to change the > paths, and recreating the repo from those). One drawback is that the > nodeid's will be different so the repositories aren't compatible > anymore. (I also know how to change it the other way, so the > "computed" hash will just be the old one if available.) > > If people are interested, I could try and release a less hackish patch. >
Could you "rebase" the entire Sage repo so it has the new hashes, then included it for Sage-3.0 :-) If we're going to make a massive change like that, 3.0 would be the time to do it. Or does that request make no sense? Wiliam --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---