Projects/MoveToGit/MassCloneScript

From KDE TechBase
Revision as of 16:42, 12 November 2009 by Eean (talk | contribs) (Created page with '==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 of...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.