def git_rebase(upstream_branch, directory=None):
    """
    Not currently used, because the more explicit merge must be used
    when trimming is done.

    For example:
        Upstream @ 1.0:
            foo/
                foo.rst
            bar/
                bar.rst

        release/foo @ 1.0:
            foo.rst

        release/bar @ 1.0:
            bar.rst

        Then... @ upstream update

        Upstream @ 1.1:
            LICENSE.txt
            foo/
                foo.rst
            bar/
                bar.rst

        release/foo @ 1.1:
            LICENSE.txt
            foo.rst

        release/bar @ 1.1:
            LICENSE.txt
            bar.rst

    The LICENSE.txt survives because the original trim patches do not contain
    a removal of LICENSE.txt in the diff (the trim patches are explicit)
    """
    raise NotImplementedError('bloom.commands.git.patch.rebase_cmd.git_rebase')
