Yes, many thanks for carrying this over the finish line!

Cheers,
Nige

Sent from my iPhone4

On Jun 13, 2011, at 12:39 AM, Eli Collins <e...@cloudera.com> wrote:

> Nice work Todd.   Thank you for making this happen!
> 
> 
> On Sun, Jun 12, 2011 at 4:38 PM, Todd Lipcon <t...@cloudera.com> wrote:
>> OK, this seems to have succeeded without any big problems!
>> 
>> I've re-enabled the git mirrors and the hudson builds. Feel free to commit
>> to the new trees.
>> 
>> Here are some instructions for the migration:
>> 
>> === SVN users ===
>> 
>> Next time you "svn up" in your "common" working directory you'll end up
>> seeing the combined tree - ie a mapreduce/, hdfs/, and common/ subdirectory.
>> This is probably the easiest place from which to work, now. The URLs for the
>> combined SVN trees are:
>> 
>> trunk: https://svn.apache.org/repos/asf/hadoop/common/trunk/
>> branch-0.22:
>> http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.22
>> branch-0.21:
>> http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.21
>> yahoo-merge:
>> http://svn.apache.org/repos/asf/hadoop/common/branches/yahoo-merge
>>  (this one has the yahoo-merge branches from common, hdfs, and mapred)
>> MR-279: http://svn.apache.org/repos/asf/hadoop/common/branches/MR-279
>>  (this one has the yahoo-merge common and hdfs, and the MR-279 mapred)
>> 
>> The same kind of thing happened for HDFS-1073 and branch-0.21-old.
>> Pre-project-split branches like branch-0.20 should have remained untouched.
>> 
>> You can proceed to delete your checkouts of the individual mapred and hdfs
>> trees, since they exist within the combined trees above. If for some reason
>> you prefer to 'svn switch' an old MR or HDFS-specific checkout to point to
>> its new location, you can use the following incantation:
>> svn sw $(svn info | grep URL | awk '{print $2}' | sed
>> 's,\(hdfs\|mapreduce\|common\)/\(.*\),common/\2/\1,')
>> 
>> === Git Users ===
>> The git mirrors of the above 7 branches should now have a set of 4 commits
>> near the top that look like this:
>> 
>> Merge: 928d485 cd66945 77f628f
>> Author: Todd Lipcon <t...@apache.org>
>> Date:   Sun Jun 12 22:53:28 2011 +0000
>> 
>>    HADOOP-7106. Reorganize SVN layout to combine HDFS, Common, and MR in a
>> single tree (project unsplit)
>> 
>>    git-svn-id:
>> https://svn.apache.org/repos/asf/hadoop/common/trunk@113499413f79535-47bb-0310-9956-ffa450edef68
>> 
>> commit 77f628ff5925c25ba2ee4ce14590789eb2e7b85b
>> Author: Todd Lipcon <t...@apache.org>
>> Date:   Sun Jun 12 22:53:27 2011 +0000
>> 
>>    Relocate mapreduce into mapreduce/
>> 
>> commit cd66945f62635f589ff93468e94c0039684a8b6d
>> Author: Todd Lipcon <t...@apache.org>
>> Date:   Sun Jun 12 22:53:26 2011 +0000
>> 
>>    Relocate hdfs into hdfs/
>> 
>> commit 928d485e2743115fe37f9d123ce9a635c5afb91a
>> Author: Todd Lipcon <t...@apache.org>
>> Date:   Sun Jun 12 22:53:25 2011 +0000
>> 
>>    Relocate common into common/
>> 
>> The first of these 4 is a 3-parent "octopus" merge commit of the
>> pre-project-unsplit branches. In theory, git is smart enough to track
>> changes through this merge, so long as you pass the right flags (eg
>> --follow). For example:
>> 
>> todd@todd-w510:~/git/hadoop-common$ git log --pretty=oneline --abbrev-commit
>> --follow mapreduce/src/java/org/apache/hadoop/mapred/JobTracker.java | head
>> -10
>> 77f628f Relocate mapreduce into mapreduce/
>> 90df0cb MAPREDUCE-2455. Remove deprecated JobTracker.State in favour of
>> JobTrackerStatus.
>> ca2aba0 MAPREDUCE-2490. Add logging to graylist and blacklist activity to
>> aid diagnosis of related issues. Contributed by Jonathan Eagles
>> 32aaa2a MAPREDUCE-2515. MapReduce code references some deprecated options.
>> Contributed by Ari Rabkin.
>> 
>> If you want to be able to have git follow renames all the way through the
>> project split back to the beginning of time, put the following in
>> hadoop-common/.git/info/grafts:
>> 5128a9a453d64bfe1ed978cf9ffed27985eeef36
>> 6c16dc8cf2b28818c852e95302920a278d07ad0c
>> 6a3ac690e493c7da45bbf2ae2054768c427fd0e1
>> 6c16dc8cf2b28818c852e95302920a278d07ad0c
>> 546d96754ffee3142bcbbf4563c624c053d0ed0d
>> 6c16dc8cf2b28818c852e95302920a278d07ad0c
>> 
>> In terms of rebasing git branches, git is actually pretty smart. For
>> example, I have a local "HDFS-1073" branch in my hdfs repo. To transition it
>> to the new combined repo, I did the following:
>> 
>> # Add my project-split hdfs git repo as a remote:
>> git remote add splithdfs /home/todd/git/hadoop-hdfs/
>> git fetch splithdfs
>> 
>> # Checkout a branch in my combined repo
>> git checkout -b HDFS-1073 splithdfs/HDFS-1073
>> 
>> # Rebase it on the combined 1073 branch
>> git rebase origin/HDFS-1073
>> 
>> ...and it actually applies my patches inside the appropriate subdirectory (I
>> was surprised and impressed by this!)
>> If the branch you're rebasing has added or moved files, it might not be
>> smart enough and you'll have to manually rename them in your branch inside
>> of the appropriate subtree.. but for simple patches this seems to work. For
>> less simple things, the best bet may be to use "git filter-branch" on the
>> patch series to relocate it inside a subdirectory, and then try to rebase.
>> Let me know if you need a hand with any git cleanup, happy to help.
>> 
>> 
>> == Outstanding issues ==
>> 
>> The one outstanding issue I'm aware of is that the test-patch builds should
>> be smart enough to be able to deal with patches that are relative to the
>> combined root instead of the original project. Right now, if you export a
>> diff from git, it will include "hdfs/" or "mapreduce/" in the changed file
>> names, and the QA bot won't know how to apply it. The workaround for this is
>> to change directory into the relative subproject dir, and then pass
>> "--relative" to "git diff" or "git show", for example:
>> 
>> todd@todd-w510:~/git/hadoop-common/mapreduce$ git diff --relative
>> --no-prefix
>> diff --git CHANGES.txt CHANGES.txt
>> ...
>> 
>> 
>> I imagine there are probably some other things that fell through the cracks.
>> Please get in touch if there's anything that seems amiss.
>> 
>> -Todd
>> 
>> 
>> On Sun, Jun 12, 2011 at 2:50 PM, Todd Lipcon <t...@cloudera.com> wrote:
>> 
>>> All of the nits I ran into should be resolved and we should be good to go.
>>> I will start this in just about 10 minutes (3pm PST).
>>> 
>>> ***Please hold all commits until further notice!*** I anticipate that this
>>> should take under an hour, but if there are any bumps along the way it might
>>> stretch into the evening. I'll send out an "all clear" email when things are
>>> ready to go on the new layout.
>>> 
>>> I've disabled all of the Hudson builds for now and will be re-enabling them
>>> one by one after reconfiguring their SVN URLs.
>>> 
>>> -Todd
>>> 
>>> On Sat, Jun 11, 2011 at 8:25 PM, Todd Lipcon <t...@cloudera.com> wrote:
>>> 
>>>> Hi all,
>>>> 
>>>> I'm figuring out one more small nit I noticed in my testing this evening.
>>>> Hopefully I will figure out what's going wrong and be ready to press the 
>>>> big
>>>> button tomorrow.
>>>> 
>>>> Assuming I don't have to "abort mission", my hope is to do this at around
>>>> 3PM PST tomorrow (Sunday). I'll send out a message asking folks to please
>>>> hold commits to all branches while the move is in progress.
>>>> 
>>>> Thanks
>>>> -Todd
>>>> 
>>>> 
>>>> On Fri, Jun 10, 2011 at 11:20 AM, Todd Lipcon <t...@cloudera.com> wrote:
>>>> 
>>>>> Hi all,
>>>>> 
>>>>> Pending any unforeseen issues, I am planning on committing HADOOP-7106
>>>>> this weekend. I have the credentials from Jukka to take care of the git
>>>>> trees as well, and have done a "practice" move several times on a local
>>>>> mirror of the svn.
>>>>> 
>>>>> I'll send out an announcement of the exact time in advance of when I
>>>>> actually do the commit.
>>>>> 
>>>>> Thanks
>>>>> -Todd
>>>>> --
>>>>> Todd Lipcon
>>>>> Software Engineer, Cloudera
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Todd Lipcon
>>>> Software Engineer, Cloudera
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Todd Lipcon
>>> Software Engineer, Cloudera
>>> 
>> 
>> 
>> 
>> --
>> Todd Lipcon
>> Software Engineer, Cloudera
>> 

Reply via email to