The goal here is to be able to send a compilation and test farm a set of branches to test. To do so, we need, per repository: - the git URL where to fetch the code (needs to be reachable by the test farm) - a branch to switch to - a commit to checkout This small script grabs a set of local checkouts, ensure that the checked out branch is pushed to a remote repository and generates the necessary information for someone else to checkout the same configuration. === Intallation intel-submit-build depends on: - GitPython (Fedora package: GitPython) === Configuration A configuration file (defaults to ~/.gfx-repos) intructs the script which checkouts it should look at. Here is an example of such a configuration file: repositories = { 'kernel': { 'path': '~/gfx/sources/linux-2.6' }, 'libdrm': { 'path': '~/gfx/sources/drm', 'remote': 'test-remote', }, 'intel-gpu-tools': { 'path': '~/gfx/sources/intel-gpu-tools', }, } repositories is a dictionary of dictionaries, mapping a name to a repository description. The keys that describe a repository are: 'path' (required): The path of the checkout 'remote' (optional, defaults to 'origin'): The remote where the local branch should have been pushed already