view tools/converttags.sh @ 342:76c833526fbc

Use fallbacks in the wrappers for Subversion support, instead of prefixes. The change only applies to the ambiguous URL schemes: file, http and https. The others - svn+ssh and svn - behave the same as previously. For http and https, the wrapping is implemented in 'svnrepo.py': Only when the attempt to create a httprepo instance fails, will the URL be considered for Subversion URL. For file, the ambiguity is treated much like the Mercurial core distinguishes bundle and directories. In this case, a directory that looks like a Subversion repository will *not* be considered for a Mercurial clone. Tthe command lines are more similar to before this refactor. The only option added to push & pull is --stupid; others are only added to clone. Any of these options specified to clone will be added to the generated '.hgrc'. Also, the -r/--rev option now works for clone & push.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Wed, 20 May 2009 18:38:01 +0200
parents 77892f67b1cd
children
line wrap: on
line source

#!/bin/bash
# This shell script exists to convert hgsubversion tags to real hg tags.
# This will go away once hgsubversion's tags handling uses .hgtags directly.
hg tags | sed -E 's/([a-zA-Z0-9./_-]*) [^:]*:([a-f0-9]*)/\2 \1/' | grep -v ' tip$' > .hgtags
cat .hgtags | sed "$(
for x in `cat .hgtags| cut -f 1 -d ' '` ;do
    echo -n "s/$x/" ; hg log --template '{node}' -r $x ; echo -n '/g; '
done)" > .hgtags.new
mv .hgtags.new .hgtags