From 93b73c3964f553f7f99dee19f2e82d0671bda710 Mon Sep 17 00:00:00 2001 From: Joe Block Date: Fri, 8 Apr 2016 09:08:48 -0700 Subject: [PATCH] Refactor out some functions I'm going to use in other git-bb-* scripts --- bin/bbhelpers.rb | 34 ++++++++++++++++++++++++++++++++++ bin/git-bb-open | 37 +++++++++---------------------------- 2 files changed, 43 insertions(+), 28 deletions(-) create mode 100644 bin/bbhelpers.rb diff --git a/bin/bbhelpers.rb b/bin/bbhelpers.rb new file mode 100644 index 0000000..51531f9 --- /dev/null +++ b/bin/bbhelpers.rb @@ -0,0 +1,34 @@ +#!/usr/bin/env ruby +# +# Copyright 2016 Joe Block +# +# License: Apache 2.0, see LICENSE in this repository. +# +# Helper functions that are common across the git-bb-* scripts. Admittedly +# not very pretty. + +def git_branch + `git rev-parse --abbrev-ref HEAD`.chomp +end + +def git_commit + `git rev-parse HEAD`.chomp +end + +def git_remote + `git config --get remote.origin.url`.chomp +end + +def git_root + `git rev-parse --show-toplevel`.chomp +end + +def openURL(url) + if RUBY_PLATFORM.index('darwin') + open_command = 'open' + end + if RUBY_PLATFORM.index('linux') + open_command = 'xdg-open' + end + system("#{open_command} #{url}") +end diff --git a/bin/git-bb-open b/bin/git-bb-open index 34ae9cf..8d933e9 100755 --- a/bin/git-bb-open +++ b/bin/git-bb-open @@ -4,31 +4,22 @@ # # Copyright 2016 Joe Block # -# License: Apache 2.0 +# License: Apache 2.0, see LICENSE in this repository. + +def push_loadpath + $: << File.expand_path(File.dirname(caller.first)) +end + +push_loadpath require 'pathname' - -def git_branch - `git rev-parse --abbrev-ref HEAD`.chomp -end - -def git_commit - `git rev-parse HEAD`.chomp -end - -def git_remote - `git config --get remote.origin.url`.chomp -end - -def git_root - `git rev-parse --show-toplevel`.chomp -end +require 'bbhelpers' def constructURL remote = git_remote() bbloc = remote.index('bitbucket.org') if not bbloc - "This repo does not have a fetch remote at bitbucket" + "git-bb-open only works for repositories with their origin remote on bitbucket.org" exit 1 end url_prefix="https://#{remote[bbloc..-5]}/src/#{git_commit}" @@ -46,16 +37,6 @@ def constructURL url = url_prefix + path + "?at=#{git_branch}" end -def openURL(url) - if RUBY_PLATFORM.index('darwin') - open_command = 'open' - end - if RUBY_PLATFORM.index('linux') - open_command = 'xdg-open' - end - system("#{open_command} #{url}") -end - if ARGV.length > 1 puts 'Usage: git-bb-open without args to open the current directory on bitbucket, viewing the current branch.' puts ' git-bb-open to open on bitbucket, viewing the current branch'