summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Wasilczyk <twasilczyk@google.com>2023-12-08 13:42:17 -0800
committerLUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-12-08 23:08:46 +0000
commit4c80921d22c20a28d531c9e3e8a0ce4433c6509d (patch)
tree583b21bce8c6b6be7a078d02eb11569dc7321699
parentf56484c05b545b7b798e025971673f9593dcc51c (diff)
downloadgit-repo-4c80921d22c20a28d531c9e3e8a0ce4433c6509d.tar.gz
Don't log spam `repo sync` by defaultv2.40
Most times a repo sync after some time (week+) results in a bunch of messages, which are not very useful for average user: - discarding 1 commits - Deleting obsolete checkout. Bug: N/A Test: repo sync Change-Id: I881eab61f9f261e98f3656c09e73ddd159ce288c Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/397038 Reviewed-by: Josip Sokcevic <sokcevic@google.com> Commit-Queue: Josip Sokcevic <sokcevic@google.com> Tested-by: Tomasz Wasilczyk <twasilczyk@google.com>
-rw-r--r--project.py23
-rw-r--r--subcmds/sync.py14
2 files changed, 23 insertions, 14 deletions
diff --git a/project.py b/project.py
index 069cc712..d887a558 100644
--- a/project.py
+++ b/project.py
@@ -1467,7 +1467,12 @@ class Project:
1467 self.revisionId = revisionId 1467 self.revisionId = revisionId
1468 1468
1469 def Sync_LocalHalf( 1469 def Sync_LocalHalf(
1470 self, syncbuf, force_sync=False, submodules=False, errors=None 1470 self,
1471 syncbuf,
1472 force_sync=False,
1473 submodules=False,
1474 errors=None,
1475 verbose=False,
1471 ): 1476 ):
1472 """Perform only the local IO portion of the sync process. 1477 """Perform only the local IO portion of the sync process.
1473 1478
@@ -1548,7 +1553,7 @@ class Project:
1548 return 1553 return
1549 else: 1554 else:
1550 lost = self._revlist(not_rev(revid), HEAD) 1555 lost = self._revlist(not_rev(revid), HEAD)
1551 if lost: 1556 if lost and verbose:
1552 syncbuf.info(self, "discarding %d commits", len(lost)) 1557 syncbuf.info(self, "discarding %d commits", len(lost))
1553 1558
1554 try: 1559 try:
@@ -1738,7 +1743,7 @@ class Project:
1738 self.bare_git.rev_parse("FETCH_HEAD"), 1743 self.bare_git.rev_parse("FETCH_HEAD"),
1739 ) 1744 )
1740 1745
1741 def DeleteWorktree(self, quiet=False, force=False): 1746 def DeleteWorktree(self, verbose=False, force=False):
1742 """Delete the source checkout and any other housekeeping tasks. 1747 """Delete the source checkout and any other housekeeping tasks.
1743 1748
1744 This currently leaves behind the internal .repo/ cache state. This 1749 This currently leaves behind the internal .repo/ cache state. This
@@ -1747,7 +1752,7 @@ class Project:
1747 at some point. 1752 at some point.
1748 1753
1749 Args: 1754 Args:
1750 quiet: Whether to hide normal messages. 1755 verbose: Whether to show verbose messages.
1751 force: Always delete tree even if dirty. 1756 force: Always delete tree even if dirty.
1752 1757
1753 Returns: 1758 Returns:
@@ -1768,7 +1773,7 @@ class Project:
1768 logger.error(msg) 1773 logger.error(msg)
1769 raise DeleteDirtyWorktreeError(msg, project=self) 1774 raise DeleteDirtyWorktreeError(msg, project=self)
1770 1775
1771 if not quiet: 1776 if verbose:
1772 print(f"{self.RelPath(local=False)}: Deleting obsolete checkout.") 1777 print(f"{self.RelPath(local=False)}: Deleting obsolete checkout.")
1773 1778
1774 # Unlock and delink from the main worktree. We don't use git's worktree 1779 # Unlock and delink from the main worktree. We don't use git's worktree
@@ -3900,13 +3905,13 @@ class RepoProject(MetaProject):
3900class ManifestProject(MetaProject): 3905class ManifestProject(MetaProject):
3901 """The MetaProject for manifests.""" 3906 """The MetaProject for manifests."""
3902 3907
3903 def MetaBranchSwitch(self, submodules=False): 3908 def MetaBranchSwitch(self, submodules=False, verbose=False):
3904 """Prepare for manifest branch switch.""" 3909 """Prepare for manifest branch switch."""
3905 3910
3906 # detach and delete manifest branch, allowing a new 3911 # detach and delete manifest branch, allowing a new
3907 # branch to take over 3912 # branch to take over
3908 syncbuf = SyncBuffer(self.config, detach_head=True) 3913 syncbuf = SyncBuffer(self.config, detach_head=True)
3909 self.Sync_LocalHalf(syncbuf, submodules=submodules) 3914 self.Sync_LocalHalf(syncbuf, submodules=submodules, verbose=verbose)
3910 syncbuf.Finish() 3915 syncbuf.Finish()
3911 3916
3912 return ( 3917 return (
@@ -4437,10 +4442,10 @@ class ManifestProject(MetaProject):
4437 return False 4442 return False
4438 4443
4439 if manifest_branch: 4444 if manifest_branch:
4440 self.MetaBranchSwitch(submodules=submodules) 4445 self.MetaBranchSwitch(submodules=submodules, verbose=verbose)
4441 4446
4442 syncbuf = SyncBuffer(self.config) 4447 syncbuf = SyncBuffer(self.config)
4443 self.Sync_LocalHalf(syncbuf, submodules=submodules) 4448 self.Sync_LocalHalf(syncbuf, submodules=submodules, verbose=verbose)
4444 syncbuf.Finish() 4449 syncbuf.Finish()
4445 4450
4446 if is_new or self.CurrentBranch is None: 4451 if is_new or self.CurrentBranch is None:
diff --git a/subcmds/sync.py b/subcmds/sync.py
index b7236629..ac6a451b 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -956,12 +956,13 @@ later is required to fix a server side protocol bug.
956 956
957 return _FetchMainResult(all_projects) 957 return _FetchMainResult(all_projects)
958 958
959 def _CheckoutOne(self, detach_head, force_sync, project): 959 def _CheckoutOne(self, detach_head, force_sync, verbose, project):
960 """Checkout work tree for one project 960 """Checkout work tree for one project
961 961
962 Args: 962 Args:
963 detach_head: Whether to leave a detached HEAD. 963 detach_head: Whether to leave a detached HEAD.
964 force_sync: Force checking out of the repo. 964 force_sync: Force checking out of the repo.
965 verbose: Whether to show verbose messages.
965 project: Project object for the project to checkout. 966 project: Project object for the project to checkout.
966 967
967 Returns: 968 Returns:
@@ -975,7 +976,7 @@ later is required to fix a server side protocol bug.
975 errors = [] 976 errors = []
976 try: 977 try:
977 project.Sync_LocalHalf( 978 project.Sync_LocalHalf(
978 syncbuf, force_sync=force_sync, errors=errors 979 syncbuf, force_sync=force_sync, errors=errors, verbose=verbose
979 ) 980 )
980 success = syncbuf.Finish() 981 success = syncbuf.Finish()
981 except GitError as e: 982 except GitError as e:
@@ -1042,7 +1043,7 @@ later is required to fix a server side protocol bug.
1042 proc_res = self.ExecuteInParallel( 1043 proc_res = self.ExecuteInParallel(
1043 opt.jobs_checkout, 1044 opt.jobs_checkout,
1044 functools.partial( 1045 functools.partial(
1045 self._CheckoutOne, opt.detach_head, opt.force_sync 1046 self._CheckoutOne, opt.detach_head, opt.force_sync, opt.verbose
1046 ), 1047 ),
1047 all_projects, 1048 all_projects,
1048 callback=_ProcessResults, 1049 callback=_ProcessResults,
@@ -1288,7 +1289,7 @@ later is required to fix a server side protocol bug.
1288 groups=None, 1289 groups=None,
1289 ) 1290 )
1290 project.DeleteWorktree( 1291 project.DeleteWorktree(
1291 quiet=opt.quiet, force=opt.force_remove_dirty 1292 verbose=opt.verbose, force=opt.force_remove_dirty
1292 ) 1293 )
1293 1294
1294 new_project_paths.sort() 1295 new_project_paths.sort()
@@ -1533,7 +1534,10 @@ later is required to fix a server side protocol bug.
1533 syncbuf = SyncBuffer(mp.config) 1534 syncbuf = SyncBuffer(mp.config)
1534 start = time.time() 1535 start = time.time()
1535 mp.Sync_LocalHalf( 1536 mp.Sync_LocalHalf(
1536 syncbuf, submodules=mp.manifest.HasSubmodules, errors=errors 1537 syncbuf,
1538 submodules=mp.manifest.HasSubmodules,
1539 errors=errors,
1540 verbose=opt.verbose,
1537 ) 1541 )
1538 clean = syncbuf.Finish() 1542 clean = syncbuf.Finish()
1539 self.event_log.AddSync( 1543 self.event_log.AddSync(