I am trying to setup a build trigger for TeamCity using Mercurial as the VCS. Right now the trigger looks like:
+:/**
This trigger get fire
Adding the trigger pattern:
-:/.hgtags
filters out the .hgtags file from the build trigger. This is the file that gets modified when the source is tagged by TeamCity. When this file is excluded tagging operations will not fire the build trigger.
Teamcity and the syntax above are foreign to me, but if you've got scripting capabilities you can check if a changeset is a tag-only changeset by doing something like this:
if [ "$(hg log -r tip --template '{files}')" = '.hgtags' ]; then
echo tag only
else
echo other stuff too
fi
Just swap out tip
for whatever changeset you're about to act on, and change the echo statements to an exit
, a make
, or a hg tag
as appropriate to either skip the build or just skip the creating of a new tag if the last changeset was only a tag.