feat: add hg support

add new option: vcs (default ='git', also supported 'hg')
this block could be combined into one since the only thing different is the exec command and fatal message