diff options
| author | Joanna Wang <jojwang@google.com> | 2022-11-03 16:51:19 -0400 |
|---|---|---|
| committer | Joanna Wang <jojwang@google.com> | 2022-11-03 21:07:07 +0000 |
| commit | a6c52f566acfbff5b0f37158c0d33adf05d250e5 (patch) | |
| tree | d79d55b872c3be39c54dcb6ef41749c40d39ccf2 /git_refs.py | |
| parent | 0d130d2da0754c546f654ede99a79aac2b8e6c5f (diff) | |
| download | git-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.py | 57 |
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') |
