aboutsummaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authorW. Trevor King <wking@tremily.us>2017-10-10 15:49:51 -0700
committerDavid Bremner <david@tethera.net>2017-12-11 09:07:09 -0400
commit7ef3b65376b87829441736f04b3231021f561d84 (patch)
tree6eaa873be8f7a71ee2423f3e74cee9b35f94e0be /devel
parent0a1558471f70ec8591c9d40808d1ffd930742054 (diff)
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, ...
Diffstat (limited to 'devel')
-rwxr-xr-xdevel/nmbug/nmbug9
1 files changed, 8 insertions, 1 deletions
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):