Skip to content

Instantly share code, notes, and snippets.

@chamerling
Forked from przemoc/gitio
Created October 10, 2011 16:43

Revisions

  1. @przemoc przemoc created this gist Oct 10, 2011.
    33 changes: 33 additions & 0 deletions gitio
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,33 @@
    #!/bin/sh

    # Usage: gitio URL [CODE]
    #
    # Turns a github.com URL
    # into a git.io URL
    #
    # Copies the git.io URL to your clipboard if xclip is available.

    URL="$1"
    CODE="$2"

    if ! expr "${URL}" : "^\(\(https\?://\)\?\(gist\.\)\?github.com/\)" >/dev/null; then
    echo "* github.com URLs only" >&2
    exit 1
    fi

    if ! expr "${URL}" : "^http" >/dev/null; then
    URL="https://${URL}"
    fi

    OUT="$(\
    curl -si http://git.io -F "url=${URL}" ${CODE:+-F "code=${CODE}"} | \
    sed '/^Status: /{s///;/^201/d;q};/^Location: /!d;s///'
    )"

    if expr "${OUT}" : "^[0-9]\+" >/dev/null; then
    echo "${OUT}" >&2
    exit 1
    fi

    echo "${OUT}"
    which xclip >/dev/null && echo "${OUT}" | xclip -selection clipboard