Subject: [PATCH] Ability to automaticaly push tags to remote repositories.

From: Krzysiek Pawlik <[email-masked]>
Date: Thu, 30 Mar 2006 14:56:02 +0200

- From `cg-push --long-help`:

- -t TAG::
        Tells cg-push to also push the given tag. Note that in the
        future, cg-push should push tags automatically. Also note
        that even if you pass `cg-push` the '-t' arguments, your
        HEAD is still pushed as well in addition to the tags.

One of possible ways of doing it is in attached patch. Comments,
suggestions?

- --
Krzysiek Pawlik (Nelchael)
RLU #322999 GPG Key ID: 0xBC555551
Ability to automaticaly push tags to remote repositories.

---
commit 6e581cf43ccf7236ea47ac4ba9b51df9cda3c671
tree b440cb8e4629c5c77e38fb6179992b52edf8c861
parent 891c6d85f38a326e91d62906e1696a38d28fb105
author Krzysiek Pawlik <[email-masked]> Thu, 30 Mar 2006 14:48:36 +0200
committer Krzysiek Pawlik <[email-masked]> Thu, 30 Mar 2006 14:48:36 +0200

 cg-push |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/cg-push b/cg-push
index 4332b28..865cbd5 100755
--- a/cg-push
+++ b/cg-push
@@ -43,17 +43,32 @@ send_pack_update()
 
 locbranch="$_git_head"
 tags=()
+auto_push_tags=yes
 while optparse; do
 	if optparse -r=; then
 		locbranch="$OPTARG"
 		[ "$(cg-object-id -c "$locbranch")" ] || exit 1
 	elif optparse -t=; then
 		tags[${#tags[@]}]="refs/tags/$OPTARG"
+		auto_push_tags=no
 	else
 		optfail
 	fi
 done
 
+if [ "${auto_push_tags}" = "yes" ]; then
+	if [ ! -d "$_git/cogito-tags-pushed" ]; then
+		mkdir "$_git/cogito-tags-pushed" || die "can't create cache for pushed tags"
+	fi
+	for i in `cg-tag-ls | awk '{print $1}'`; do
+		if [ ! -f "$_git/cogito-tags-pushed/${i}" ]; then
+			echo "Adding ${i} to list of tags to push"
+			tags[${#tags[@]}]="refs/tags/${i}"
+			touch "$_git/cogito-tags-pushed/${i}"
+		fi
+	done
+fi
+
 [ ${#ARGS[@]} -gt 1 ] && die "too many arguments, I can push only one branch at once"
 name="${ARGS[0]}"


!-------------------------------------------------------------flip-