mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
Enable tracing of ref scans and config unpickling
These are not as expensive as spawning a git command, but they are not free either. We want to keep track of how many times we wind up calling them on any particular operation. Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
parent
0f3dd233ec
commit
b81ac9e654
@ -19,7 +19,7 @@ import re
|
||||
import sys
|
||||
from urllib2 import urlopen, HTTPError
|
||||
from error import GitError, UploadError
|
||||
from git_command import GitCommand
|
||||
from git_command import GitCommand, TRACE
|
||||
|
||||
R_HEADS = 'refs/heads/'
|
||||
R_TAGS = 'refs/tags/'
|
||||
@ -189,6 +189,8 @@ class GitConfig(object):
|
||||
except OSError:
|
||||
return None
|
||||
try:
|
||||
if TRACE:
|
||||
print >>sys.stderr, ': unpickle %s' % self.file
|
||||
return cPickle.load(open(self._pickle, 'r'))
|
||||
except IOError:
|
||||
os.remove(self._pickle)
|
||||
|
@ -14,6 +14,8 @@
|
||||
# limitations under the License.
|
||||
|
||||
import os
|
||||
import sys
|
||||
from git_command import TRACE
|
||||
|
||||
HEAD = 'HEAD'
|
||||
R_HEADS = 'refs/heads/'
|
||||
@ -63,6 +65,8 @@ class GitRefs(object):
|
||||
self._LoadAll()
|
||||
|
||||
def _NeedUpdate(self):
|
||||
if TRACE:
|
||||
print >>sys.stderr, ': scan refs %s' % self._gitdir
|
||||
for name, mtime in self._mtime.iteritems():
|
||||
try:
|
||||
if mtime != os.path.getmtime(os.path.join(self._gitdir, name)):
|
||||
@ -72,6 +76,8 @@ class GitRefs(object):
|
||||
return False
|
||||
|
||||
def _LoadAll(self):
|
||||
if TRACE:
|
||||
print >>sys.stderr, ': load refs %s' % self._gitdir
|
||||
self._phyref = {}
|
||||
self._symref = {}
|
||||
self._mtime = {}
|
||||
|
Loading…
Reference in New Issue
Block a user