Sha256: 532abdb662f8cbd8ec2e59885827aa2ea5a2fe6694818734e16c4ec71828856d
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
require 'pry' require_relative 'options/diff' require_relative 'output/diff' module Inch module CLI module Command class Diff < Base register_command_as :diff def description 'Shows a diff' end def usage 'Usage: inch diff [REV..[REV]] [options]' end def run(*args) @options.parse(args) @options.verify before_rev, after_rev = revisions[0], revisions[1] diff = API::Diff.new(work_dir, before_rev, after_rev) Output::Diff.new(@options, diff.comparer) end private def git(dir, command) old_pwd = Dir.pwd Dir.chdir dir out = `git #{command}` Dir.chdir old_pwd out end # @return [Array<String>] the revisions passed in the command_line def revisions @revisions ||= @options.revisions.map do |rev| if rev git(work_dir, "rev-parse #{rev}").strip end end end def work_dir Dir.pwd end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
inch-0.4.0.rc2 | lib/inch/cli/command/diff.rb |
inch-0.4.0.rc1 | lib/inch/cli/command/diff.rb |