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