|
|
Line 1: |
Line 1: |
| ==Brief Spec==
| | #REDIRECT [[Projects/MovetoGit/MassCloneScript]] |
| | |
| 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.
| |