Skip to content

Latest commit

 

History

History
27 lines (20 loc) · 675 Bytes

recursive-git-status.rb.md

File metadata and controls

27 lines (20 loc) · 675 Bytes

Recursive Git status

Quick and dirty Ruby script to recursively check Git status of folders (and folders within folders etc.)

#!/usr/bin/env ruby

require 'colorize'

start_dir = ARGV[0]

def recursive_check(directory)
  if File.directory?(File.join(directory, '.git'))
    Dir.chdir(directory)
    puts "Status of #{Dir.getwd}:".colorize(:green)
    puts `git status`
    puts
  end

  subdirectories = Dir.entries(directory).select { |file| File.directory?(File.join(directory, file)) and file != '.' and file != '..' }

  subdirectories.each do |subdirectory|
    recursive_check(File.join(directory, subdirectory))
  end
end

recursive_check(start_dir)