Git Migration Needs YOU!

Alexander Neundorf neundorf at kde.org
Thu Mar 4 23:05:48 GMT 2010


On Tuesday 02 March 2010, Alexander Neundorf wrote:
> On Tuesday 02 March 2010, Chani wrote:
> > On March 2, 2010 11:24:28 Alexander Neundorf wrote:
> > > On Tuesday 02 March 2010, Chani wrote:
> > > > On March 1, 2010 12:54:34 Aaron J. Seigo wrote:
> > > > > On March 1, 2010, Chani wrote:
> > > > > > -we have six blockers listed on the techbase page[1]. One is
> > > > > > between the board and Shortcut (the company behind
> > > > > > gitorious.org), two will require co-operation from Shortcut after
> > > > > > our part is done, and the remaining three are entirely KDE's
> > > > > > responsibility.
> > > > >
> > > > > 2.3 Script for downloading virtual KDE hierarchies: doesn't look
> > > > > like a blocker (and even looks like it duplicates some effort with
> > > > > kdesvn-build)
> > > >
> > > > yes, it was badly specified with more enthusiasm than planning, and
> > > > we've been quietly ignoring it for a while now. :/ I was planning to
> > > > bring that up at the next meeting: either remove it from the wiki and
> > > > say "use kdesvn-build", or get someone to just go and write a
> > > > computer-readable list of repos and see if anyone starts using it. (I
> > > > think the former makes the most sense at this point - who besides you
> > > > and me actually wants that list? I'll probably just make my scripts
> > > > use scripty's repo list anyways)
> > >
> > > That's this, right ?
> > > http://techbase.kde.org/Projects/MovetoGit#Script_for_downloading_virtu
> > >al _K DE_hierarchies:
> > >
> > > Script for downloading virtual KDE hierarchies
> > > 0% completed (estimate)
> > >
> > > Owner:
> > > Status:
> > > Let's start over on this.
> > > what we already have: two build scripts for kde; kdesvn-build and
> > > build-tool. what we want: an easy way for people to get large chunks of
> > > kde, without thinking about what urls the repos come from or having to
> > > look things up. do kde-svnbuild and build-tool satisfy this well
> > > enough? or do we want a computer-readable file listing all the repos
> > > too? btw, scripty has its own list of repos already. it's just in a
> > > rather weird bash file.
> > > Links [1] Projects/MovetoGit/MassCloneScript [2]
> > >
> > >
> > > What does "large chunks of kde" mean ?
> >
> > something like extragear/multimedia. or all of extragear. or all of KDE/
> >
> > > All (current) modules at once ?
> > > Maybe CMake's external_project() feature in CMake >= 2.8.0 can do this
> > > ? Documentation can be found here:
> > > http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:ExternalProj
> > >ec t and page 10 of
> > > http://www.kitware.com/products/archive/kitware_quarterly1009.pdf
> > >
> > > Basically you say something like the following:
> > > ExternalProject_Add(
> > >   CMake-2-6-4
> > >   CVS_REPOSITORY :pserver:anonymous:cmake@
> > >     www.cmake.org:/cvsroot/CMake
> > >   CVS_MODULE CMake
> > >   CVS_TAG -r CMake-2-6-4
> > >   CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
> > >   )
> > >
> > > This then checks out the sources from the given SCM, configures and
> > > builds it. git is supported too, AFAIK.
> > >
> > > Alex
> >
> > interesting. I wonder if a git repo containing such files could be
> > useful. but does it support non-anonymous checkouts? hmm, with gitorious'
> > syntax it probably could...
> >
> > but looking at that first link, I only see support for cvs and svn, not
> > git. :/ or are you supposed to use DOWNLOAD_COMMAND?
>
> Not sure, I just used it last weekend for a small already-locally-existing
> subproject. cmake just switched to git itself...
> Still ExternalProject.cmake
> (http://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/ExternalProject.cmake
>;h=0302d5c4b3041a5c0fb1ce2e8028cfcd0e3de761;hb=HEAD) doesn't mention git
> yet.
> But I guess it should be possible to add support for git to that.
>
> Somebody who is better with git than I am might have a look :-)

Ok, I added a CMakeLists.txt to kdesupport/cmake_external_project/ which does 
this (partly) for the current svn layout. You need at least cmake 2.8.0 for 
this.
Use it like this: 
build/ $ cmake src/kdesupport/cmake_external_project
...
build/ $ make
[Updating from svn...]
[Configuring...]
[Building...]
build/ $ make ep_install

This is just my first try, nothing finished yet.
If you want to get this working for git, please help.

What needs to be done is to add support for git to the ExternalProject.cmake 
module. I can give pointers on how that file works, but somebody who knows 
git better than me has to do it.

Alex




More information about the kde-core-devel mailing list