On Thu, Aug 6, 2009 at 10:36 AM, Evan Martin <e...@chromium.org> wrote:
> > On Thu, Aug 6, 2009 at 10:15 AM, Ojan Vafai<o...@chromium.org> wrote: > >> After following the instructions in that document trunk/src is git and > >> everything else (pulled in via DEPS, including webkit and also ICU, > >> skia, etc.) is via svn. > > > > I've been wondering about this. What would it take to modify our git > > checkout process to pull third_party/WebKit via git as well? Would it > mostly > > work to just exclude third_party/WebKit via DEPS, create it via a git > > checkout and then write a script that wraps gclient sync to also git > > pull/rebase third_party/WebKit? Is there a better way? > > I had an old version of gclient that did this. The problem you run > into is that there are more possible tree states of git than in svn so > it's hard to map across. > > Say DEPS says web...@revision A, and you have webkit at revision A~10. > gclient sync should probably fast-forward your checkout. > > Say DEPS says web...@revision A, and then you've checked out trunk and > have local changes. gclient sync should probably... do nothing? > > But then how do we tell "DEPS checked them out at A~10 before, so we > should fast forward to A" from "they checked out A~10 because that was > trunk at the time, so we should fast forward to trunk"? > > Etc. It's basically some UI questions that I haven't had the time to > worry about yet. Currently, I just manage the webkit changes by hand rather than letting gclient do it. I have a git checkout of webkit symlinked (mounted in XP since symlinks don't work right until vista) on top of third_party/WebKit. You'll need to add the following into the custom_deps of your .gclient: "src/third_party/WebKit/JavaScriptCore": None, "src/third_party/WebKit/WebCore": None, "src/third_party/WebKit/WebKitLibraries": None, "src/third_party/WebKit/LayoutTests": None, Then after a gclient sync, to get a branch of webkit at the right revision + all the build files regenerated, I do some variant of ajwong$ i=`head ~/src/git-chrome/src/DEPS | grep webkit_revision | cut -d '"' -f4`; git checkout -b $i `git svn find-rev r$i` ajwong$ i gclient runhooks --force Any of the merges/cherry-pick of current work off the webkit tree, I do by hand. It's been working pretty well for me. -Albert --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---