view tools/converttags.sh @ 313:942f198b8ff5

hg_delta_editor: detect new branches issued from non-branch directories This fix solves the following case: let's /dumb/layout/project be an existing project. To normalize the trunk/branches/tags layout, people may do: $ mkdir /project $ mv /dumb/layout/project /project/project # Oups, should have been trunk! $ mv /project/project /project/trunk trunk creation was ignore because: - update_branch_map() sees it come from a non-branch copy source and ignores it (case #3). - since it is not in self.branches, add_directory() ignores the non-existing path. Then trunk is left uninitialized. To solve this, we allow update_branch_map() to detect branches copied from non-canonical locations.
author Patrick Mezard <pmezard@gmail.com>
date Sun, 03 May 2009 21:42:42 -0500
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