20 April 2009
This post may be outdated due to it was written on 2009. The links may be broken. The code may be not working anymore. Leave comments if needed.
well, App::GitHub is a command line tool wrapped by Net::GitHub.

for a brief view:
$> github.pl

Welcome to GitHub Command Tools! (Ver: 0.04)
Type '?' or 'h' for help.

github> ?
command argument description
repo :user :repo set owner/repo, eg: 'fayland perl-app-github'
login :login :token authenticated as :login
loadcfg authed by git config --global github.user|token
?,h help
q,exit,quit exit

Repos
rshow more in-depth information for the :repo in repo
rlist list out all the repositories for the :user in repo
rsearch WORD Search Repositories
watch watch repositories (authentication required)
unwatch unwatch repositories (authentication required)
fork fork a repository (authentication required)
create create a new repository (authentication required)
delete delete a repository (authentication required)
set_private set a public repo private (authentication required)
set_public set a private repo public (authentication required)
network see all the forks of the repo
tags tags on the repo
branches list of remote branches

Issues
ilist open|closed see a list of issues for a project
iview :number get data on an individual issue by number
iopen open a new issue (authentication required)
iclose :number close an issue (authentication required)
ireopen :number reopen an issue (authentication required)
iedit :number edit an issue (authentication required)
ilabel add|remove :num :label
add/remove a label (authentication required)

File/Path related
cd PATH chdir to PATH

Others
rshow :user :repo more in-depth information for a repository
rlist :user list out all the repositories for a user

github> loadcfg

github> repo fayland perl-app-github

fayland/perl-app-github> rshow
{
"owner" : "fayland",
"private" : false,
"name" : "perl-app-github",
"description" : "App::GitHub CPAN module",
"homepage" : "",
"watchers" : 2,
"forks" : 0,
"fork" : false,
"url" : "http://github.com/fayland/perl-app-github"
}

fayland/perl-app-github> repo fayland sandbox2

fayland/sandbox2> ilist
[
{
"number" : 1,
"position" : 1,
"state" : "open",
"body" : "Test Issue body.",
"created_at" : "2009/04/19 06:08:30 -0700",
"updated_at" : "2009/04/19 06:09:17 -0700",
"user" : "fayland",
"title" : "Test Issue",
"votes" : 0
},
{
"number" : 2,
"position" : 2,
"state" : "open",
"body" : "new test 3\nnew test 2",
"created_at" : "2009/04/19 18:44:49 -0700",
"updated_at" : "2009/04/19 18:50:44 -0700",
"user" : "fayland",
"title" : "new test 2",
"votes" : 0
},
{
"number" : 3,
"position" : 3,
"state" : "open",
"body" : "s",
"created_at" : "2009/04/19 18:51:17 -0700",
"updated_at" : "2009/04/19 18:51:31 -0700",
"user" : "fayland",
"title" : "sssssssss",
"votes" : 0
}
]

fayland/sandbox2> q

for now, there are ONLY repos and issue related command. but I would add more in next few days.

Thanks and Enjoy.


blog comments powered by Disqus