From 53db6ee308661b43ee738443e0be23b1485c99be Mon Sep 17 00:00:00 2001 From: Rob Browning Date: Sat, 17 Dec 2016 14:40:02 -0600 Subject: [PATCH] git.cp(): don't repeatedly recompute default repo Before, bup would end up calling repo() for every invocation of cp(). Given that constructions like cp().get(id) are common, this could cause a lot of unecessary calls, given that we already have git.repodir, which will have the relevant value once initialized. Discovered after noticing "bup restore" was hammering "$BUP_DIR"/.git (which didn't exist). Signed-off-by: Rob Browning Tested-by: Rob Browning --- lib/bup/git.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/bup/git.py b/lib/bup/git.py index fc9eb39..31ae342 100644 --- a/lib/bup/git.py +++ b/lib/bup/git.py @@ -22,7 +22,7 @@ max_pack_objects = 200*1000 # cache memory usage is about 83 bytes per object verbose = 0 ignore_midx = 0 -repodir = None +repodir = None # The default repository, once initialized _typemap = { 'blob':3, 'tree':2, 'commit':1, 'tag':4 } _typermap = { 3:'blob', 2:'tree', 1:'commit', 4:'tag' } @@ -1228,9 +1228,9 @@ _cp = {} def cp(repo_dir=None): """Create a CatPipe object or reuse the already existing one.""" - global _cp + global _cp, repodir if not repo_dir: - repo_dir = repo() + repo_dir = repodir or repo() repo_dir = os.path.abspath(repo_dir) cp = _cp.get(repo_dir) if not cp: -- 2.39.2