From: W. Trevor King Date: Tue, 10 Oct 2017 22:49:51 +0000 (-0700) Subject: nmbug: Auto-checkout in clone if it wouldn't clobber X-Git-Tag: 0.26_rc0~31 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=7ef3b65376b87829441736f04b3231021f561d84 nmbug: Auto-checkout in clone if it wouldn't clobber We currently auto-checkout after pull and merge to make those more convenient. They're guarded against data-loss with a leading _insist_committed(). This commit adds the same convenience to clone, since in most cases users will have no NMBPREFIX-prefixed tags in their database when they clone. Users that *do* have NMBPREFIX-prefixed tags will get a warning (and I've bumped the default log level to warning so folks who don't set --log-level will see it) like: $ nmbug clone http://nmbug.notmuchmail.org/git/nmbug-tags.git Cloning into '/tmp/nmbug-clone.g9dvd0tv'... Checking connectivity: 16674, done. Branch config set up to track remote branch config from origin. Not checking out to avoid clobbering existing tags: notmuch::0.25, ... --- diff --git a/devel/nmbug/nmbug b/devel/nmbug/nmbug index c0e7c3c6..0cd91148 100755 --- a/devel/nmbug/nmbug +++ b/devel/nmbug/nmbug @@ -54,7 +54,7 @@ except ImportError: # Python 2 __version__ = '0.2' _LOG = _logging.getLogger('nmbug') -_LOG.setLevel(_logging.ERROR) +_LOG.setLevel(_logging.WARNING) _LOG.addHandler(_logging.StreamHandler()) NMBGIT = _os.path.expanduser( @@ -311,6 +311,13 @@ def clone(repository): _git(args=['config', '--unset', 'core.worktree'], wait=True, expect=(0, 5)) _git(args=['config', 'core.bare', 'true'], wait=True) _git(args=['branch', 'config', 'origin/config'], wait=True) + existing_tags = get_tags() + if existing_tags: + _LOG.warning( + 'Not checking out to avoid clobbering existing tags: {}'.format( + ', '.join(existing_tags))) + else: + checkout() def _is_committed(status):