# HG changeset patch # User Sean Farley # Date 1381353320 25200 # Node ID 6cc696179869b7cafda6321221840f3f3d0e6748 # Parent fc3fbca350853591c4d78bb7a15059533afdfa6f shelve: only save mq state if enabled Test coverage has been added. diff -r fc3fbca35085 -r 6cc696179869 hgext/shelve.py --- a/hgext/shelve.py Mon Oct 07 11:45:01 2013 -0700 +++ b/hgext/shelve.py Wed Oct 09 14:15:20 2013 -0700 @@ -156,11 +156,14 @@ # check modified, added, removed, deleted only for flist in repo.status(match=match)[:4]: shelvedfiles.extend(flist) - saved, repo.mq.checkapplied = repo.mq.checkapplied, False + hasmq = util.safehasattr(repo, 'mq') + if hasmq: + saved, repo.mq.checkapplied = repo.mq.checkapplied, False try: return repo.commit(message, user, opts.get('date'), match) finally: - repo.mq.checkapplied = saved + if hasmq: + repo.mq.checkapplied = saved if parent.node() != nullid: desc = parent.description().split('\n', 1)[0] diff -r fc3fbca35085 -r 6cc696179869 tests/test-shelve.t --- a/tests/test-shelve.t Mon Oct 07 11:45:01 2013 -0700 +++ b/tests/test-shelve.t Wed Oct 09 14:15:20 2013 -0700 @@ -438,3 +438,18 @@ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg bookmark * test 5:01ba9745dc5a + +shelve should still work even if mq is disabled + + $ hg --config extensions.mq=! shelve + shelved as test + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg --config extensions.mq=! shelve --list + test (1s ago) create conflict + $ hg --config extensions.mq=! unshelve + unshelving change 'test' + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 7 files + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved