]> git.donarmstrong.com Git - zsh.git/commitdiff
initial checkin of gitpub script/function
authormartin f. krafft <madduck@madduck.net>
Sun, 1 Mar 2009 17:29:06 +0000 (18:29 +0100)
committermartin f. krafft <madduck@madduck.net>
Sun, 1 Mar 2009 17:29:06 +0000 (18:29 +0100)
Signed-off-by: martin f. krafft <madduck@madduck.net>
.zsh/func/gitpub [new file with mode: 0755]

diff --git a/.zsh/func/gitpub b/.zsh/func/gitpub
new file mode 100755 (executable)
index 0000000..b047537
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# func/gitpub
+#
+# a convenient way to publicise a Git repository
+#
+# Copyright © 2008–2009 martin f. krafft <madduck@madduck.net>
+# Released under the terms of the Artistic Licence 2.0
+#
+# Source repository: git://git.madduck.net/etc/zsh.git
+#
+
+local oldpwd gitdir dest description tmpdir
+oldpwd="$PWD"
+gitdir="$(git rev-parse --git-dir)"
+dest="$1"; shift
+description="$@"
+tmpdir="$(mktemp -d ${0##*/}.XXXXXX)"
+trap "rm -rf $PWD/$tmpdir" EXIT
+
+cp -lr "$gitdir" "$tmpdir/gitdir"
+
+builtin cd "$tmpdir/gitdir"
+
+chmod -R a+rX .
+
+git config core.bare true
+git config core.sharedrepository 2
+git config receive.denyNonFastforwards true
+
+echo "$description" >| description
+
+cd "$oldpwd"
+
+scp -r "$tmpdir/gitdir" "$dest"