Hi Tim,

Not familliar with seL4 workflow, so don't take everything I say as the way to do it.

For repo, probably best bet are the Android source pages:

After all, repo was first made to handle Android source repositories: https://code.google.com/p/git-repo/
What you should remember about repo is that it is just a wrapper for git.
So anything you do in repo can be made by repeatedly issuing git commands for each git repository.

The general workflow in repo is starting off from say 'master' branch (which is the same as saying: "all git repositories are on master branch"). Then create a new repo branch say 'new_feature' in one or more projects (project = repo terminology for git repository).
A repo branch is just a branch which has the same name in all relevant git repositories.
Now you work on the new_features branch in each project (git reposotory) as you would do with regular git, you can probably even set up different push URL (say pushing to your own forked repositories - might have to tinker with .manifest file or similar).

When you want to update from master, "repo sync" will update the master branch and all upstream branches for all projects (might do rebases which is really annoying), but will not affect the projects on which you are working locally (branch 'new_feature')
If the local branch is not tracking a branch in the remote repository, then no synchronization will occur for the project.

 One thing I've noticed while doing Android development is that repo is only really useful for doing sync, diff, status and forall.
Unless you are working with a lot of projects simultaneously, everything else (push rebase, etc) can be done manually in each git repository - but that is just my own opinion.

Hope this helps!


On Sat, Feb 21, 2015 at 2:56 AM, Tim Newsham <tim.newsham+sel4@gmail.com> wrote:
This is slightly tangential to sel4.. but.. sel4 uses
"repo" to tie together projects that span multiple github
repos.  I'm really unclear on the proper workflow for
using repo. I would like to keep my local patches
(and be able to pull down updates from the master
repositories), and I would like to pick patches to
contribute back.  What would the normal flow for these
be?  Should I be forking each github project that I
work with and then fork a master "repo" project to
reference my versions, somehow?

Is there a good online guide that covers this?


Devel mailing list