Fixing for hg 2.9
Merge pull request #22 from TracyWebTech/master

Not using branchtags
checking for - and converting - backslashes
Revert "Make bashism conditional on the shell being bash"

This reverts commit aaccfba9a0cfcfdd4db1e629b50d65b1c479b64f.
Revert "Don't ignore hg-fast-export.py exit code"

This reverts commit 9643aa5df2e14e01867bc4266958b8c8081c3377.
hg-fast-export.sh: Do not ignore hg-fast-export.py exit code

Originally 9643aa5d did this by using a bashism even though the
/bin/sh interpreter is being used.

Then ea55929e attempted to compensate for this by disabling the
bashism when the interpreter was not actually bash which results
in the hg-fast-export.py exit code still being ignored in that case.

Instead check the error code without requiring a bashism.
hg-fast-export.py: restore compatibility with older python

Since hg runs and supports older versions of python, hg-fast-export.py
should too.  Replace dictionary comprehension with equivalent code that
supports versions of python older than 2.7.
hg-fast-export.py: support older hg versions

Do not use the closesbranch function as it was added in later
versions of hg.  Use its definition instead.
hg-fast-export.py: do not lose file mode changes

If the file mode changes (for example from 10644 to 10755), but the
actual text of the file itself does not, then the change could be
missed since the hashes would remain the same.

If the hashes match, also compare the gitmode values before deciding
the file is unchanged.
hg-fast-export: support new --hgtags option

Add support for a new --hgtags option.  When given, any .hgtags
files that may be present are exported.

Normally this is not desirable.  However, when attempting to mimic
the actions of other hg exporters that always export any .hgtags
files this option can help produce matching export data.
hg-fast-export.sh: clean up help text and support --help

Intercept -h/--help before git-sh-setup so the proper script name
can be shown instead of "hg fast-export.sh" which is wrong.

Reorder the long option descriptions to be in the same order as
the short usage since, as the help says, "argument order matters."
hg-fast-export.py: improve authors file compatibility

The authors file format accepted by git-svnimport and git-cvsimport
actually allows blank lines and comment lines that start with '#'.

Ignore blank lines and lines starting with '#' as the first
non-whitespace character to be compatible with the authors file
format accepted by the referenced tools.
Merge pull request #23 from ritcheyer/master

checking for - and converting - backslashes

Thank you for your contribution!
hg-fast-export.py: do not sort merge commit parents

In a merge commit, the first parent is always the same parent that
would be recorded if the commit were not a merge and the other
parent(s) record the commit(s) being merged in.

Preserving this order is important so that log --first-parent works
properly and also so that the merge history is not distorted by an
incorrect permutation of the DAG.

Remove the code that sorts the merge parents based on node id so
that the correct DAG order is preserved.
hg-fast-export.sh/hg-reset.sh: replace egrep with grep

According to the POSIX standard, egrep is an obsolescent equivalent
of grep -E.  In fact, the patterns actually being used with egrep do
not require use of extended regular expressions at all, so a plain
'grep' can be used rather than 'grep -E'.

Replace egrep with grep to improve compatibility across systems.
Annotate commits with the hg hash as git notes in the hg namespace

If the --hg-hash argument is given, the converted commits are
annotated with the original hg hash as a git note in the "hg"
namespace.

The notes can be shown by git log using the "--notes=hg" argument.