IMPORTANT: Cleaning Up after the Hotspot repository rollbacks

Erik Trimble Erik.Trimble at Sun.COM
Sun Aug 10 21:01:13 PDT 2008


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.


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