bumpversion icon indicating copy to clipboard operation
bumpversion copied to clipboard

bumpversion crash when mercurial (`hg`) is not installed

Open dankeder opened this issue 8 years ago • 2 comments

Description

Bumpversion crashes when Mercurial is not installed (there's no command hg in $PATH).

How to reproduce

» bumpversion                                                                                                                                                                                                                                                        
Traceback (most recent call last):
  File "/home/dan/programs/python36-env/bin/bumpversion", line 11, in <module>
    sys.exit(main())
  File "/home/dan/programs/python36-env/lib/python3.6/site-packages/bumpversion/__init__.py", line 658, in main
    if vcs.is_usable():
  File "/home/dan/programs/python36-env/lib/python3.6/site-packages/bumpversion/__init__.py", line 83, in is_usable
    stdout=subprocess.PIPE
  File "/usr/lib64/python3.6/subprocess.py", line 267, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib64/python3.6/subprocess.py", line 707, in __init__
    restore_signals, start_new_session)
  File "/usr/lib64/python3.6/subprocess.py", line 1326, in _execute_child
    raise child_exception_type(errno_num, err_msg)
PermissionError: [Errno 13] Permission denied

Expected behaviour

Bumpversion should continue with the next VCS backend. If no VCS is detected it should report this fact to the user.

Update: It only happens with python3. In python2, it works.

dankeder avatar May 02 '17 08:05 dankeder

I encountered and fixed the same issue on my local system. See #204 for a fix.

BTW. I experienced this issue on Python 2.7 on Linux.

lowell80 avatar Jun 06 '19 13:06 lowell80

Since this repo seems to be no longer maintained; I submitted the same fix to the bump2version team over at https://github.com/c4urself/bump2version/. Prior to this I didn't realize a fork had occurred. Note that both are available as bumpversion on the CLI, so it's a drop-in replacement.

Hopefully this note saves someone else some time.

lowell80 avatar Jun 21 '19 18:06 lowell80