Projects/MovetoGit/MassCloneScript

Jump to: navigation, search

Brief Spec

So basically assume there's an xml or similar file that's on a web server somewhere that defines a hierarchy of KDE projects. Changes to this file won't happen often, but they will happen. So keep a cache of it and maybe update automatically once a day or when asked to.

The user should be able to perform commands like:

unnamedtool clone KDE/base #clones kdebase
unnamedtool clone KDE #clones everything in the trunk/KDE
unnamedtool clone extragear #clones all of extragear
unnamedtool clone extragear/multimedia #clones just the multimedia repos in extragear
unnamedtool clone extragear/multimedia/kaffeine #clones the app kaffeine
unnamedtool clone kaffeine #a shortcut to clone kaffeine

So above there are really two types of directories being created. Ones that are part of our 'virtual' hierarchy, and ones that are the actual git repos.The directories that aren't git repos are going to need some sort .file to store the info about what virtual directory they are supposed to be. This will all stuff like the following.

$ unnamedtool clone extragear
$ cd extragear
$ unnamedtool pull

So this would do a 'git pull origin master:master' command in all the repos. There should also be a 'unnamedtool update' command that works the same, but does a 'git remote update' command instead.

Here is the link to this script project : http://rubyforge.org/projects/build-tool/


This page was last modified on 25 November 2009, at 21:47. This page has been accessed 2,426 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal