X-Git-Url: https://arthur.barton.de/gitweb/?p=bup.git;a=blobdiff_plain;f=cmd%2Fserver-cmd.py;h=853ab7f13d386e5b6cf5edda8311924c313bf6df;hp=a60bf2305eefaa1b9e5693a52affdb34628e4d91;hb=5962b7ec9412d7130a1367d0e8f952826bb7f850;hpb=17f54bbc5ec73bbd341a2ac56e026f62b2f50714 diff --git a/cmd/server-cmd.py b/cmd/server-cmd.py index a60bf23..853ab7f 100755 --- a/cmd/server-cmd.py +++ b/cmd/server-cmd.py @@ -12,11 +12,12 @@ from bup import options, git from bup.git import MissingObject from bup.helpers import (Conn, debug1, debug2, linereader, lines_until_sentinel, log) +from bup.repo import LocalRepo suspended_w = None dumb_server_mode = False - +repo = None def do_help(conn, junk): conn.write('Commands:\n %s\n' % '\n '.join(sorted(commands))) @@ -31,9 +32,15 @@ def _set_mode(): def _init_session(reinit_with_new_repopath=None): + global repo if reinit_with_new_repopath is None and git.repodir: + if not repo: + repo = LocalRepo() return git.check_repo_or_die(reinit_with_new_repopath) + if repo: + repo.close() + repo = LocalRepo() # OK. we now know the path is a proper repository. Record this path in the # environment so that subprocesses inherit it and know where to operate. os.environ['BUP_DIR'] = git.repodir