forked from android/architecture-samples
-
Notifications
You must be signed in to change notification settings - Fork 0
Development branches
JoseAlcerreca edited this page Mar 29, 2016
·
2 revisions
We use git branches to define the dependencies between different samples and make development easier.
- Every sample lives in its own branch like
todo-mvp
,todo-mvp-loaders
, etc. - Samples in development are prefixed with "dev-" like
dev-todo-mvp-futuresample
. - Big changes are created in feature branches like
dev-todo-mvp-tabletlayout
.
Except todo-mvp
, every sample depends on another sample. This is done so that changes to a sample can be replicated across its dependants.
Here's a dependency graph:
- todo-mvp
- todo-mvp-loaders
- todo-mvp-contentproviders
- todo-databinding
- todo-mvp-loaders
A change to todo-mvp must be merged into todo-mvp-loaders
and todo-databinding
so when this happens, the project maintainers will do something similar to:
$ git checkout todo-mvp-loaders
Make sure it's up-to-date:
$ git pull
Merge:
$ git merge origin/todo-mvp
This merge will probably contain conflicts. Remember that everything in androidTest*/
will probably have to be merged in, whereas classes under test/
are sample-specific.
$ git mergetool
# resolve, resolve, resolve
$ git commit
$ git push origin todo-mvp-loaders
After this, todo-mvp-contentproviders
can be merged with todo-mvp-loaders
.