annotate 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
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