In my
current workplace we use Subversion as the main VCS. I use Mercurial on top of it to get easy feature branches. My problem was that we use svn patches in our review process, and mercurial (
hg diff -r default) gave me different format patches. The solution (as suggested by durin42 on #mercurial) was to use
hgsubversion.
After installing hgsubversion using
pip (or
easy_install), you need to add it to your ~/.hgrc:
[extensions]
hgsubversion =
Then you can create patches using "
hg diff -svn -r default", I use the following
genpatch script for that:
#!/bin/bash
# Generate svn style diff for current hg feature branch
branch=$(hg branch)
if [ -z $branch ]; then
echo "error: not a mercurial repo" 1>&2
exit 1
fi
if [ "$branch" == "default" ]; then
echo "error: in default branch" 1>&2
exit 1
fi
hg diff --svn -r default > ${branch}.patch