== git subrepo clone git@genius --branch=bob ext/genius

- create orphan branch repo/genius
- fetch git@genius --branch=bob
- create local branch repo/genius
- checkout repo/genius into ext/genius
- SYNC-DANCE:
  - add ext/genius/.gitrepo
  - commit the add and prune the commit
  - merge the pruned commit into mianline

== git subrepo pull ext/genius

- checkout ext/genius
- fetch git@genius --branch=bob
- merge/rebase FETCH_HEAD
- commit if merge successful
- checkout original branch
- SYNC-DANCE

== git subrepo branch ext/genius
- filter-branch subdir ext/genius
- filter-branch 'rm .gitrepo'
- add parent of original
- name the commit subrepo/ext/genius

== git subrepo checkout ext/genius
- subrepo branch ext/genius
- checkout subrepo/ext/genius

== git subrepo push ext/genius
- subrepo branch ext/genius
- checkout repo/genius
- merge/rebase subrepo/ext/genius
- push repo/genius git@genius/bob
- checkout original


= Commands =

git subrepo clone git@github.com:ingydotnet/bashplus.git
git subrepo clone git@github.com:ingydotnet/bashplus.git ext/bashplus
git subrepo clone git@github.com:ingydotnet/bashplus.git --branch=devel
git subrepo clone git@github.com:ingydotnet/bashplus.git --reclone


git subrepo pull git@github.com:ingydotnet/bashplus.git
git subrepo pull git@github.com:ingydotnet/bashplus.git --branch=master
git subrepo pull git@github.com:ingydotnet/bashplus.git --rebase

git subrepo branch ext/bashplus         # create refs/heads/subrepo/ext/bashplus

git subrepo checkout ext/bashplus

git subrepo push ext/bashplus


