The command ./clone.py someBranch -f fallback does the following:
- if someBranch is a tag, checkout it
- else if someBranch does not exist locally
- if someBranch exists remotely, checkout and track it
- else checkout fallback (recursive call to the same logic)
- else checkout local someBranch and rebase with its remote
This will fail if someBranch was created locally and not yet pushed.
=> rebase only if the remote exists