def METHOD_NAME(runner, project, tmpdir_factory):
    """Test saving local changes."""
    with (project.path / "tracked").open("w") as fp:
        fp.write("tracked file")
    result = runner.invoke(cli, ["save", "-m", "save changes", "tracked"], catch_exceptions=False)
    assert 1 == result.exit_code
    assert "No remote has been set up" in result.output
    path = str(tmpdir_factory.mktemp("remote"))
    Repository().initialize(path, bare=True)
    result = runner.invoke(cli, ["save", "-d", path, "tracked"], catch_exceptions=False)
    assert 0 == result.exit_code, format_result_exception(result)
    assert "tracked" in result.output
    assert "Saved changes to: tracked" in project.repository.head.commit.message
    project.repository.remotes.remove("origin")