Mercurial > hgsubversion
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