|
@@ -3,11 +3,21 @@
|
|
|
version="1.0"
|
|
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
|
>
|
|
|
+ <xsl:param name="DARCS" select="'/usr/local/bin/darcs'"/>
|
|
|
+ <xsl:param name="GIT" select="'/usr/local/bin/git'"/>
|
|
|
<xsl:param name="TMPDIR" select="'/tmp/darcs2git/'"/>
|
|
|
|
|
|
<xsl:output method="text"/>
|
|
|
|
|
|
<xsl:template match="/patches|/changelog">
|
|
|
+ <xsl:text>DARCS="</xsl:text>
|
|
|
+ <xsl:value-of select="$DARCS"/>
|
|
|
+ <xsl:text>"
|
|
|
+</xsl:text>
|
|
|
+ <xsl:text>GIT="</xsl:text>
|
|
|
+ <xsl:value-of select="$GIT"/>
|
|
|
+ <xsl:text>"
|
|
|
+</xsl:text>
|
|
|
<xsl:text>TMPDIR="</xsl:text>
|
|
|
<xsl:value-of select="$TMPDIR"/>
|
|
|
<xsl:text>"
|
|
@@ -20,7 +30,7 @@ rm -rf $TMPDIR
|
|
|
</xsl:template>
|
|
|
|
|
|
<xsl:template match="patch">
|
|
|
- <xsl:text>darcs pull --all --quiet --matches="hash </xsl:text>
|
|
|
+ <xsl:text>$DARCS pull --all --quiet --matches="hash </xsl:text>
|
|
|
<xsl:value-of select="@hash"/>
|
|
|
<xsl:text>" --posthook=': > '"${TMPDIR}darcs_files.txt"' ; for fnl in "$DARCS_FILES" ; do echo -n "$fnl" >> '"${TMPDIR}darcs_files.txt"' ; done' || exit 1
|
|
|
sed -E -e 's%^\./%%' ${TMPDIR}darcs_files.txt | \
|
|
@@ -28,10 +38,11 @@ sed -E -e $'s%(\\$|`|"|\\\\)%\\\\\\1%g' \
|
|
|
-e $'s%\'%\"\'\"%g' | \
|
|
|
awk '{ printf " \"%s\"", $0 }' \
|
|
|
> ${TMPDIR}darcs_files.args
|
|
|
-{ echo -n "git add --all" ; cat ${TMPDIR}darcs_files.args ; } > ${TMPDIR}git-add.sh
|
|
|
+{ echo -n "$GIT add --all" ; cat ${TMPDIR}darcs_files.args ; } > ${TMPDIR}git-add.sh
|
|
|
sh -x ${TMPDIR}git-add.sh || exit 1
|
|
|
-cat > ${TMPDIR}git_commit.cmd << '-EOF-'
|
|
|
-git commit --allow-empty -m !:&#_</xsl:text>
|
|
|
+echo -n "$GIT commit --allow-empty -m " > ${TMPDIR}git_commit.cmd
|
|
|
+cat >> ${TMPDIR}git_commit.cmd << '-EOF-'
|
|
|
+!:&#_</xsl:text>
|
|
|
<xsl:value-of select="name"/>
|
|
|
<xsl:text>!:&#_ -m !:&#_</xsl:text>
|
|
|
<xsl:value-of select="comment"/>
|