Hello,
Was writing conversion script from CVS to git for my repo and noticed slight inconsistency in git-tag, git-branch, and git-update-ref behavior:
$ git --version git version 1.9.3 $ git tag -d && echo success success $ git branch -d && echo success fatal: branch name required $ git update-ref -d && echo success usage: git update-ref [options] -d <refname> [<oldval>] or: git update-ref [options] <refname> <newval> [<oldval>] or: git update-ref [options] --stdin [-z]
-m <reason> reason of the update
-d delete the reference
--no-deref update <refname> not the one it points to
-z stdin has NUL-terminated arguments
--stdin read updates from stdinNoticed when used xargs without -r switch, like this:
git for-each-ref --format="%(refname)" "refs/tags/*-merge" | xargs -n 1 git update-ref -d
-- Sergey.