One interesting aspect of working at Mozilla is that Firefox lives in a mercurial repository while several other projects live on GitHub in a git repository. While most focus on either Firefox or another project, I switch between both, leaving me running
git commands inside the mercurial repository and
hg commands inside git repos. It’s a frustration that I’ve lived with for a while so I sought to find a unified way of completing common tasks.
The first step was learning to detect git from command line:
if git rev-parse --git-dir > /dev/null 2>&1; then # git repo! else # NOT a git repo! fi
if statement above detects a git repository, the
else means the current directory is not inside a git repo.