From d07a2c04c1599fe707831afdd29397cc36e02fa6 Mon Sep 17 00:00:00 2001 From: scott Chacon Date: Tue, 20 Nov 2007 12:07:46 -0800 Subject: added files from the gitrb project, which seems abandoned, but which is great code --- lib/git/raw/internal/object.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 lib/git/raw/internal/object.rb (limited to 'lib/git/raw/internal/object.rb') diff --git a/lib/git/raw/internal/object.rb b/lib/git/raw/internal/object.rb new file mode 100644 index 0000000..b81df2b --- /dev/null +++ b/lib/git/raw/internal/object.rb @@ -0,0 +1,23 @@ +require 'digest/sha1' + +module Git module Raw module Internal + OBJ_NONE = 0 + OBJ_COMMIT = 1 + OBJ_TREE = 2 + OBJ_BLOB = 3 + OBJ_TAG = 4 + + OBJ_TYPES = [nil, :commit, :tree, :blob, :tag].freeze + + class RawObject + attr_accessor :type, :content + def initialize(type, content) + @type = type + @content = content + end + + def sha1 + Digest::SHA1.digest("%s %d\0" % [@type, @content.length] + @content) + end + end +end end -- cgit From 90dea6d415bfc5734bc87c2797b26cca311246bc Mon Sep 17 00:00:00 2001 From: scott Chacon Date: Tue, 20 Nov 2007 13:24:44 -0800 Subject: have the pure ruby bindings working to some degree --- lib/git/raw/internal/object.rb | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) (limited to 'lib/git/raw/internal/object.rb') diff --git a/lib/git/raw/internal/object.rb b/lib/git/raw/internal/object.rb index b81df2b..7f95685 100644 --- a/lib/git/raw/internal/object.rb +++ b/lib/git/raw/internal/object.rb @@ -1,23 +1,27 @@ require 'digest/sha1' -module Git module Raw module Internal - OBJ_NONE = 0 - OBJ_COMMIT = 1 - OBJ_TREE = 2 - OBJ_BLOB = 3 - OBJ_TAG = 4 +module Git + module Raw + module Internal + OBJ_NONE = 0 + OBJ_COMMIT = 1 + OBJ_TREE = 2 + OBJ_BLOB = 3 + OBJ_TAG = 4 - OBJ_TYPES = [nil, :commit, :tree, :blob, :tag].freeze + OBJ_TYPES = [nil, :commit, :tree, :blob, :tag].freeze - class RawObject - attr_accessor :type, :content - def initialize(type, content) - @type = type - @content = content - end + class RawObject + attr_accessor :type, :content + def initialize(type, content) + @type = type + @content = content + end - def sha1 - Digest::SHA1.digest("%s %d\0" % [@type, @content.length] + @content) - end + def sha1 + Digest::SHA1.digest("%s %d\0" % [@type, @content.length] + @content) + end + end + end end -end end +end -- cgit From 07ebb951368ed31bdaebc2e820c62ced22c8bbe4 Mon Sep 17 00:00:00 2001 From: scott Chacon Date: Tue, 27 Nov 2007 08:06:51 -0800 Subject: added Matthias and Simon to credits for the gitrb code fixed an issue with raw object tree formatting added ls_tree implementation in raw git --- lib/git/raw/internal/object.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib/git/raw/internal/object.rb') diff --git a/lib/git/raw/internal/object.rb b/lib/git/raw/internal/object.rb index 7f95685..172b917 100644 --- a/lib/git/raw/internal/object.rb +++ b/lib/git/raw/internal/object.rb @@ -1,3 +1,13 @@ +# +# converted from the gitrb project +# +# authors: +# Matthias Lederhofer +# Simon 'corecode' Schubert +# +# provides native ruby access to git objects and pack files +# + require 'digest/sha1' module Git -- cgit