diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-04-11 19:01:35 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-04-11 19:06:04 -0500 |
commit | ecaf342099d0db3e3e16b0efa84b028293633774 (patch) | |
tree | 98deb33034e942410104a43b8a538f26dfd997db /bin/git | |
parent | bd7be041069f5124a69e98fd00ad3d94d960adae (diff) | |
download | conf-ecaf342099d0db3e3e16b0efa84b028293633774.tar.gz conf-ecaf342099d0db3e3e16b0efa84b028293633774.zip |
remove a lot of stuff i don't use anymore
Diffstat (limited to 'bin/git')
-rwxr-xr-x | bin/git/git-hub | 239 | ||||
-rwxr-xr-x | bin/git/git-jump | 69 |
2 files changed, 0 insertions, 308 deletions
diff --git a/bin/git/git-hub b/bin/git/git-hub deleted file mode 100755 index 86c7955..0000000 --- a/bin/git/git-hub +++ /dev/null @@ -1,239 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; - -package App::Git::Hub; - -use File::pushd; -use List::MoreUtils qw(any); -use Net::GitHub::V2; - -sub git { - if (wantarray) { - chomp(my @ret = qx{git $_[0]}); - return @ret; - } - else { - chomp(my $ret = qx{git $_[0]}); - return $ret; - } -} - -sub new { - my $class = shift; - my @argv = @_; - - bless { - argv => \@argv, - }, $class; -} - -sub user { shift->_github->login } -sub argv { @{ shift->{argv} } } - -sub shift_argv { - my $self = shift; - return shift @{ $self->{argv} }; -} - -sub run { - my $self = shift; - - my $command = $self->shift_argv; - $self->usage unless defined $command; - $self->run_command($command); -} - -sub usage { - my @subcommands = do { no strict 'refs'; grep { /^run_command_/ } keys %{ __PACKAGE__ . '::' } }; - die "usage: git hub <subcommand> [args...]\n" - . "subcommands:\n" - . " " . (join "\n ", map { s/^run_command_//; $_ } @subcommands) - . "\n"; -} - -sub run_command { - my $self = shift; - my ($command) = @_; - - my $meth = "run_command_$command"; - if ($self->can($meth)) { - return $self->$meth($self->argv); - } - else { - $self->usage; - } -} - -sub run_command_create { - my $self = shift; - my ($name, $description, $url) = @_; - die "usage: git hub create <name> <description> [url]" - unless @_ >= 2; - - $self->_github(repo => $name)->repos->create( - $name, $description, $url || '', 1 - ); -} - -sub run_command_delete { - my $self = shift; - die "usage: git hub delete [-f] <name>" - unless @_ == 1 || @_ == 2; - - my $force; - if ($_[0] eq '-f') { - $force = 1; - shift @_; - } - - my ($name) = @_; - - warn "not actually deleting $name (-f not set)\n" unless $force; - - $self->_github(repo => $name)->repos->delete( - $force ? ({confirm => 1}) : () - ); -} - -sub run_command_fork { - my $self = shift; - my ($owner, $repo) = @_; - die "usage: git hub fork <owner> <repo>" - unless @_ == 2; - - $self->_github(owner => $owner, repo => $repo)->repos->fork; -} - -sub run_command_clone { - my $self = shift; - die "usage: git hub clone [--fork] [owner] <repo>" - unless @_ == 1 || @_ == 2 || @_ == 3; - - my $fork; - if ($_[0] eq '--fork') { - shift @_; - $fork = 1; - } - - if (@_ == 1) { - my ($repo) = @_; - my $user = $self->user; - git "clone git\@github.com:$user/$repo.git"; - } - else { - my ($owner, $repo) = @_; - if ($fork) { - $self->run_command_fork($owner, $repo); - $self->run_command_clone($repo); - { - my $d = pushd($repo); - $self->run_command_add($owner, $repo); - } - } - else { - git "clone git://github.com/$owner/$repo.git"; - } - } -} - -sub run_command_list { - my $self = shift; - die "usage: git hub list [-v] [owner]" - unless @_ <= 2; - - my $verbose; - if (@_ > 0 && $_[0] eq '-v') { - $verbose = 1; - shift @_; - } - - my $owner = defined $_[0] ? $_[0] : $self->user; - - print for map { - $verbose - ? ("$_->{name}:\n" - . ($_->{description} ? " $_->{description}\n" : '') - . ($_->{homepage} ? " $_->{homepage}\n" : '')) - : "$_->{name}\n" - } @{ $self->_github(owner => $owner, repo => '')->repos->list }; -} - -sub run_command_pullreq { - my $self = shift; - my ($owner, $repo, $title, $branch, $body) = @_; - die "usage: git hub pullreq <owner> <repo> <title> [branch] [description]" - unless @_ == 3 || @_ == 4 || @_ == 5; - - # XXX: should default to the current branch - $branch ||= 'master'; - - $self->_github(owner => $owner, repo => $repo)->pull_request->pull_request( - title => $title, - body => $body, - head => $self->user . ':' . $branch - ); -} - -sub run_command_add { - my $self = shift; - die "usage: git hub add [owner] <repo>" - unless @_ == 1 || @_ == 2; - my ($owner, $repo) = (@_ > 1 ? @_ : (undef, $_[0])); - - my $remote; - if ($owner) { - $remote = $owner; - git "remote add $remote git://github.com/$owner/$repo.git"; - } - else { - $owner = $self->user; - $remote = (any { /\borigin\b/ } git "remote") ? 'github' : 'origin'; - git "remote add $remote git\@github.com:$owner/$repo.git"; - } - - git "fetch $remote"; -} - -sub run_command_pull { - my $self = shift; - die "usage: git hub pull <num>" - unless @_ == 1; - my ($num) = @_; - - my $remote = (any { /\bgithub\b/ } git "remote") ? 'github' : 'origin'; - git "fetch $remote refs/pull/$num/head:pull-$num"; -} - -sub _github { - my $self = shift; - my %opts = @_; - - my $user = $ENV{USER}; - my $token; - - if (open my $login_info, '<', "$ENV{HOME}/.github") { - $user = <$login_info>; - chomp $user; - $token = <$login_info>; - chomp $token; - } - - Net::GitHub::V2->new( - (defined $user - ? (owner => $user, login => $user) - : ()), - (defined $token - ? (token => $token) - : ()), - repo => 'something_not_real', - %opts, - ); -} - -package main; - -my $res = App::Git::Hub->new(@ARGV)->run; -if (ref($res) eq 'HASH' && exists $res->{error}) { - die $res->{error}[0], "\n"; -} diff --git a/bin/git/git-jump b/bin/git/git-jump deleted file mode 100755 index a33674e..0000000 --- a/bin/git/git-jump +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh - -usage() { - cat <<\EOF -usage: git jump <mode> [<args>] - -Jump to interesting elements in an editor. -The <mode> parameter is one of: - -diff: elements are diff hunks. Arguments are given to diff. - -merge: elements are merge conflicts. Arguments are ignored. - -grep: elements are grep hits. Arguments are given to grep. -EOF -} - -open_editor() { - editor=`git var GIT_EDITOR` - eval "$editor -q \$1" -} - -mode_diff() { - git diff --relative "$@" | - perl -ne ' - if (m{^\+\+\+ b/(.*)}) { $file = $1; next } - defined($file) or next; - if (m/^@@ .*\+(\d+)/) { $line = $1; next } - defined($line) or next; - if (/^ /) { $line++; next } - if (/^[-+]\s*(.*)/) { - print "$file:$line: $1\n"; - $line = undef; - } - ' -} - -mode_merge() { - git ls-files -u | - perl -pe 's/^.*?\t//' | - sort -u | - while IFS= read fn; do - grep -Hn '^<<<<<<<' "$fn" - done -} - -# Grep -n generates nice quickfix-looking lines by itself, -# but let's clean up extra whitespace, so they look better if the -# editor shows them to us in the status bar. -mode_grep() { - git grep -n "$@" | - perl -pe ' - s/[ \t]+/ /g; - s/^ *//; - ' -} - -if test $# -lt 1; then - usage >&2 - exit 1 -fi -mode=$1; shift - -trap 'rm -f "$tmp"' 0 1 2 3 15 -tmp=`mktemp -t git-jump.XXXXXX` || exit 1 -type "mode_$mode" >/dev/null 2>&1 || { usage >&2; exit 1; } -"mode_$mode" "$@" >"$tmp" -test -s "$tmp" || exit 0 -open_editor "$tmp" |