diff options
Diffstat (limited to 'lib/git')
-rw-r--r-- | lib/git/lib.rb | 8 | ||||
-rw-r--r-- | lib/git/object.rb | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/git/lib.rb b/lib/git/lib.rb index 4352640..8003336 100644 --- a/lib/git/lib.rb +++ b/lib/git/lib.rb @@ -181,6 +181,14 @@ module Git data end + + def full_tree(sha) + command_lines('ls-tree', ['-r', sha.to_s]) + end + + def tree_depth(sha) + full_tree(sha).size + end def branches_all head = File.read(File.join(@git_dir, 'HEAD')) diff --git a/lib/git/object.rb b/lib/git/object.rb index 04102bc..e35060c 100644 --- a/lib/git/object.rb +++ b/lib/git/object.rb @@ -124,6 +124,14 @@ module Git alias_method :subtrees, :trees alias_method :subdirectories, :trees + def full_tree + @base.lib.full_tree(@objectish) + end + + def depth + @base.lib.tree_depth(@objectish) + end + private def setup |