From 7dc56e180632790d04a3c2dfd526e8bced746c94 Mon Sep 17 00:00:00 2001 From: scott Chacon Date: Mon, 19 Nov 2007 14:32:53 -0800 Subject: added some TODO notes, the History.txt entry i forgot and a way to attach a custom logger to Git --- lib/git/base.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'lib/git/base.rb') diff --git a/lib/git/base.rb b/lib/git/base.rb index 2986864..fe0b2e7 100644 --- a/lib/git/base.rb +++ b/lib/git/base.rb @@ -7,10 +7,14 @@ module Git @index = nil @lib = nil + @logger = nil # opens a bare Git Repository - no working directory options - def self.bare(git_dir) - self.new :repository => git_dir + def self.bare(git_dir, opts = {}) + default = {:repository => git_dir} + git_options = default.merge(opts) + + self.new(git_options) end # opens a new Git Project from a working directory @@ -67,6 +71,9 @@ module Git options[:repository] = File.join(working_dir, '.git') if !options[:repository] options[:index] = File.join(working_dir, '.git', 'index') if !options[:index] end + if options[:log] + @logger = options[:log] + end @working_directory = Git::WorkingDirectory.new(options[:working_directory]) if options[:working_directory] @repository = Git::Repository.new(options[:repository]) if options[:repository] @@ -199,7 +206,7 @@ module Git # actual 'git' forked system calls. At some point I hope to replace the Git::Lib # class with one that uses native methods or libgit C bindings def lib - @lib ||= Git::Lib.new(self) + @lib ||= Git::Lib.new(self, @logger) end # will run a grep for 'string' on the HEAD of the git repository -- cgit