-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgit-mkrepo
executable file
·41 lines (36 loc) · 935 Bytes
/
git-mkrepo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
usage()
{
echo 'Usage: git mkrepo REPOSITORYNAME [-p <private?>] [-d "DESCRIPTION"] [-u http://HOMEPAGE] [-r SSH<default>|HTTP]'
}
if [[ ! -z "$1" || ! "$1" -eq "-" ]];
then
REPO=$1
DATA="\"name\":\"$REPO\""
# Ignore first argument
OPTIND=2
REMOTE=SSH
while getopts ":pd:u:" OPT; do
echo $OPTIND
echo $OPT
case $OPT in
p) DATA="$DATA,\"private\":true"; echo $DATA;;
d) DATA="$DATA,\"description\":\"$OPTARG\"";;
u) DATA="$DATA,\"homepage\":\"$HOMEPAGE\"";;
r) REMOTE=$OPTARG;;
\?)
usage
exit 1
;;
esac
done
DATA="{$DATA}"
echo "POST: $DATA"
curl --netrc --data "$DATA" "https://api.github.com/user/repos"
[[ "$REMOTE" -eq "HTTP" ]] && REMOTEURL="https://github.com/$USERNAME/$REPO"
[[ "$REMOTE" -eq "SSH" ]] && REMOTEURL="[email protected]:$USERNAME/$REPO.git"
mkdir $REPO
cd $REPO && git init && git remote add origin $REMOTEURL
else
usage
fi