mirror of
https://gerrit.googlesource.com/git-repo
synced 2026-11-15 16:57:11 +00:00
project: fix Project.HasChanges API mismatches
The base Project class defined HasChanges as a function, but the MetaProject & RepoProject subclasses defined it as a property. Obviously this is bad & confusing, so standardize it. Change-Id: Ia3ac9d0592307366296b8ef991dc5d7bb2204490 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/656723 Reviewed-by: Brian Gan <brgan@google.com> Commit-Queue: Mike Frysinger <vapier@google.com> Tested-by: Mike Frysinger <vapier@google.com>
This commit is contained in:
1 parent
13fe1b9d84
commit
f9a1895400
4 files changed
+8
-6
No files matched your search
+2
-1
@@ -1211,6 +1211,7 @@ class Project:
|
||||
"""Returns a list of strings, untracked files in the git tree."""
|
||||
return self.work_git.LsOthers()
|
||||
|
||||
@property
|
||||
def HasChanges(self) -> bool:
|
||||
"""Returns true if there are uncommitted changes."""
|
||||
return bool(self.UncommittedFiles(get_all=False))
|
||||
@@ -5826,7 +5827,7 @@ class MetaProject(Project):
|
||||
return False
|
||||
|
||||
@property
|
||||
def HasChanges(self):
|
||||
def HasChanges(self) -> bool:
|
||||
"""Has the remote received new commits not yet checked out?"""
|
||||
if not self.remote or not self.revisionExpr:
|
||||
return False
|
||||
|
||||
+1
-1
@@ -98,7 +98,7 @@ Examples:
|
||||
)
|
||||
|
||||
try:
|
||||
if project.HasChanges():
|
||||
if project.HasChanges:
|
||||
uncommitted_projects.append(project.name)
|
||||
except error.GitError:
|
||||
uncommitted_projects.append(f"{project.name} (corrupted)")
|
||||
|
||||
@@ -838,7 +838,7 @@ class ProjectTests(unittest.TestCase):
|
||||
proj._GetStatusSnapshot = mock.MagicMock(return_value=status)
|
||||
proj.IsRebaseInProgress = mock.MagicMock(return_value=True)
|
||||
|
||||
self.assertTrue(proj.HasChanges())
|
||||
self.assertTrue(proj.HasChanges)
|
||||
self.assertEqual(
|
||||
["rebase in progress"], proj.UncommittedFiles(get_all=False)
|
||||
)
|
||||
|
||||
@@ -35,7 +35,10 @@ def _create_mock_project(tempdir, name, objdir_path=None, has_changes=False):
|
||||
os.makedirs(gitdir, exist_ok=True)
|
||||
os.makedirs(objdir, exist_ok=True)
|
||||
|
||||
proj = project.Project(
|
||||
class MockProject(project.Project):
|
||||
HasChanges = mock.PropertyMock(return_value=has_changes)
|
||||
|
||||
proj = MockProject(
|
||||
manifest=mock.MagicMock(),
|
||||
name=name,
|
||||
remote=mock.MagicMock(),
|
||||
@@ -47,8 +50,6 @@ def _create_mock_project(tempdir, name, objdir_path=None, has_changes=False):
|
||||
revisionId="abcd",
|
||||
)
|
||||
|
||||
proj.HasChanges = mock.MagicMock(return_value=has_changes)
|
||||
|
||||
def side_effect_delete_worktree(force=False, verbose=False):
|
||||
if os.path.exists(proj.worktree):
|
||||
shutil.rmtree(proj.worktree)
|
||||
|
||||
Reference in new issue
Block a user