IMPORTANT: Cleaning Up after the Hotspot repository rollbacks
John Coomes
John.Coomes at sun.com
Mon Aug 11 12:32:03 PDT 2008
Erik Trimble (Erik.Trimble at Sun.COM) wrote:
> This message is for those people who have a local clone of any of the
> following repositories:
>
> http://hg.openjdk.java.net/jdk7/hotspot/hotspot
> http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot
> http://hg.openjdk.java.net/jdk7/hotspot-svc/hotspot
>
> AND who have pulled down an incorrect changeset that was removed during
> tonight's rollback.
>
> To check if you have the offending changeset, in each local repository,
> run this command:
>
> % hg log | grep 2bb5ef5c8a2d
>
> Any output from this command indicates that your repository has been
> contaminated.
>
>
> ### HOW DO I FIX THIS? ####
>
> There are four cases; please following the appropriate section:
>
> CASE #1: You have no committed or uncommitted new work in the
> repository that you haven't already pushed to the hg.openjdk.java.net
> repository
>
> SOLUTION: Re-pull the repository from http://hg.openjdk.java.net
> This is the fastest, easiest solution - if you have no new work,
> simply get a clean copy.
Clarification - the old, contaminated repo should be deleted and a new
one created with hg clone (i.e., you want to re-clone, not pull).
-John
>
> CASE #2: You have committed one or more changesets of your own work
> into the contaminated local repository
>
> SOLUTION: Clone a new copy of the repository from
> http://hg.openjdk.java.net, then apply your changesets to that new copy.
> Step 1: clone a fresh copy to <new_repo>
> Step 2: change directory to your old, contaminated repo:
> % cd <old_repo>
> Step 3: use 'hg outgoing' to discover which changeset IDs you
> have created since the last push to the repository
> Step 4: For each changeset of your work, do the following:
> % hg export -g -o /tmp/changesetID changesetID
> Step 5: change directory to <new_repo>
> Step 6: For each of your changesets, do the following:
> % hg import -p 1 /tmp/changesetID
>
> You are now up-to-date and ready to work.
>
> In a limited number of cases, where your work was based against
> an old branch of the repository, you may have problems with above
> procedure. Please send an email to this list regarding your problems,
> and someone will contact you shortly to help with the procedure.
>
>
>
> CASE #3: You have new work in the contaminated repository, but have not
> committed yet (i.e. you do not have a changeset of your work).
>
> SOLUTION: Create a patch using your working files, and apply that patch
> to a fresh clone from http://hg.openjdk.java.net
> Step 1: clone a fresh copy to <new_repo>
> Step 2: change directory to your old, contaminated repo:
> % cd <old_repo>
> Step 3: Run this command: % hg diff -g > /tmp/new_work.patch
> Step 4: change directory to the new repo: % cd <new_repo>
> Step 5: Using GNU patch, apply your changes: % patch -p
> 1 -i /tmp/new_work.patch
>
>
>
> CASE #4: You have both committed changesets, and uncommitted work in
> the contaminated local repository.
>
> SOLUTION: Follow the procedure in Case #2 to update your changesets,
> then follow the procedure in Case #3 to migrate your uncommitted working
> files.
>
>
>
>
> Once again, we apologize for the inconvenience this rollback has caused.
>
> If you have any questions regarding this rollback, or the above
> procedures to repair your local repositories, please send email to this
> list (not to me), and we will try to reply promptly.
>
>
>
> --
> Erik Trimble
> Java System Support
> Mailstop: usca22-123
> Phone: x17195
> Santa Clara, CA
> Timezone: US/Pacific (GMT-0800)
>
More information about the hotspot-dev
mailing list