summaryrefslogtreecommitdiff
path: root/git_refs.py
diff options
context:
space:
mode:
authorJoanna Wang <jojwang@google.com>2022-11-03 16:51:19 -0400
committerJoanna Wang <jojwang@google.com>2022-11-03 21:07:07 +0000
commita6c52f566acfbff5b0f37158c0d33adf05d250e5 (patch)
treed79d55b872c3be39c54dcb6ef41749c40d39ccf2 /git_refs.py
parent0d130d2da0754c546f654ede99a79aac2b8e6c5f (diff)
downloadgit-repo-a6c52f566acfbff5b0f37158c0d33adf05d250e5.tar.gz
git-repo-a6c52f566acfbff5b0f37158c0d33adf05d250e5.zip
Set tracing to always on and save to .repo/TRACE_FILE.
- add `--trace_to_stderr` option so stderr will include trace outputs and any other errors that get sent to stderr - while TRACE_FILE will only include trace outputs piggy-backing on: https://gerrit-review.googlesource.com/c/git-repo/+/349154 Change-Id: I3895a84de4b2784f17fac4325521cd5e72e645e2 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/350114 Reviewed-by: LaMont Jones <lamontjones@google.com> Tested-by: Joanna Wang <jojwang@google.com>
Diffstat (limited to 'git_refs.py')
-rw-r--r--git_refs.py57
1 files changed, 28 insertions, 29 deletions
diff --git a/git_refs.py b/git_refs.py
index 2d4a80906..300d2b308 100644
--- a/git_refs.py
+++ b/git_refs.py
@@ -67,38 +67,37 @@ class GitRefs(object):
self._LoadAll()
def _NeedUpdate(self):
- Trace(': scan refs %s', self._gitdir)
-
- for name, mtime in self._mtime.items():
- try:
- if mtime != os.path.getmtime(os.path.join(self._gitdir, name)):
+ with Trace(': scan refs %s', self._gitdir):
+ for name, mtime in self._mtime.items():
+ try:
+ if mtime != os.path.getmtime(os.path.join(self._gitdir, name)):
+ return True
+ except OSError:
return True
- except OSError:
- return True
- return False
+ return False
def _LoadAll(self):
- Trace(': load refs %s', self._gitdir)
-
- self._phyref = {}
- self._symref = {}
- self._mtime = {}
-
- self._ReadPackedRefs()
- self._ReadLoose('refs/')
- self._ReadLoose1(os.path.join(self._gitdir, HEAD), HEAD)
-
- scan = self._symref
- attempts = 0
- while scan and attempts < 5:
- scan_next = {}
- for name, dest in scan.items():
- if dest in self._phyref:
- self._phyref[name] = self._phyref[dest]
- else:
- scan_next[name] = dest
- scan = scan_next
- attempts += 1
+ with Trace(': load refs %s', self._gitdir):
+
+ self._phyref = {}
+ self._symref = {}
+ self._mtime = {}
+
+ self._ReadPackedRefs()
+ self._ReadLoose('refs/')
+ self._ReadLoose1(os.path.join(self._gitdir, HEAD), HEAD)
+
+ scan = self._symref
+ attempts = 0
+ while scan and attempts < 5:
+ scan_next = {}
+ for name, dest in scan.items():
+ if dest in self._phyref:
+ self._phyref[name] = self._phyref[dest]
+ else:
+ scan_next[name] = dest
+ scan = scan_next
+ attempts += 1
def _ReadPackedRefs(self):
path = os.path.join(self._gitdir, 'packed-refs')