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