annotate tools/converttags.sh @ 430:2851b81c65ce

maps: make sure AuthorMaps don't overwrite themselves, fix overriding Author maps for the Python repo got truncated because of the author map stupidly writing upon itself. This patch implements a better and faster scenario, where entries will only be written to the saved author map if they're not coming from that file. They're also now streamed into the file directly, instead of having to re-open the file on every entry, and formatting is preserved.
author Dirkjan Ochtman <dirkjan@ochtman.nl>
date Mon, 15 Jun 2009 16:09:27 +0200
parents 77892f67b1cd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
282
77892f67b1cd tools: bash script to convert tags as a stopgap until the tags refactor
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
1 #!/bin/bash
77892f67b1cd tools: bash script to convert tags as a stopgap until the tags refactor
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
2 # This shell script exists to convert hgsubversion tags to real hg tags.
77892f67b1cd tools: bash script to convert tags as a stopgap until the tags refactor
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
3 # This will go away once hgsubversion's tags handling uses .hgtags directly.
77892f67b1cd tools: bash script to convert tags as a stopgap until the tags refactor
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
4 hg tags | sed -E 's/([a-zA-Z0-9./_-]*) [^:]*:([a-f0-9]*)/\2 \1/' | grep -v ' tip$' > .hgtags
77892f67b1cd tools: bash script to convert tags as a stopgap until the tags refactor
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
5 cat .hgtags | sed "$(
77892f67b1cd tools: bash script to convert tags as a stopgap until the tags refactor
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
6 for x in `cat .hgtags| cut -f 1 -d ' '` ;do
77892f67b1cd tools: bash script to convert tags as a stopgap until the tags refactor
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
7 echo -n "s/$x/" ; hg log --template '{node}' -r $x ; echo -n '/g; '
77892f67b1cd tools: bash script to convert tags as a stopgap until the tags refactor
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
8 done)" > .hgtags.new
77892f67b1cd tools: bash script to convert tags as a stopgap until the tags refactor
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
9 mv .hgtags.new .hgtags