pax_global_header00006660000000000000000000000064123665177050014526gustar00rootroot0000000000000052 comment=8425a6b6169eaeda0afe2e16b0e4210ed433caf2 ruby-git-1.2.8/000077500000000000000000000000001236651770500133005ustar00rootroot00000000000000ruby-git-1.2.8/.gitignore000066400000000000000000000000731236651770500152700ustar00rootroot00000000000000*.gem *.kpf *.sw? .DS_Store coverage pkg rdoc Gemfile.lock ruby-git-1.2.8/.jrubyrc000066400000000000000000000000221236651770500147530ustar00rootroot00000000000000cext.enabled=true ruby-git-1.2.8/.travis.yml000066400000000000000000000002521236651770500154100ustar00rootroot00000000000000language: ruby rvm: - 1.8.7 - 1.9.2 - 1.9.3 - 2.0.0 - 2.1 - jruby-18mode - jruby-19mode - ree matrix: allow_failures: - rbx-18mode - rbx-19mode ruby-git-1.2.8/Gemfile000066400000000000000000000000671236651770500145760ustar00rootroot00000000000000source 'https://rubygems.org' gemspec :name => 'git' ruby-git-1.2.8/History.txt000066400000000000000000000026101236651770500155010ustar00rootroot00000000000000== 1.2.8 * Keeping the old escape format for windows users * revparse: Supporting ref names containing SHA like substrings (40-hex strings) * Fix warnings on Ruby 2.1.2 == 1.2.7 * Fixing mesages encoding * Fixing -f flag in git push * Fixing log parser for multiline messages * Supporting object references on Git.add_tag * Including dotfiles on Git.status * Git.fetch - supporting --tags * Git.clean - supporting -x * Git.add_tag options - supporting -a, -m and -s * Added Git.delete_tag == 1.2.6 * Ruby 1.9.X/2.0 fully supported * JRuby 1.8/1.9 support * Rubinius support * Git.clone - supporting --recursive and --config * Git.log - supporting last and [] over the results * Git.add_remote - supporting -f and -t * Git.add - supporting --fore * Git.init - supporting --bare * Git.commit - supporting --all and --amend * Added Git.remote_remote, Git.revert and Git.clean * Added Bundler to the formula * Travis configuration * Licence included with the gem == 1.0.4 * added camping/gitweb.rb frontend * added a number of speed-ups == 1.0.3 * Sped up most of the operations * Added some predicate functions (commit?, tree?, etc) * Added a number of lower level operations (read-tree, write-tree, checkout-index, etc) * Fixed a bug with using bare repositories * Updated a good amount of the documentation == 1.0.2 * Added methods to the git objects that might be helpful == 1.0.1 * Initial version ruby-git-1.2.8/LICENSE000066400000000000000000000020611236651770500143040ustar00rootroot00000000000000The MIT License Copyright (c) 2008 Scott Chacon Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ruby-git-1.2.8/README.md000066400000000000000000000171451236651770500145670ustar00rootroot00000000000000# Git Library for Ruby Library for using Git in Ruby. ## Homepage Git public hosting of the project source code is at: http://github.com/schacon/ruby-git ## Install You can install Ruby/Git like this: $ sudo gem install git ## Code Status * [![Build Status](https://api.travis-ci.org/schacon/ruby-git.png)](https://travis-ci.org/schacon/ruby-git) * [![Code Climate](https://codeclimate.com/github/schacon/ruby-git.png)](https://codeclimate.com/github/schacon/ruby-git) * [![Gem Version](https://badge.fury.io/rb/git.png)](http://badge.fury.io/rb/git) * [![Dependencies](https://gemnasium.com/schacon/ruby-git.png?travis)](https://gemnasium.com/schacon/ruby-git) ## Major Objects **Git::Base** - The object returned from a `Git.open` or `Git.clone`. Most major actions are called from this object. **Git::Object** - The base object for your tree, blob and commit objects, returned from `@git.gtree` or `@git.object` calls. the `Git::AbstractObject` will have most of the calls in common for all those objects. **Git::Diff** - returns from a `@git.diff` command. It is an Enumerable that returns `Git::Diff:DiffFile` objects from which you can get per file patches and insertion/deletion statistics. You can also get total statistics from the Git::Diff object directly. **Git::Status** - returns from a `@git.status` command. It is an Enumerable that returns `Git:Status::StatusFile` objects for each object in git, which includes files in the working directory, in the index and in the repository. Similar to running 'git status' on the command line to determine untracked and changed files. **Git::Branches** - Enumerable object that holds `Git::Branch objects`. You can call .local or .remote on it to filter to just your local or remote branches. **Git::Remote**- A reference to a remote repository that is tracked by this repository. **Git::Log** - An Enumerable object that references all the `Git::Object::Commit` objects that encompass your log query, which can be constructed through methods on the `Git::Log object`, like: `@git.log(20).object("some_file").since("2 weeks ago").between('v2.6', 'v2.7').each { |commit| [block] }` ## Examples Here are a bunch of examples of how to use the Ruby/Git package. Ruby < 1.9 will require rubygems to be loaded. ```ruby require 'rubygems' ``` Require the 'git' gem. ```ruby require 'git' ``` Here are the operations that need read permission only. ```ruby g = Git.open(working_dir, :log => Logger.new(STDOUT)) g.index g.index.readable? g.index.writable? g.repo g.dir g.log # returns array of Git::Commit objects g.log.since('2 weeks ago') g.log.between('v2.5', 'v2.6') g.log.each {|l| puts l.sha } g.gblob('v2.5:Makefile').log.since('2 weeks ago') g.object('HEAD^').to_s # git show / git rev-parse g.object('HEAD^').contents g.object('v2.5:Makefile').size g.object('v2.5:Makefile').sha g.gtree(treeish) g.gblob(treeish) g.gcommit(treeish) commit = g.gcommit('1cc8667014381') commit.gtree commit.parent.sha commit.parents.size commit.author.name commit.author.email commit.author.date.strftime("%m-%d-%y") commit.committer.name commit.date.strftime("%m-%d-%y") commit.message tree = g.gtree("HEAD^{tree}") tree.blobs tree.subtrees tree.children # blobs and subtrees g.revparse('v2.5:Makefile') g.branches # returns Git::Branch objects g.branches.local g.branches.remote g.branches[:master].gcommit g.branches['origin/master'].gcommit g.grep('hello') # implies HEAD g.blob('v2.5:Makefile').grep('hello') g.tag('v2.5').grep('hello', 'docs/') g.diff(commit1, commit2).size g.diff(commit1, commit2).stats g.gtree('v2.5').diff('v2.6').insertions g.diff('gitsearch1', 'v2.5').path('lib/') g.diff('gitsearch1', @git.gtree('v2.5')) g.diff('gitsearch1', 'v2.5').path('docs/').patch g.gtree('v2.5').diff('v2.6').patch g.gtree('v2.5').diff('v2.6').each do |file_diff| puts file_diff.path puts file_diff.patch puts file_diff.blob(:src).contents end g.config('user.name') # returns 'Scott Chacon' g.config # returns whole config hash g.tags # returns array of Git::Tag objects ``` And here are the operations that will need to write to your git repository. ```ruby g = Git.init Git.init('project') Git.init('/home/schacon/proj', { :repository => '/opt/git/proj.git', :index => '/tmp/index'} ) g = Git.clone(URI, NAME, :path => '/tmp/checkout') g.config('user.name', 'Scott Chacon') g.config('user.email', 'email@email.com') g.add # git add -- "." g.add(:all=>true) # git add --all -- "." g.add('file_path') # git add -- "file_path" g.add(['file_path_1', 'file_path_2']) # git add -- "file_path_1" "file_path_2" g.remove('file.txt') g.remove(['file.txt', 'file2.txt']) g.commit('message') g.commit_all('message') g = Git.clone(repo, 'myrepo') g.chdir do new_file('test-file', 'blahblahblah') g.status.changed.each do |file| puts file.blob(:index).contents end end g.reset # defaults to HEAD g.reset_hard(Git::Commit) g.branch('new_branch') # creates new or fetches existing g.branch('new_branch').checkout g.branch('new_branch').delete g.branch('existing_branch').checkout g.checkout('new_branch') g.checkout(g.branch('new_branch')) g.branch(name).merge(branch2) g.branch(branch2).merge # merges HEAD with branch2 g.branch(name).in_branch(message) { # add files } # auto-commits g.merge('new_branch') g.merge('origin/remote_branch') g.merge(g.branch('master')) g.merge([branch1, branch2]) r = g.add_remote(name, uri) # Git::Remote r = g.add_remote(name, Git::Base) # Git::Remote g.remotes # array of Git::Remotes g.remote(name).fetch g.remote(name).remove g.remote(name).merge g.remote(name).merge(branch) g.fetch g.fetch(g.remotes.first) g.pull g.pull(Git::Repo, Git::Branch) # fetch and a merge g.add_tag('tag_name') # returns Git::Tag g.add_tag('tag_name', 'object_reference') g.add_tag('tag_name', 'object_reference', {:options => 'here'}) g.add_tag('tag_name', {:options => 'here'}) Options: :a | :annotate :d :f :m | :message :s g.delete_tag('tag_name') g.repack g.push g.push(g.remote('name')) ``` Some examples of more low-level index and tree operations ```ruby g.with_temp_index do g.read_tree(tree3) # calls self.index.read_tree g.read_tree(tree1, :prefix => 'hi/') c = g.commit_tree('message') # or # t = g.write_tree c = g.commit_tree(t, :message => 'message', :parents => [sha1, sha2]) g.branch('branch_name').update_ref(c) g.update_ref(branch, c) g.with_temp_working do # new blank working directory g.checkout g.checkout(another_index) g.commit # commits to temp_index end end g.set_index('/path/to/index') g.with_index(path) do # calls set_index, then switches back after end g.with_working(dir) do # calls set_working, then switches back after end g.with_temp_working(dir) do g.checkout_index(:prefix => dir, :path_limiter => path) # do file work g.commit # commits to index end ``` ## License licensed under MIT License Copyright (c) 2008 Scott Chacon. See LICENSE for further details. ruby-git-1.2.8/Rakefile000066400000000000000000000006331236651770500147470ustar00rootroot00000000000000require 'rubygems' require "#{File.expand_path(File.dirname(__FILE__))}/lib/git/version" task :default => :test desc 'Run Unit Tests' task :test do |t| sh 'git config --global user.email "git@example.com"' if `git config user.email`.empty? sh 'git config --global user.name "GitExample"' if `git config user.name`.empty? $VERBOSE = true require File.dirname(__FILE__) + '/tests/all_tests.rb' end ruby-git-1.2.8/VERSION000066400000000000000000000000061236651770500143440ustar00rootroot000000000000001.2.8 ruby-git-1.2.8/git.gemspec000066400000000000000000000024751236651770500154400ustar00rootroot00000000000000require 'date' require "#{File.expand_path(File.dirname(__FILE__))}/lib/git/version" Gem::Specification.new do |s| s.authors = ['Scott Chacon'] s.date = Date.today.to_s s.email = 'schacon@gmail.com' s.homepage = 'http://github.com/schacon/ruby-git' s.license = 'MIT' s.name = 'git' s.summary = 'Ruby/Git is a Ruby library that can be used to create, read and manipulate Git repositories by wrapping system calls to the git binary.' s.version = Git::VERSION s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.require_paths = ['lib'] s.requirements = ['git 1.6.0.0, or greater'] s.add_development_dependency 'rake' s.add_development_dependency 'rdoc' s.add_development_dependency 'test-unit' s.extra_rdoc_files = ['README.md'] s.rdoc_options = ['--charset=UTF-8'] s.files = [ 'LICENSE', 'lib/git.rb', 'lib/git/author.rb', 'lib/git/base.rb', 'lib/git/branch.rb', 'lib/git/branches.rb', 'lib/git/diff.rb', 'lib/git/index.rb', 'lib/git/lib.rb', 'lib/git/log.rb', 'lib/git/object.rb', 'lib/git/path.rb', 'lib/git/remote.rb', 'lib/git/repository.rb', 'lib/git/stash.rb', 'lib/git/stashes.rb', 'lib/git/status.rb', 'lib/git/version.rb', 'lib/git/working_directory.rb' ] end ruby-git-1.2.8/lib/000077500000000000000000000000001236651770500140465ustar00rootroot00000000000000ruby-git-1.2.8/lib/git.rb000066400000000000000000000110141236651770500151530ustar00rootroot00000000000000# Add the directory containing this file to the start of the load path if it # isn't there already. $:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__))) require 'git/author' require 'git/base' require 'git/branch' require 'git/branches' require 'git/diff' require 'git/index' require 'git/lib' require 'git/log' require 'git/object' require 'git/path' require 'git/remote' require 'git/repository' require 'git/status' require 'git/stash' require 'git/stashes' require 'git/working_directory' lib = Git::Lib.new(nil, nil) unless lib.meets_required_version? $stderr.puts "[WARNING] The git gem requires git #{lib.required_command_version.join('.')} or later, but only found #{lib.current_command_version.join('.')}. You should probably upgrade." end # Git/Ruby Library # # This provides bindings for working with git in complex # interactions, including branching and merging, object # inspection and manipulation, history, patch generation # and more. You should be able to do most fundamental git # operations with this library. # # This module provides the basic functions to open a git # reference to work with. You can open a working directory, # open a bare repository, initialize a new repo or clone an # existing remote repository. # # Author:: Scott Chacon (mailto:schacon@gmail.com) # License:: MIT License module Git #g.config('user.name', 'Scott Chacon') # sets value #g.config('user.email', 'email@email.com') # sets value #g.config('user.name') # returns 'Scott Chacon' #g.config # returns whole config hash def config(name = nil, value = nil) lib = Git::Lib.new if(name && value) # set value lib.config_set(name, value) elsif (name) # return value lib.config_get(name) else # return hash lib.config_list end end def global_config(name = nil, value = nil) self.class.global_config(name, value) end # open a bare repository # # this takes the path to a bare git repo # it expects not to be able to use a working directory # so you can't checkout stuff, commit things, etc. # but you can do most read operations def self.bare(git_dir, options = {}) Base.bare(git_dir, options) end # clones a remote repository # # options # :bare => true (does a bare clone) # :repository => '/path/to/alt_git_dir' # :index => '/path/to/alt_index_file' # # example # Git.clone('git://repo.or.cz/rubygit.git', 'clone.git', :bare => true) # def self.clone(repository, name, options = {}) Base.clone(repository, name, options) end # Export the current HEAD (or a branch, if options[:branch] # is specified) into the +name+ directory, then remove all traces of git from the # directory. # # See +clone+ for options. Does not obey the :remote option, # since the .git info will be deleted anyway; always uses the default # remote, 'origin.' def self.export(repository, name, options = {}) options.delete(:remote) repo = clone(repository, name, {:depth => 1}.merge(options)) repo.checkout("origin/#{options[:branch]}") if options[:branch] Dir.chdir(repo.dir.to_s) { FileUtils.rm_r '.git' } end # Same as g.config, but forces it to be at the global level # #g.config('user.name', 'Scott Chacon') # sets value #g.config('user.email', 'email@email.com') # sets value #g.config('user.name') # returns 'Scott Chacon' #g.config # returns whole config hash def self.global_config(name = nil, value = nil) lib = Git::Lib.new(nil, nil) if(name && value) # set value lib.global_config_set(name, value) elsif (name) # return value lib.global_config_get(name) else # return hash lib.global_config_list end end # initialize a new git repository, defaults to the current working directory # # options # :repository => '/path/to/alt_git_dir' # :index => '/path/to/alt_index_file' def self.init(working_dir = '.', options = {}) Base.init(working_dir, options) end # open an existing git working directory # # this will most likely be the most common way to create # a git reference, referring to a working directory. # if not provided in the options, the library will assume # your git_dir and index are in the default place (.git/, .git/index) # # options # :repository => '/path/to/alt_git_dir' # :index => '/path/to/alt_index_file' def self.open(working_dir, options = {}) Base.open(working_dir, options) end end ruby-git-1.2.8/lib/git/000077500000000000000000000000001236651770500146315ustar00rootroot00000000000000ruby-git-1.2.8/lib/git/author.rb000066400000000000000000000004231236651770500164570ustar00rootroot00000000000000module Git class Author attr_accessor :name, :email, :date def initialize(author_string) if m = /(.*?) <(.*?)> (\d+) (.*)/.match(author_string) @name = m[1] @email = m[2] @date = Time.at(m[3].to_i) end end end endruby-git-1.2.8/lib/git/base.rb000066400000000000000000000360561236651770500161020ustar00rootroot00000000000000module Git class Base # opens a bare Git Repository - no working directory options def self.bare(git_dir, opts = {}) self.new({:repository => git_dir}.merge(opts)) end # opens a new Git Project from a working directory # you can specify non-standard git_dir and index file in the options def self.open(working_dir, opts={}) self.new({:working_directory => working_dir}.merge(opts)) end # initializes a git repository # # options: # :bare # :index # :repository # def self.init(working_dir, opts = {}) opts[:working_directory] = working_dir if !opts[:working_directory] opts[:repository] = File.join(opts[:working_directory], '.git') if !opts[:repository] FileUtils.mkdir_p(opts[:working_directory]) if opts[:working_directory] && !File.directory?(opts[:working_directory]) init_opts = { :bare => opts[:bare] } opts.delete(:working_directory) if opts[:bare] Git::Lib.new(opts).init(init_opts) self.new(opts) end # clones a git repository locally # # repository - http://repo.or.cz/w/sinatra.git # name - sinatra # # options: # :repository # # :bare # or # :working_directory # :index_file # def self.clone(repository, name, opts = {}) # run git-clone self.new(Git::Lib.new.clone(repository, name, opts)) end def initialize(options = {}) if working_dir = options[:working_directory] options[:repository] ||= File.join(working_dir, '.git') options[:index] ||= File.join(working_dir, '.git', 'index') end if options[:log] @logger = options[:log] @logger.info("Starting Git") else @logger = nil end @working_directory = options[:working_directory] ? Git::WorkingDirectory.new(options[:working_directory]) : nil @repository = options[:repository] ? Git::Repository.new(options[:repository]) : nil @index = options[:index] ? Git::Index.new(options[:index], false) : nil end # returns a reference to the working directory # @git.dir.path # @git.dir.writeable? def dir @working_directory end # returns reference to the git repository directory # @git.dir.path def repo @repository end # returns reference to the git index file def index @index end def set_working(work_dir, check = true) @lib = nil @working_directory = Git::WorkingDirectory.new(work_dir.to_s, check) end def set_index(index_file, check = true) @lib = nil @index = Git::Index.new(index_file.to_s, check) end # changes current working directory for a block # to the git working directory # # example # @git.chdir do # # write files # @git.add # @git.commit('message') # end def chdir # :yields: the Git::Path Dir.chdir(dir.path) do yield dir.path end end # returns the repository size in bytes def repo_size Dir.chdir(repo.path) do return `du -s`.chomp.split.first.to_i end end #g.config('user.name', 'Scott Chacon') # sets value #g.config('user.email', 'email@email.com') # sets value #g.config('user.name') # returns 'Scott Chacon' #g.config # returns whole config hash def config(name = nil, value = nil) if(name && value) # set value lib.config_set(name, value) elsif (name) # return value lib.config_get(name) else # return hash lib.config_list end end # factory methods # returns a Git::Object of the appropriate type # you can also call @git.gtree('tree'), but that's # just for readability. If you call @git.gtree('HEAD') it will # still return a Git::Object::Commit object. # # @git.object calls a factory method that will run a rev-parse # on the objectish and determine the type of the object and return # an appropriate object for that type def object(objectish) Git::Object.new(self, objectish) end def gtree(objectish) Git::Object.new(self, objectish, 'tree') end def gcommit(objectish) Git::Object.new(self, objectish, 'commit') end def gblob(objectish) Git::Object.new(self, objectish, 'blob') end # returns a Git::Log object with count commits def log(count = 30) Git::Log.new(self, count) end # returns a Git::Status object def status Git::Status.new(self) end # returns a Git::Branches object of all the Git::Branch objects for this repo def branches Git::Branches.new(self) end # returns a Git::Branch object for branch_name def branch(branch_name = 'master') Git::Branch.new(self, branch_name) end # returns +true+ if the branch exists locally def is_local_branch?(branch) branch_names = self.branches.local.map {|b| b.name} branch_names.include?(branch) end # returns +true+ if the branch exists remotely def is_remote_branch?(branch) branch_names = self.branches.local.map {|b| b.name} branch_names.include?(branch) end # returns +true+ if the branch exists def is_branch?(branch) branch_names = self.branches.map {|b| b.name} branch_names.include?(branch) end # returns a Git::Remote object def remote(remote_name = 'origin') Git::Remote.new(self, remote_name) end # this is a convenience method for accessing the class that wraps all the # 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, @logger) end # will run a grep for 'string' on the HEAD of the git repository # # to be more surgical in your grep, you can call grep() off a specific # git object. for example: # # @git.object("v2.3").grep('TODO') # # in any case, it returns a hash of arrays of the type: # hsh[tree-ish] = [[line_no, match], [line_no, match2]] # hsh[tree-ish] = [[line_no, match], [line_no, match2]] # # so you might use it like this: # # @git.grep("TODO").each do |sha, arr| # puts "in blob #{sha}:" # arr.each do |match| # puts "\t line #{match[0]}: '#{match[1]}'" # end # end def grep(string, path_limiter = nil, opts = {}) self.object('HEAD').grep(string, path_limiter, opts) end # returns a Git::Diff object def diff(objectish = 'HEAD', obj2 = nil) Git::Diff.new(self, objectish, obj2) end # updates the repository index using the workig dorectory content # # @git.add('path/to/file') # @git.add(['path/to/file1','path/to/file2']) # @git.add(:all => true) # # options: # :all => true # # @param [String,Array] paths files paths to be added (optional, default='.') # @param [Hash] options def add(*args) if args[0].instance_of?(String) || args[0].instance_of?(Array) self.lib.add(args[0],args[1]||{}) else self.lib.add('.', args[0]||{}) end end # removes file(s) from the git repository def remove(path = '.', opts = {}) self.lib.remove(path, opts) end # resets the working directory to the provided commitish def reset(commitish = nil, opts = {}) self.lib.reset(commitish, opts) end # resets the working directory to the commitish with '--hard' def reset_hard(commitish = nil, opts = {}) opts = {:hard => true}.merge(opts) self.lib.reset(commitish, opts) end # cleans the working directory # # options: # :force # :d # def clean(opts = {}) self.lib.clean(opts) end # reverts the working directory to the provided commitish. # Accepts a range, such as comittish..HEAD # # options: # :no_edit # def revert(commitish = nil, opts = {}) self.lib.revert(commitish, opts) end # commits all pending changes in the index file to the git repository # # options: # :all # :allow_empty # :amend # :author # def commit(message, opts = {}) self.lib.commit(message, opts) end # commits all pending changes in the index file to the git repository, # but automatically adds all modified files without having to explicitly # calling @git.add() on them. def commit_all(message, opts = {}) opts = {:add_all => true}.merge(opts) self.lib.commit(message, opts) end # checks out a branch as the new git working directory def checkout(branch = 'master', opts = {}) self.lib.checkout(branch, opts) end # checks out an old version of a file def checkout_file(version, file) self.lib.checkout_file(version,file) end # fetches changes from a remote branch - this does not modify the working directory, # it just gets the changes from the remote if there are any def fetch(remote = 'origin', opts={}) self.lib.fetch(remote, opts) end # pushes changes to a remote repository - easiest if this is a cloned repository, # otherwise you may have to run something like this first to setup the push parameters: # # @git.config('remote.remote-name.push', 'refs/heads/master:refs/heads/master') # def push(remote = 'origin', branch = 'master', opts = {}) # Small hack to keep backwards compatibility with the 'push(remote, branch, tags)' method signature. opts = {:tags => opts} if [true, false].include?(opts) self.lib.push(remote, branch, opts) end # merges one or more branches into the current working branch # # you can specify more than one branch to merge by passing an array of branches def merge(branch, message = 'merge') self.lib.merge(branch, message) end # iterates over the files which are unmerged def each_conflict(&block) # :yields: file, your_version, their_version self.lib.conflicts(&block) end # pulls the given branch from the given remote into the current branch # # @git.pull # pulls from origin/master # @git.pull('upstream') # pulls from upstream/master # @git.pull('upstream', 'develope') # pulls from upstream/develop # def pull(remote='origin', branch='master') self.lib.pull(remote, branch) end # returns an array of Git:Remote objects def remotes self.lib.remotes.map { |r| Git::Remote.new(self, r) } end # adds a new remote to this repository # url can be a git url or a Git::Base object if it's a local reference # # @git.add_remote('scotts_git', 'git://repo.or.cz/rubygit.git') # @git.fetch('scotts_git') # @git.merge('scotts_git/master') # # Options: # :fetch => true # :track => def add_remote(name, url, opts = {}) url = url.repo.path if url.is_a?(Git::Base) self.lib.remote_add(name, url, opts) Git::Remote.new(self, name) end # removes a remote from this repository # # @git.remove_remote('scott_git') def remove_remote(name) self.lib.remote_remove(name) end # returns an array of all Git::Tag objects for this repository def tags self.lib.tags.map { |r| tag(r) } end # returns a Git::Tag object def tag(tag_name) Git::Object.new(self, tag_name, 'tag', true) end # Creates a new git tag (Git::Tag) # Usage: # repo.add_tag('tag_name', object_reference) # repo.add_tag('tag_name', object_reference, {:options => 'here'}) # repo.add_tag('tag_name', {:options => 'here'}) # # Options: # :a | :annotate -> true # :d -> true # :f -> true # :m | :message -> String # :s -> true # def add_tag(name, *opts) self.lib.tag(name, *opts) tag(name) end # deletes a tag def delete_tag(name) self.lib.tag(name, {:d => true}) end # creates an archive file of the given tree-ish def archive(treeish, file = nil, opts = {}) self.object(treeish).archive(file, opts) end # repacks the repository def repack self.lib.repack end def gc self.lib.gc end def apply(file) if File.exist?(file) self.lib.apply(file) end end def apply_mail(file) self.lib.apply_mail(file) if File.exist?(file) end ## LOWER LEVEL INDEX OPERATIONS ## def with_index(new_index) # :yields: new_index old_index = @index set_index(new_index, false) return_value = yield @index set_index(old_index) return_value end def with_temp_index &blk # Workaround for JRUBY, since they handle the TempFile path different. # MUST be improved to be safer and OS independent. if RUBY_PLATFORM == 'java' temp_path = "/tmp/temp-index-#{(0...15).map{ ('a'..'z').to_a[rand(26)] }.join}" else tempfile = Tempfile.new('temp-index') temp_path = tempfile.path tempfile.close tempfile.unlink end with_index(temp_path, &blk) end def checkout_index(opts = {}) self.lib.checkout_index(opts) end def read_tree(treeish, opts = {}) self.lib.read_tree(treeish, opts) end def write_tree self.lib.write_tree end def commit_tree(tree = nil, opts = {}) Git::Object::Commit.new(self, self.lib.commit_tree(tree, opts)) end def write_and_commit_tree(opts = {}) tree = write_tree commit_tree(tree, opts) end def update_ref(branch, commit) branch(branch).update_ref(commit) end def ls_files(location=nil) self.lib.ls_files(location) end def with_working(work_dir) # :yields: the Git::WorkingDirectory return_value = false old_working = @working_directory set_working(work_dir) Dir.chdir work_dir do return_value = yield @working_directory end set_working(old_working) return_value end def with_temp_working &blk tempfile = Tempfile.new("temp-workdir") temp_dir = tempfile.path tempfile.close tempfile.unlink Dir.mkdir(temp_dir, 0700) with_working(temp_dir, &blk) end # runs git rev-parse to convert the objectish to a full sha # # @git.revparse("HEAD^^") # @git.revparse('v2.4^{tree}') # @git.revparse('v2.4:/doc/index.html') # def revparse(objectish) self.lib.revparse(objectish) end def ls_tree(objectish) self.lib.ls_tree(objectish) end def cat_file(objectish) self.lib.object_contents(objectish) end # returns the name of the branch the working directory is currently on def current_branch self.lib.branch_current end end end ruby-git-1.2.8/lib/git/branch.rb000066400000000000000000000053011236651770500164120ustar00rootroot00000000000000require 'git/path' module Git class Branch < Path attr_accessor :full, :remote, :name def initialize(base, name) @full = name @base = base @gcommit = nil @stashes = nil @remote, @name = parse_name(name) end def gcommit @gcommit ||= @base.gcommit(@full) @gcommit end def stashes @stashes ||= Git::Stashes.new(@base) end def checkout check_if_create @base.checkout(@full) end def archive(file, opts = {}) @base.lib.archive(@full, file, opts) end # g.branch('new_branch').in_branch do # # create new file # # do other stuff # return true # auto commits and switches back # end def in_branch (message = 'in branch work') old_current = @base.lib.branch_current checkout if yield @base.commit_all(message) else @base.reset_hard end @base.checkout(old_current) end def create check_if_create end def delete @base.lib.branch_delete(@name) end def current determine_current end def merge(branch = nil, message = nil) if branch in_branch do @base.merge(branch, message) false end # merge a branch into this one else # merge this branch into the current one @base.merge(@name) end end def update_ref(commit) @base.lib.update_ref(@full, commit) end def to_a [@full] end def to_s @full end private def check_if_create @base.lib.branch_new(@name) rescue nil end def determine_current @base.lib.branch_current == @name end # Given a full branch name return an Array containing the remote and branch names. # # Removes 'remotes' from the beggining of the name (if present). # Takes the second part (splittign by '/') as the remote name. # Takes the rest as the repo name (can also hold one or more '/'). # # Example: # parse_name('master') #=> [nil, 'master'] # parse_name('origin/master') #=> ['origin', 'master'] # parse_name('remotes/origin/master') #=> ['origin', 'master'] # parse_name('origin/master/v2') #=> ['origin', 'master/v2'] # # param [String] name branch full name. # return [] an Array containing the remote and branch names. def parse_name(name) if name.match(/^(?:remotes)?\/([^\/]+)\/(.+)/) return [Git::Remote.new(@base, $1), $2] end return [nil, name] end end end ruby-git-1.2.8/lib/git/branches.rb000066400000000000000000000031711236651770500167450ustar00rootroot00000000000000module Git # object that holds all the available branches class Branches include Enumerable def initialize(base) @branches = {} @base = base @base.lib.branches_all.each do |b| @branches[b[0]] = Git::Branch.new(@base, b[0]) end end def local self.select { |b| !b.remote } end def remote self.select { |b| b.remote } end # array like methods def size @branches.size end def each(&block) @branches.values.each(&block) end # Returns the target branch # # Example: # Given (git branch -a): # master # remotes/working/master # # g.branches['master'].full #=> 'master' # g.branches['working/master'].full => 'remotes/working/master' # g.branches['remotes/working/master'].full => 'remotes/working/master' # # @param [#to_s] branch_name the target branch name. # @return [Git::Branch] the target branch. def [](branch_name) @branches.values.inject(@branches) do |branches, branch| branches[branch.full] ||= branch # This is how Git (version 1.7.9.5) works. # Lets you ignore the 'remotes' if its at the beginning of the branch full name (even if is not a real remote branch). branches[branch.full.sub('remotes/', '')] ||= branch if branch.full =~ /^remotes\/.+/ branches end[branch_name.to_s] end def to_s out = '' @branches.each do |k, b| out << (b.current ? '* ' : ' ') << b.to_s << "\n" end out end end end ruby-git-1.2.8/lib/git/diff.rb000066400000000000000000000066041236651770500160740ustar00rootroot00000000000000module Git # object that holds the last X commits on given branch class Diff include Enumerable def initialize(base, from = nil, to = nil) @base = base @from = from.to_s @to = to.to_s @path = nil @full_diff = nil @full_diff_files = nil @stats = nil end attr_reader :from, :to def path(path) @path = path return self end def size cache_stats @stats[:total][:files] end def lines cache_stats @stats[:total][:lines] end def deletions cache_stats @stats[:total][:deletions] end def insertions cache_stats @stats[:total][:insertions] end def stats cache_stats @stats end # if file is provided and is writable, it will write the patch into the file def patch(file = nil) cache_full @full_diff end alias_method :to_s, :patch # enumerable methods def [](key) process_full @full_diff_files.assoc(key)[1] end def each(&block) # :yields: each Git::DiffFile in turn process_full @full_diff_files.map { |file| file[1] }.each(&block) end class DiffFile attr_accessor :patch, :path, :mode, :src, :dst, :type @base = nil def initialize(base, hash) @base = base @patch = hash[:patch] @path = hash[:path] @mode = hash[:mode] @src = hash[:src] @dst = hash[:dst] @type = hash[:type] @binary = hash[:binary] end def binary? !!@binary end def blob(type = :dst) if type == :src @base.object(@src) if @src != '0000000' else @base.object(@dst) if @dst != '0000000' end end end private def cache_full unless @full_diff @full_diff = @base.lib.diff_full(@from, @to, {:path_limiter => @path}) end end def process_full unless @full_diff_files cache_full @full_diff_files = process_full_diff end end def cache_stats unless @stats @stats = @base.lib.diff_stats(@from, @to, {:path_limiter => @path}) end end # break up @diff_full def process_full_diff final = {} current_file = nil @full_diff.split("\n").each do |line| if m = /diff --git a\/(.*?) b\/(.*?)/.match(line) current_file = m[1] final[current_file] = {:patch => line, :path => current_file, :mode => '', :src => '', :dst => '', :type => 'modified'} else if m = /index (.......)\.\.(.......)( ......)*/.match(line) final[current_file][:src] = m[1] final[current_file][:dst] = m[2] final[current_file][:mode] = m[3].strip if m[3] end if m = /(.*?) file mode (......)/.match(line) final[current_file][:type] = m[1] final[current_file][:mode] = m[2] end if m = /^Binary files /.match(line) final[current_file][:binary] = true end final[current_file][:patch] << "\n" + line end end final.map { |e| [e[0], DiffFile.new(@base, e[1])] } end end end ruby-git-1.2.8/lib/git/index.rb000066400000000000000000000000641236651770500162650ustar00rootroot00000000000000module Git class Index < Git::Path end end ruby-git-1.2.8/lib/git/lib.rb000066400000000000000000000535331236651770500157350ustar00rootroot00000000000000require 'tempfile' module Git class GitExecuteError < StandardError end class Lib def initialize(base = nil, logger = nil) @git_dir = nil @git_index_file = nil @git_work_dir = nil @path = nil if base.is_a?(Git::Base) @git_dir = base.repo.path @git_index_file = base.index.path if base.index @git_work_dir = base.dir.path if base.dir elsif base.is_a?(Hash) @git_dir = base[:repository] @git_index_file = base[:index] @git_work_dir = base[:working_directory] end @logger = logger end # creates or reinitializes the repository # # options: # :bare # :working_directory # def init(opts={}) arr_opts = [] arr_opts << '--bare' if opts[:bare] command('init', arr_opts, false) end # tries to clone the given repo # # returns {:repository} (if bare) # {:working_directory} otherwise # # accepts options: # :remote:: name of remote (rather than 'origin') # :bare:: no working directory # :recursive:: after the clone is created, initialize all submodules within, using their default settings. # :depth:: the number of commits back to pull # # TODO - make this work with SSH password or auth_key # def clone(repository, name, opts = {}) @path = opts[:path] || '.' clone_dir = opts[:path] ? File.join(@path, name) : name arr_opts = [] arr_opts << "--bare" if opts[:bare] arr_opts << "--recursive" if opts[:recursive] arr_opts << "-o" << opts[:remote] if opts[:remote] arr_opts << "--depth" << opts[:depth].to_i if opts[:depth] && opts[:depth].to_i > 0 arr_opts << "--config" << opts[:config] if opts[:config] arr_opts << '--' arr_opts << repository arr_opts << clone_dir command('clone', arr_opts) opts[:bare] ? {:repository => clone_dir} : {:working_directory => clone_dir} end ## READ COMMANDS ## def log_commits(opts={}) arr_opts = log_common_options(opts) arr_opts << '--pretty=oneline' arr_opts += log_path_options(opts) command_lines('log', arr_opts, true).map { |l| l.split.first } end def full_log_commits(opts={}) arr_opts = log_common_options(opts) arr_opts << '--pretty=raw' arr_opts << "--skip=#{opts[:skip]}" if opts[:skip] arr_opts += log_path_options(opts) full_log = command_lines('log', arr_opts, true) process_commit_log_data(full_log) end def revparse(string) return string if string =~ /^[A-Fa-f0-9]{40}$/ # passing in a sha - just no-op it rev = ['head', 'remotes', 'tags'].map do |d| File.join(@git_dir, 'refs', d, string) end.find do |path| File.file?(path) end return File.read(rev).chomp if rev command('rev-parse', string) end def namerev(string) command('name-rev', string).split[1] end def object_type(sha) command('cat-file', ['-t', sha]) end def object_size(sha) command('cat-file', ['-s', sha]).to_i end # returns useful array of raw commit object data def commit_data(sha) sha = sha.to_s cdata = command_lines('cat-file', ['commit', sha]) process_commit_data(cdata, sha, 0) end def process_commit_data(data, sha = nil, indent = 4) hsh = { 'sha' => sha, 'message' => '', 'parent' => [] } loop do key, *value = data.shift.split break if key.nil? if key == 'parent' hsh['parent'] << value.join(' ') else hsh[key] = value.join(' ') end end hsh['message'] = data.collect {|line| line[indent..-1]}.join("\n") + "\n" return hsh end def process_commit_log_data(data) in_message = false hsh_array = [] hsh = nil data.each do |line| line = line.chomp if line[0].nil? in_message = !in_message next end if in_message hsh['message'] << "#{line[4..-1]}\n" next end key, *value = line.split value = value.join(' ') case key when 'commit' hsh_array << hsh if hsh hsh = {'sha' => value, 'message' => '', 'parent' => []} when 'parent' hsh['parent'] << value else hsh[key] = value end end hsh_array << hsh if hsh return hsh_array end def object_contents(sha, &block) command('cat-file', ['-p', sha], &block) end def ls_tree(sha) data = {'blob' => {}, 'tree' => {}} command_lines('ls-tree', sha).each do |line| (info, filenm) = line.split("\t") (mode, type, sha) = info.split data[type][filenm] = {:mode => mode, :sha => sha} end data end def mv(file1, file2) command_lines('mv', ['--', file1, file2]) end def full_tree(sha) command_lines('ls-tree', ['-r', sha]) end def tree_depth(sha) full_tree(sha).size end def change_head_branch(branch_name) command('symbolic-ref', ['HEAD', "refs/heads/#{branch_name}"]) end def branches_all arr = [] command_lines('branch', '-a').each do |b| current = (b[0, 2] == '* ') arr << [b.gsub('* ', '').strip, current] end arr end def list_files(ref_dir) dir = File.join(@git_dir, 'refs', ref_dir) files = [] Dir.chdir(dir) { files = Dir.glob('**/*').select { |f| File.file?(f) } } rescue nil files end def branch_current branches_all.select { |b| b[1] }.first[0] rescue nil end # returns hash # [tree-ish] = [[line_no, match], [line_no, match2]] # [tree-ish] = [[line_no, match], [line_no, match2]] def grep(string, opts = {}) opts[:object] ||= 'HEAD' grep_opts = ['-n'] grep_opts << '-i' if opts[:ignore_case] grep_opts << '-v' if opts[:invert_match] grep_opts << '-e' grep_opts << string grep_opts << opts[:object] if opts[:object].is_a?(String) grep_opts << '--' << opts[:path_limiter] if opts[:path_limiter].is_a? String hsh = {} command_lines('grep', grep_opts).each do |line| if m = /(.*)\:(\d+)\:(.*)/.match(line) hsh[m[1]] ||= [] hsh[m[1]] << [m[2].to_i, m[3]] end end hsh end def diff_full(obj1 = 'HEAD', obj2 = nil, opts = {}) diff_opts = ['-p'] diff_opts << obj1 diff_opts << obj2 if obj2.is_a?(String) diff_opts << '--' << opts[:path_limiter] if opts[:path_limiter].is_a? String command('diff', diff_opts) end def diff_stats(obj1 = 'HEAD', obj2 = nil, opts = {}) diff_opts = ['--numstat'] diff_opts << obj1 diff_opts << obj2 if obj2.is_a?(String) diff_opts << '--' << opts[:path_limiter] if opts[:path_limiter].is_a? String hsh = {:total => {:insertions => 0, :deletions => 0, :lines => 0, :files => 0}, :files => {}} command_lines('diff', diff_opts).each do |file| (insertions, deletions, filename) = file.split("\t") hsh[:total][:insertions] += insertions.to_i hsh[:total][:deletions] += deletions.to_i hsh[:total][:lines] = (hsh[:total][:deletions] + hsh[:total][:insertions]) hsh[:total][:files] += 1 hsh[:files][filename] = {:insertions => insertions.to_i, :deletions => deletions.to_i} end hsh end # compares the index and the working directory def diff_files diff_as_hash('diff-files') end # compares the index and the repository def diff_index(treeish) diff_as_hash('diff-index', treeish) end def ls_files(location=nil) hsh = {} command_lines('ls-files', ['--stage', location]).each do |line| (info, file) = line.split("\t") (mode, sha, stage) = info.split file = eval(file) if file =~ /^\".*\"$/ # This takes care of quoted strings returned from git hsh[file] = {:path => file, :mode_index => mode, :sha_index => sha, :stage => stage} end hsh end def ignored_files command_lines('ls-files', ['--others', '-i', '--exclude-standard']) end def config_remote(name) hsh = {} config_list.each do |key, value| if /remote.#{name}/.match(key) hsh[key.gsub("remote.#{name}.", '')] = value end end hsh end def config_get(name) do_get = lambda do |path| command('config', ['--get', name]) end if @git_dir Dir.chdir(@git_dir, &do_get) else build_list.call end end def global_config_get(name) command('config', ['--global', '--get', name], false) end def config_list build_list = lambda do |path| parse_config_list command_lines('config', ['--list']) end if @git_dir Dir.chdir(@git_dir, &build_list) else build_list.call end end def global_config_list parse_config_list command_lines('config', ['--global', '--list'], false) end def parse_config_list(lines) hsh = {} lines.each do |line| (key, *values) = line.split('=') hsh[key] = values.join('=') end hsh end def parse_config(file) parse_config_list command_lines('config', ['--list', '--file', file], false) end ## WRITE COMMANDS ## def config_set(name, value) command('config', [name, value]) end def global_config_set(name, value) command('config', ['--global', name, value], false) end # updates the repository index using the workig dorectory content # # lib.add('path/to/file') # lib.add(['path/to/file1','path/to/file2']) # lib.add(:all => true) # # options: # :all => true # :force => true # # @param [String,Array] paths files paths to be added to the repository # @param [Hash] options def add(paths='.',options={}) arr_opts = [] arr_opts << '--all' if options[:all] arr_opts << '--force' if options[:force] arr_opts << '--' arr_opts << paths arr_opts.flatten! command('add', arr_opts) end def remove(path = '.', opts = {}) arr_opts = ['-f'] # overrides the up-to-date check by default arr_opts << ['-r'] if opts[:recursive] arr_opts << '--' if path.is_a?(Array) arr_opts += path else arr_opts << path end command('rm', arr_opts) end def commit(message, opts = {}) arr_opts = [] arr_opts << "--message=#{message}" if message arr_opts << '--amend' << '--no-edit' if opts[:amend] arr_opts << '--all' if opts[:add_all] || opts[:all] arr_opts << '--allow-empty' if opts[:allow_empty] arr_opts << "--author=#{opts[:author]}" if opts[:author] command('commit', arr_opts) end def reset(commit, opts = {}) arr_opts = [] arr_opts << '--hard' if opts[:hard] arr_opts << commit if commit command('reset', arr_opts) end def clean(opts = {}) arr_opts = [] arr_opts << '--force' if opts[:force] arr_opts << '-d' if opts[:d] arr_opts << '-x' if opts[:x] command('clean', arr_opts) end def revert(commitish, opts = {}) # Forcing --no-edit as default since it's not an interactive session. opts = {:no_edit => true}.merge(opts) arr_opts = [] arr_opts << '--no-edit' if opts[:no_edit] arr_opts << commitish command('revert', arr_opts) end def apply(patch_file) arr_opts = [] arr_opts << '--' << patch_file if patch_file command('apply', arr_opts) end def apply_mail(patch_file) arr_opts = [] arr_opts << '--' << patch_file if patch_file command('am', arr_opts) end def stashes_all arr = [] filename = File.join(@git_dir, 'logs/refs/stash') if File.exist?(filename) File.open(filename).each_with_index { |line, i| m = line.match(/:(.*)$/) arr << [i, m[1].strip] } end arr end def stash_save(message) output = command('stash save', ['--', message]) output =~ /HEAD is now at/ end def stash_apply(id = nil) if id command('stash apply', [id]) else command('stash apply') end end def stash_clear command('stash clear') end def stash_list command('stash list') end def branch_new(branch) command('branch', branch) end def branch_delete(branch) command('branch', ['-D', branch]) end def checkout(branch, opts = {}) arr_opts = [] arr_opts << '-f' if opts[:force] arr_opts << '-b' << opts[:new_branch] if opts[:new_branch] arr_opts << branch command('checkout', arr_opts) end def checkout_file(version, file) arr_opts = [] arr_opts << version arr_opts << file command('checkout', arr_opts) end def merge(branch, message = nil) arr_opts = [] arr_opts << '-m' << message if message arr_opts += [branch] command('merge', arr_opts) end def unmerged unmerged = [] command_lines('diff', ["--cached"]).each do |line| unmerged << $1 if line =~ /^\* Unmerged path (.*)/ end unmerged end def conflicts # :yields: file, your, their self.unmerged.each do |f| your = Tempfile.new("YOUR-#{File.basename(f)}").path command('show', ":2:#{f}", true, "> #{escape your}") their = Tempfile.new("THEIR-#{File.basename(f)}").path command('show', ":3:#{f}", true, "> #{escape their}") yield(f, your, their) end end def remote_add(name, url, opts = {}) arr_opts = ['add'] arr_opts << '-f' if opts[:with_fetch] || opts[:fetch] arr_opts << '-t' << opts[:track] if opts[:track] arr_opts << '--' arr_opts << name arr_opts << url command('remote', arr_opts) end def remote_remove(name) command('remote', ['rm', name]) end def remotes command_lines('remote') end def tags command_lines('tag') end def tag(name, *opts) target = opts[0].instance_of?(String) ? opts[0] : nil opts = opts.last.instance_of?(Hash) ? opts.last : {} if (opts[:a] || opts[:annotate]) && !(opts[:m] || opts[:message]) raise "Can not create an [:a|:annotate] tag without the precense of [:m|:message]." end arr_opts = [] arr_opts << '-f' if opts[:force] || opts[:f] arr_opts << '-a' if opts[:a] || opts[:annotate] arr_opts << '-s' if opts[:s] || opts[:sign] arr_opts << '-d' if opts[:d] || opts[:delete] arr_opts << name arr_opts << target if target arr_opts << "-m #{opts[:m] || opts[:message]}" if opts[:m] || opts[:message] command('tag', arr_opts) end def fetch(remote, opts) arr_opts = [remote] arr_opts << '--tags' if opts[:t] || opts[:tags] command('fetch', arr_opts) end def push(remote, branch = 'master', opts = {}) # Small hack to keep backwards compatibility with the 'push(remote, branch, tags)' method signature. opts = {:tags => opts} if [true, false].include?(opts) arr_opts = [] arr_opts << '--force' if opts[:force] || opts[:f] arr_opts << remote command('push', arr_opts + [branch]) command('push', ['--tags'] + arr_opts) if opts[:tags] end def pull(remote='origin', branch='master') command('pull', [remote, branch]) end def tag_sha(tag_name) head = File.join(@git_dir, 'refs', 'tags', tag_name) return File.read(head).chomp if File.exist?(head) command('show-ref', ['--tags', '-s', tag_name]) end def repack command('repack', ['-a', '-d']) end def gc command('gc', ['--prune', '--aggressive', '--auto']) end # reads a tree into the current index file def read_tree(treeish, opts = {}) arr_opts = [] arr_opts << "--prefix=#{opts[:prefix]}" if opts[:prefix] arr_opts += [treeish] command('read-tree', arr_opts) end def write_tree command('write-tree') end def commit_tree(tree, opts = {}) opts[:message] ||= "commit tree #{tree}" t = Tempfile.new('commit-message') t.write(opts[:message]) t.close arr_opts = [] arr_opts << tree arr_opts << '-p' << opts[:parent] if opts[:parent] arr_opts += [opts[:parents]].map { |p| ['-p', p] }.flatten if opts[:parents] command('commit-tree', arr_opts, true, "< #{escape t.path}") end def update_ref(branch, commit) command('update-ref', [branch, commit]) end def checkout_index(opts = {}) arr_opts = [] arr_opts << "--prefix=#{opts[:prefix]}" if opts[:prefix] arr_opts << "--force" if opts[:force] arr_opts << "--all" if opts[:all] arr_opts << '--' << opts[:path_limiter] if opts[:path_limiter].is_a? String command('checkout-index', arr_opts) end # creates an archive file # # options # :format (zip, tar) # :prefix # :remote # :path def archive(sha, file = nil, opts = {}) opts[:format] ||= 'zip' if opts[:format] == 'tgz' opts[:format] = 'tar' opts[:add_gzip] = true end file ||= Tempfile.new('archive').path arr_opts = [] arr_opts << "--format=#{opts[:format]}" if opts[:format] arr_opts << "--prefix=#{opts[:prefix]}" if opts[:prefix] arr_opts << "--remote=#{opts[:remote]}" if opts[:remote] arr_opts << sha arr_opts << '--' << opts[:path] if opts[:path] command('archive', arr_opts, true, (opts[:add_gzip] ? '| gzip' : '') + " > #{escape file}") return file end # returns the current version of git, as an Array of Fixnums. def current_command_version output = command('version', [], false) version = output[/\d+\.\d+(\.\d+)+/] version.split('.').collect {|i| i.to_i} end def required_command_version [1, 6] end def meets_required_version? (self.current_command_version <=> self.required_command_version) >= 0 end private def command_lines(cmd, opts = [], chdir = true, redirect = '') command(cmd, opts, chdir).split("\n") end def command(cmd, opts = [], chdir = true, redirect = '', &block) ENV['GIT_DIR'] = @git_dir ENV['GIT_WORK_TREE'] = @git_work_dir ENV['GIT_INDEX_FILE'] = @git_index_file path = @git_work_dir || @git_dir || @path opts = [opts].flatten.map {|s| escape(s) }.join(' ') git_cmd = "git #{cmd} #{opts} #{redirect} 2>&1" out = nil if chdir && (Dir.getwd != path) Dir.chdir(path) { out = run_command(git_cmd, &block) } else out = run_command(git_cmd, &block) end if @logger @logger.info(git_cmd) @logger.debug(out) end if $?.exitstatus > 0 if $?.exitstatus == 1 && out == '' return '' end raise Git::GitExecuteError.new(git_cmd + ':' + out.to_s) end out end # Takes the diff command line output (as Array) and parse it into a Hash # # @param [String] diff_command the diff commadn to be used # @param [Array] opts the diff options to be used # @return [Hash] the diff as Hash def diff_as_hash(diff_command, opts=[]) command_lines(diff_command, opts).inject({}) do |memo, line| info, file = line.split("\t") mode_src, mode_dest, sha_src, sha_dest, type = info.split memo[file] = { :mode_index => mode_dest, :mode_repo => mode_src.to_s[1, 7], :path => file, :sha_repo => sha_src, :sha_index => sha_dest, :type => type } memo end end # Returns an array holding the common options for the log commands # # @param [Hash] opts the given options # @return [Array] the set of common options that the log command will use def log_common_options(opts) arr_opts = [] arr_opts << "-#{opts[:count]}" if opts[:count] arr_opts << "--no-color" arr_opts << "--since=#{opts[:since]}" if opts[:since].is_a? String arr_opts << "--until=#{opts[:until]}" if opts[:until].is_a? String arr_opts << "--grep=#{opts[:grep]}" if opts[:grep].is_a? String arr_opts << "--author=#{opts[:author]}" if opts[:author].is_a? String arr_opts << "#{opts[:between][0].to_s}..#{opts[:between][1].to_s}" if (opts[:between] && opts[:between].size == 2) arr_opts end # Retrurns an array holding path options for the log commands # # @param [Hash] opts the given options # @return [Array] the set of path options that the log command will use def log_path_options(opts) arr_opts = [] arr_opts << opts[:object] if opts[:object].is_a? String arr_opts << '--' << opts[:path_limiter] if opts[:path_limiter] arr_opts end def run_command(git_cmd, &block) if block_given? IO.popen(git_cmd, &block) else `#{git_cmd}`.chomp end end def escape(s) return "'#{s && s.to_s.gsub('\'','\'"\'"\'')}'" if RUBY_PLATFORM !~ /mingw|mswin/ # Keeping the old escape format for windows users escaped = s.to_s.gsub('\'', '\'\\\'\'') return %Q{"#{escaped}"} end end end ruby-git-1.2.8/lib/git/log.rb000066400000000000000000000043651236651770500157470ustar00rootroot00000000000000module Git # object that holds the last X commits on given branch class Log include Enumerable def initialize(base, count = 30) dirty_log @base = base @count = count @commits = nil @author = nil @grep = nil @object = nil @path = nil @since = nil @skip = nil @until = nil @between = nil end def object(objectish) dirty_log @object = objectish return self end def author(regex) dirty_log @author = regex return self end def grep(regex) dirty_log @grep = regex return self end def path(path) dirty_log @path = path return self end def skip(num) dirty_log @skip = num return self end def since(date) dirty_log @since = date return self end def until(date) dirty_log @until = date return self end def between(sha1, sha2 = nil) dirty_log @between = [sha1, sha2] return self end def to_s self.map { |c| c.to_s }.join("\n") end # forces git log to run def size check_log @commits.size rescue nil end def each(&block) check_log @commits.each(&block) end def first check_log @commits.first rescue nil end def last check_log @commits.last rescue nil end def [](index) check_log @commits[index] rescue nil end private def dirty_log @dirty_flag = true end def check_log if @dirty_flag run_log @dirty_flag = false end end # actually run the 'git log' command def run_log log = @base.lib.full_log_commits(:count => @count, :object => @object, :path_limiter => @path, :since => @since, :author => @author, :grep => @grep, :skip => @skip, :until => @until, :between => @between) @commits = log.map { |c| Git::Object::Commit.new(@base, c['sha'], c) } end end end ruby-git-1.2.8/lib/git/object.rb000066400000000000000000000137111236651770500164270ustar00rootroot00000000000000module Git class GitTagNameDoesNotExist< StandardError end # represents a git object class Object class AbstractObject attr_accessor :objectish, :type, :mode attr_writer :size def initialize(base, objectish) @base = base @objectish = objectish.to_s @contents = nil @trees = nil @size = nil @sha = nil end def sha @sha ||= @base.lib.revparse(@objectish) end def size @size ||= @base.lib.object_size(@objectish) end # Get the object's contents. # If no block is given, the contents are cached in memory and returned as a string. # If a block is given, it yields an IO object (via IO::popen) which could be used to # read a large file in chunks. # # Use this for large files so that they are not held in memory. def contents(&block) if block_given? @base.lib.object_contents(@objectish, &block) else @contents ||= @base.lib.object_contents(@objectish) end end def contents_array self.contents.split("\n") end def to_s @objectish end def grep(string, path_limiter = nil, opts = {}) opts = {:object => sha, :path_limiter => path_limiter}.merge(opts) @base.lib.grep(string, opts) end def diff(objectish) Git::Diff.new(@base, @objectish, objectish) end def log(count = 30) Git::Log.new(@base, count).object(@objectish) end # creates an archive of this object (tree) def archive(file = nil, opts = {}) @base.lib.archive(@objectish, file, opts) end def tree?; false; end def blob?; false; end def commit?; false; end def tag?; false; end end class Blob < AbstractObject def initialize(base, sha, mode = nil) super(base, sha) @mode = mode end def blob? true end end class Tree < AbstractObject def initialize(base, sha, mode = nil) super(base, sha) @mode = mode @trees = nil @blobs = nil end def children blobs.merge(subtrees) end def blobs @blobs ||= check_tree[:blobs] end alias_method :files, :blobs def trees @trees ||= check_tree[:trees] end 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 def tree? true end private # actually run the git command def check_tree @trees = {} @blobs = {} data = @base.lib.ls_tree(@objectish) data['tree'].each do |key, tree| @trees[key] = Git::Object::Tree.new(@base, tree[:sha], tree[:mode]) end data['blob'].each do |key, blob| @blobs[key] = Git::Object::Blob.new(@base, blob[:sha], blob[:mode]) end { :trees => @trees, :blobs => @blobs } end end class Commit < AbstractObject def initialize(base, sha, init = nil) super(base, sha) @tree = nil @parents = nil @author = nil @committer = nil @message = nil if init set_commit(init) end end def message check_commit @message end def name @base.lib.namerev(sha) end def gtree check_commit Tree.new(@base, @tree) end def parent parents.first end # array of all parent commits def parents check_commit @parents end # git author def author check_commit @author end def author_date author.date end # git author def committer check_commit @committer end def committer_date committer.date end alias_method :date, :committer_date def diff_parent diff(parent) end def set_commit(data) if data['sha'] @sha = data['sha'] end @committer = Git::Author.new(data['committer']) @author = Git::Author.new(data['author']) @tree = Git::Object::Tree.new(@base, data['tree']) @parents = data['parent'].map{ |sha| Git::Object::Commit.new(@base, sha) } @message = data['message'].chomp end def commit? true end private # see if this object has been initialized and do so if not def check_commit unless @tree data = @base.lib.commit_data(@objectish) set_commit(data) end end end class Tag < AbstractObject attr_accessor :name def initialize(base, sha, name) super(base, sha) @name = name end def tag? true end end # if we're calling this, we don't know what type it is yet # so this is our little factory method def self.new(base, objectish, type = nil, is_tag = false) if is_tag sha = base.lib.tag_sha(objectish) if sha == '' raise Git::GitTagNameDoesNotExist.new(objectish) end return Git::Object::Tag.new(base, sha, objectish) end type ||= base.lib.object_type(objectish) klass = case type when /blob/ then Blob when /commit/ then Commit when /tree/ then Tree end klass.new(base, objectish) end end end ruby-git-1.2.8/lib/git/path.rb000066400000000000000000000007101236651770500161100ustar00rootroot00000000000000module Git class Path attr_accessor :path def initialize(path, check_path=true) path = File.expand_path(path) if check_path && !File.exist?(path) raise ArgumentError, 'path does not exist', [path] end @path = path end def readable? File.readable?(@path) end def writable? File.writable?(@path) end def to_s @path end end end ruby-git-1.2.8/lib/git/remote.rb000066400000000000000000000012451236651770500164530ustar00rootroot00000000000000module Git class Remote < Path attr_accessor :name, :url, :fetch_opts def initialize(base, name) @base = base config = @base.lib.config_remote(name) @name = name @url = config['url'] @fetch_opts = config['fetch'] end def fetch(opts={}) @base.fetch(@name, opts) end # merge this remote locally def merge(branch = 'master') @base.merge("#{@name}/#{branch}") end def branch(branch = 'master') Git::Branch.new(@base, "#{@name}/#{branch}") end def remove @base.lib.remote_remove(@name) end def to_s @name end end end ruby-git-1.2.8/lib/git/repository.rb000066400000000000000000000000611236651770500173720ustar00rootroot00000000000000module Git class Repository < Path end end ruby-git-1.2.8/lib/git/stash.rb000066400000000000000000000005621236651770500163030ustar00rootroot00000000000000module Git class Stash def initialize(base, message, existing=false) @base = base @message = message save unless existing end def save @saved = @base.lib.stash_save(@message) end def saved? @saved end def message @message end def to_s message end end endruby-git-1.2.8/lib/git/stashes.rb000066400000000000000000000013701236651770500166310ustar00rootroot00000000000000module Git # object that holds all the available stashes class Stashes include Enumerable def initialize(base) @stashes = [] @base = base @base.lib.stashes_all.each do |id, message| @stashes.unshift(Git::Stash.new(@base, message, true)) end end def save(message) s = Git::Stash.new(@base, message) @stashes.unshift(s) if s.saved? end def apply(index=nil) @base.lib.stash_apply(index) end def clear @base.lib.stash_clear @stashes = [] end def size @stashes.size end def each(&block) @stashes.each(&block) end def [](index) @stashes[index.to_i] end end end ruby-git-1.2.8/lib/git/status.rb000066400000000000000000000051731236651770500165070ustar00rootroot00000000000000module Git class Status include Enumerable def initialize(base) @base = base construct_status end def changed @files.select { |k, f| f.type == 'M' } end def added @files.select { |k, f| f.type == 'A' } end def deleted @files.select { |k, f| f.type == 'D' } end def untracked @files.select { |k, f| f.untracked } end def pretty out = '' self.each do |file| out << pretty_file(file) end out << "\n" out end def pretty_file(file) < file, :untracked => true} end end # find modified in tree @base.lib.diff_files.each do |path, data| @files[path] ? @files[path].merge!(data) : @files[path] = data end # find added but not committed - new files @base.lib.diff_index('HEAD').each do |path, data| @files[path] ? @files[path].merge!(data) : @files[path] = data end @files.each do |k, file_hash| @files[k] = StatusFile.new(@base, file_hash) end end end end ruby-git-1.2.8/lib/git/version.rb000066400000000000000000000001551236651770500166440ustar00rootroot00000000000000module Git # The current gem version # @return [String] the current gem version. VERSION='1.2.8' end ruby-git-1.2.8/lib/git/working_directory.rb000066400000000000000000000000721236651770500207210ustar00rootroot00000000000000module Git class WorkingDirectory < Git::Path end end ruby-git-1.2.8/tests/000077500000000000000000000000001236651770500144425ustar00rootroot00000000000000ruby-git-1.2.8/tests/all_tests.rb000066400000000000000000000002421236651770500167570ustar00rootroot00000000000000Dir.chdir(File.dirname(__FILE__)) do Dir.glob('**/test_*.rb') do |test_case| require "#{File.expand_path(File.dirname(__FILE__))}/#{test_case}" end end ruby-git-1.2.8/tests/files/000077500000000000000000000000001236651770500155445ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/index000066400000000000000000000004001236651770500165700ustar00rootroot00000000000000DIRCG2]dG2]dpÏ¢¤õõæâ›²ÑÖCK‹)®wZØÂäŒS‘ ex_dir/ex.txtG2]YG2]YpÏ ¤õõæâ›²ÑÖCK‹)®wZØÂäŒS‘ example.txtTREE82 1 ÀØFÏ€°yçcã\:òsðÊex_dir1 0 ky Ü^«0ñŒ«ÝèøÚÀÒÓ퉙<àh`!µ,>G,2"ØÖruby-git-1.2.8/tests/files/working.git/000077500000000000000000000000001236651770500200065ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/HEAD000066400000000000000000000000271236651770500204310ustar00rootroot00000000000000ref: refs/heads/master ruby-git-1.2.8/tests/files/working.git/config000066400000000000000000000001021236651770500211670ustar00rootroot00000000000000[core] repositoryformatversion = 0 filemode = true bare = true ruby-git-1.2.8/tests/files/working.git/description000066400000000000000000000000721236651770500222530ustar00rootroot00000000000000Unnamed repository; edit this file to name it for gitweb. ruby-git-1.2.8/tests/files/working.git/hooks/000077500000000000000000000000001236651770500211315ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/hooks/applypatch-msg000066400000000000000000000006711236651770500240110ustar00rootroot00000000000000#!/bin/sh # # An example hook script to check the commit log message taken by # applypatch from an e-mail message. # # The hook should exit with non-zero status after issuing an # appropriate message if it wants to stop the commit. The hook is # allowed to edit the commit message file. # # To enable this hook, make this file executable. . git-sh-setup test -x "$GIT_DIR/hooks/commit-msg" && exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} : ruby-git-1.2.8/tests/files/working.git/hooks/commit-msg000066400000000000000000000014141236651770500231300ustar00rootroot00000000000000#!/bin/sh # # An example hook script to check the commit log message. # Called by git-commit with one argument, the name of the file # that has the commit message. The hook should exit with non-zero # status after issuing an appropriate message if it wants to stop the # commit. The hook is allowed to edit the commit message file. # # To enable this hook, make this file executable. # Uncomment the below to add a Signed-off-by line to the message. # SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') # grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" # This example catches duplicate Signed-off-by lines. test "" = "$(grep '^Signed-off-by: ' "$1" | sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { echo >&2 Duplicate Signed-off-by lines. exit 1 } ruby-git-1.2.8/tests/files/working.git/hooks/post-commit000066400000000000000000000002301236651770500233220ustar00rootroot00000000000000#!/bin/sh # # An example hook script that is called after a successful # commit is made. # # To enable this hook, make this file executable. : Nothing ruby-git-1.2.8/tests/files/working.git/hooks/post-receive000066400000000000000000000007761236651770500234730ustar00rootroot00000000000000#!/bin/sh # # An example hook script for the post-receive event # # This script is run after receive-pack has accepted a pack and the # repository has been updated. It is passed arguments in through stdin # in the form # # For example: # aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master # # see contrib/hooks/ for an sample, or uncomment the next line (on debian) # #. /usr/share/doc/git-core/contrib/hooks/post-receive-email ruby-git-1.2.8/tests/files/working.git/hooks/post-update000066400000000000000000000003171236651770500233220ustar00rootroot00000000000000#!/bin/sh # # An example hook script to prepare a packed repository for use over # dumb transports. # # To enable this hook, make this file executable by "chmod +x post-update". exec git-update-server-info ruby-git-1.2.8/tests/files/working.git/hooks/pre-applypatch000066400000000000000000000006031236651770500240040ustar00rootroot00000000000000#!/bin/sh # # An example hook script to verify what is about to be committed # by applypatch from an e-mail message. # # The hook should exit with non-zero status after issuing an # appropriate message if it wants to stop the commit. # # To enable this hook, make this file executable. . git-sh-setup test -x "$GIT_DIR/hooks/pre-commit" && exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} : ruby-git-1.2.8/tests/files/working.git/hooks/pre-commit000066400000000000000000000032371236651770500231350ustar00rootroot00000000000000#!/bin/sh # # An example hook script to verify what is about to be committed. # Called by git-commit with no arguments. The hook should # exit with non-zero status after issuing an appropriate message if # it wants to stop the commit. # # To enable this hook, make this file executable. # This is slightly modified from Andrew Morton's Perfect Patch. # Lines you introduce should not have trailing whitespace. # Also check for an indentation that has SP before a TAB. if git-rev-parse --verify HEAD 2>/dev/null then git-diff-index -p -M --cached HEAD else # NEEDSWORK: we should produce a diff with an empty tree here # if we want to do the same verification for the initial import. : fi | perl -e ' my $found_bad = 0; my $filename; my $reported_filename = ""; my $lineno; sub bad_line { my ($why, $line) = @_; if (!$found_bad) { print STDERR "*\n"; print STDERR "* You have some suspicious patch lines:\n"; print STDERR "*\n"; $found_bad = 1; } if ($reported_filename ne $filename) { print STDERR "* In $filename\n"; $reported_filename = $filename; } print STDERR "* $why (line $lineno)\n"; print STDERR "$filename:$lineno:$line\n"; } while (<>) { if (m|^diff --git a/(.*) b/\1$|) { $filename = $1; next; } if (/^@@ -\S+ \+(\d+)/) { $lineno = $1 - 1; next; } if (/^ /) { $lineno++; next; } if (s/^\+//) { $lineno++; chomp; if (/\s$/) { bad_line("trailing whitespace", $_); } if (/^\s* /) { bad_line("indent SP followed by a TAB", $_); } if (/^(?:[<>=]){7}/) { bad_line("unresolved merge conflict", $_); } } } exit($found_bad); ' ruby-git-1.2.8/tests/files/working.git/hooks/pre-rebase000066400000000000000000000102461236651770500231040ustar00rootroot00000000000000#!/bin/sh # # Copyright (c) 2006 Junio C Hamano # publish=next basebranch="$1" if test "$#" = 2 then topic="refs/heads/$2" else topic=`git symbolic-ref HEAD` fi case "$basebranch,$topic" in master,refs/heads/??/*) ;; *) exit 0 ;# we do not interrupt others. ;; esac # Now we are dealing with a topic branch being rebased # on top of master. Is it OK to rebase it? # Is topic fully merged to master? not_in_master=`git-rev-list --pretty=oneline ^master "$topic"` if test -z "$not_in_master" then echo >&2 "$topic is fully merged to master; better remove it." exit 1 ;# we could allow it, but there is no point. fi # Is topic ever merged to next? If so you should not be rebasing it. only_next_1=`git-rev-list ^master "^$topic" ${publish} | sort` only_next_2=`git-rev-list ^master ${publish} | sort` if test "$only_next_1" = "$only_next_2" then not_in_topic=`git-rev-list "^$topic" master` if test -z "$not_in_topic" then echo >&2 "$topic is already up-to-date with master" exit 1 ;# we could allow it, but there is no point. else exit 0 fi else not_in_next=`git-rev-list --pretty=oneline ^${publish} "$topic"` perl -e ' my $topic = $ARGV[0]; my $msg = "* $topic has commits already merged to public branch:\n"; my (%not_in_next) = map { /^([0-9a-f]+) /; ($1 => 1); } split(/\n/, $ARGV[1]); for my $elem (map { /^([0-9a-f]+) (.*)$/; [$1 => $2]; } split(/\n/, $ARGV[2])) { if (!exists $not_in_next{$elem->[0]}) { if ($msg) { print STDERR $msg; undef $msg; } print STDERR " $elem->[1]\n"; } } ' "$topic" "$not_in_next" "$not_in_master" exit 1 fi exit 0 ################################################################ This sample hook safeguards topic branches that have been published from being rewound. The workflow assumed here is: * Once a topic branch forks from "master", "master" is never merged into it again (either directly or indirectly). * Once a topic branch is fully cooked and merged into "master", it is deleted. If you need to build on top of it to correct earlier mistakes, a new topic branch is created by forking at the tip of the "master". This is not strictly necessary, but it makes it easier to keep your history simple. * Whenever you need to test or publish your changes to topic branches, merge them into "next" branch. The script, being an example, hardcodes the publish branch name to be "next", but it is trivial to make it configurable via $GIT_DIR/config mechanism. With this workflow, you would want to know: (1) ... if a topic branch has ever been merged to "next". Young topic branches can have stupid mistakes you would rather clean up before publishing, and things that have not been merged into other branches can be easily rebased without affecting other people. But once it is published, you would not want to rewind it. (2) ... if a topic branch has been fully merged to "master". Then you can delete it. More importantly, you should not build on top of it -- other people may already want to change things related to the topic as patches against your "master", so if you need further changes, it is better to fork the topic (perhaps with the same name) afresh from the tip of "master". Let's look at this example: o---o---o---o---o---o---o---o---o---o "next" / / / / / a---a---b A / / / / / / / / c---c---c---c B / / / / \ / / / / b---b C \ / / / / / \ / ---o---o---o---o---o---o---o---o---o---o---o "master" A, B and C are topic branches. * A has one fix since it was merged up to "next". * B has finished. It has been fully merged up to "master" and "next", and is ready to be deleted. * C has not merged to "next" at all. We would want to allow C to be rebased, refuse A, and encourage B to be deleted. To compute (1): git-rev-list ^master ^topic next git-rev-list ^master next if these match, topic has not merged in next at all. To compute (2): git-rev-list master..topic if this is empty, it is fully merged to "master". ruby-git-1.2.8/tests/files/working.git/hooks/update000066400000000000000000000037011236651770500223370ustar00rootroot00000000000000#!/bin/sh # # An example hook script to blocks unannotated tags from entering. # Called by git-receive-pack with arguments: refname sha1-old sha1-new # # To enable this hook, make this file executable by "chmod +x update". # # Config # ------ # hooks.allowunannotated # This boolean sets whether unannotated tags will be allowed into the # repository. By default they won't be. # # --- Command line refname="$1" oldrev="$2" newrev="$3" # --- Safety check if [ -z "$GIT_DIR" ]; then echo "Don't run this script from the command line." >&2 echo " (if you want, you could supply GIT_DIR then run" >&2 echo " $0 )" >&2 exit 1 fi if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then echo "Usage: $0 " >&2 exit 1 fi # --- Config allowunannotated=$(git-repo-config --bool hooks.allowunannotated) # check for no description projectdesc=$(sed -e '1p' "$GIT_DIR/description") if [ -z "$projectdesc" -o "$projectdesc" = "Unnamed repository; edit this file to name it for gitweb" ]; then echo "*** Project description file hasn't been set" >&2 exit 1 fi # --- Check types # if $newrev is 0000...0000, it's a commit to delete a branch if [ "$newrev" = "0000000000000000000000000000000000000000" ]; then newrev_type=commit else newrev_type=$(git-cat-file -t $newrev) fi case "$refname","$newrev_type" in refs/tags/*,commit) # un-annotated tag short_refname=${refname##refs/tags/} if [ "$allowunannotated" != "true" ]; then echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 exit 1 fi ;; refs/tags/*,tag) # annotated tag ;; refs/heads/*,commit) # branch ;; refs/remotes/*,commit) # tracking branch ;; *) # Anything else (is there anything else?) echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 exit 1 ;; esac # --- Finished exit 0 ruby-git-1.2.8/tests/files/working.git/info/000077500000000000000000000000001236651770500207415ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/info/exclude000066400000000000000000000003601236651770500223140ustar00rootroot00000000000000# git-ls-files --others --exclude-from=.git/info/exclude # Lines that start with '#' are comments. # For a project mostly in C, the following would be a good set of # exclude patterns (uncomment them if you want to use them): # *.[oa] # *~ ruby-git-1.2.8/tests/files/working.git/objects/000077500000000000000000000000001236651770500214375ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/00/000077500000000000000000000000001236651770500216565ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/00/62cdf4c1e63069eececf54325535e91fd57c42000066400000000000000000000001301236651770500270750ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØ6/ëlûÓŸ‚>Ï"¸9ã>²Võ?Ý ûÊ"]ruby-git-1.2.8/tests/files/working.git/objects/00/ea60e1331b184386392037a7267dfb4a7c7d86000066400000000000000000000002531236651770500265740ustar00rootroot00000000000000x­Ž]j1 „ûìSø þ“£…P=‰V–š}Øuð*ÐãÇô }›˜û¾oæS­6D|fͰ¶XXASk×UD±.Ø®!h¦Q€Ý“†æ¡c¤$ØbŒ©^3TÅ(ÍQ+­<ïêèe>üÉÝÌ?ˆûáo'ÿ…;ýPëãœLÛøu^¸çe±íw¶ýËǸ(KôŸCpsæ&ÿÉtSd;ÜÕY ruby-git-1.2.8/tests/files/working.git/objects/01/000077500000000000000000000000001236651770500216575ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/01/0b7b79019cb510d8c5849704fd10541655916d000066400000000000000000000000241236651770500264320ustar00rootroot00000000000000xKÊÉOR°0a0ä¢>aD Úruby-git-1.2.8/tests/files/working.git/objects/01/dd46ebe07fc30c10c85c2e926c70f2d7058a6b000066400000000000000000000001301236651770500271360ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a0î;ÍØ|•ݳëí¶ÌíÓ¶ü|ÑÁÏñÉ"ruby-git-1.2.8/tests/files/working.git/objects/02/000077500000000000000000000000001236651770500216605ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/02/b2a02844d00574c234d17bec6294e832f3c4c1000066400000000000000000000001301236651770500266240ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(apc-eÛ§ðZ”qÉǨ g-Wv¾KÙ‡!=ruby-git-1.2.8/tests/files/working.git/objects/06/000077500000000000000000000000001236651770500216645ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/06/f4e8a840d23fc0ab94895a5d16827a19f75fb7000066400000000000000000000000241236651770500270340ustar00rootroot00000000000000xKÊÉOR05`0ä" ,èruby-git-1.2.8/tests/files/working.git/objects/0b/000077500000000000000000000000001236651770500217405ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/0b/2fe00801b62b7760c23d554796b05abc16af92000066400000000000000000000001301236651770500267100ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aÐ~–~ñF_éæ_ü³¶=ºñÿ²–(‚#Cruby-git-1.2.8/tests/files/working.git/objects/0b/5262f6ee3552a99b7081a317e8289d6a4d8e72000066400000000000000000000000251236651770500266750ustar00rootroot00000000000000xKÊÉOR044c0ä¢?1¶ruby-git-1.2.8/tests/files/working.git/objects/0b/c0d846cf80b079e763e35c3af273171bf01fca000066400000000000000000000001301236651770500271370ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(ax6÷ÑìM¯9{wk®+ºqèIOðD x#Éruby-git-1.2.8/tests/files/working.git/objects/0d/000077500000000000000000000000001236651770500217425ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/0d/2c47f07277b3ea30b0884f8e3acd68440507c8000066400000000000000000000002531236651770500267400ustar00rootroot00000000000000x­ŽAn! E»æ\ ž1†HQ©'1Æ4³˜!b©Çêºûï/žžô}ßÌ/D6T=6 a))7%bMº†[”ȈTjÈÅ=yèaž–$5ÌÂJ­ ”„±VÒšÆj^኎_öèßÒÍü÷ƒ¥þvÊ߸ó×>Îé´M^çEúx^†²ØØ~'í_¦$â•VôŸ!‡àæ;ËMÿÓéfÈv¸7ç­Xruby-git-1.2.8/tests/files/working.git/objects/0d/519ca9c2eddc44431efe135d0fc8df00e0b975000066400000000000000000000002521236651770500273100ustar00rootroot00000000000000x­Ž[jÃ0Eû­Uh1ifdC(¬d¬Gã[AC—Ñ5ôï>àpRÛ÷M­gþÒ^ŠÅè*Ë«äì©r^]ÅèIJˆqŒ¸bó–^µ3TB ½óÈ<^bâ"ÈAh]0 U#—¾Z·gjªöù’Ô{?Ó_xÈäÖÏÁÔ-]ç”ZO½HÒ¾ý޶[€ F¶77;gÆ:̵ü'Ó ‘í0§cV_ruby-git-1.2.8/tests/files/working.git/objects/0f/000077500000000000000000000000001236651770500217445ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/0f/845a0a981bc2f61354fcdd2b6eafe2b2c55c2d000066400000000000000000000002501236651770500273600ustar00rootroot00000000000000x­ŽA E]s .`…ÂcâIÆaj»hi`šx|‰gp÷ß_¼<*Û¶ŠC¸HeÖ92xÏLnÌÑ£Ë.’'6¬ƒ0[ã¦Ô•wÑÐÒ Ç”‚ Ì4#²CB;ù“Ë OYJÕŠˆ~.He×·F¿ñÀ7æR[wÊJg¨Ôc¨Œ$uýtÚîÚÚä»+¸¤¯ŒQýíåÂÿtª²îê ¸X-ruby-git-1.2.8/tests/files/working.git/objects/0f/f4a0357c3d7221a2ef1e4c6b7d5c46d97fe250000066400000000000000000000001301236651770500271460ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aðÒ~0ÅoRë‹Jb'7ìX~ùìeQõÈ"åruby-git-1.2.8/tests/files/working.git/objects/12/000077500000000000000000000000001236651770500216615ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/12/eb889f49f1464b32a51424d7724fb16f6c3a31000066400000000000000000000001301236651770500266530ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a°Î{wóœó«N›/½j¶+M<Þ®›/ýU"Pruby-git-1.2.8/tests/files/working.git/objects/15/000077500000000000000000000000001236651770500216645ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/15/34a65657edf4e5caaa5ce35652dca5e4c7d316000066400000000000000000000001301236651770500272300ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(axÉûB­¹øÉߨÆÛKbÝ߈5Úö¾!xruby-git-1.2.8/tests/files/working.git/objects/15/378a1f3eafe4c5ab4f890883356df917ee5539000066400000000000000000000002511236651770500270500ustar00rootroot00000000000000x­ŽQ Â0DýÎ)r%i7éDO²Ùl´mJº‚Ç7xÿf†áñ¸®ë¢vˆñ¤MÄ&? L"D‘‹䑿&Ì ýU(!NÌNM6µ&‚D2—g‘ìòòè„èIh₆ÞúªÍ\UíãE\7{=øîô¤\ÛÑ™ºðû¸pmû¥ ±¶åÓÛz³ÞÏ`Ž€öìÐ9Ó×n®òO¦é"Ëf¾Ü{Yruby-git-1.2.8/tests/files/working.git/objects/16/000077500000000000000000000000001236651770500216655ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/16/9e6db43d4c09cd610179a7b9826483b4d94123000066400000000000000000000001301236651770500266040ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a`ä®®dœ³UàÆÑ–é,BÄB'æÖú©ruby-git-1.2.8/tests/files/working.git/objects/16/d1f96acfd92d09c4f1f56d3441ac55dd30500e000066400000000000000000000000241236651770500271450ustar00rootroot00000000000000xKÊÉOR0¶`0ä"µQŒruby-git-1.2.8/tests/files/working.git/objects/16/ee5335538f11b4ffcc17b051f8d5db7570a055000066400000000000000000000000241236651770500270100ustar00rootroot00000000000000xKÊÉOR03a0ä¢ ˆÉ Šruby-git-1.2.8/tests/files/working.git/objects/17/000077500000000000000000000000001236651770500216665ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/17/9ef0e0209e90af00f544ff414e0674dfb5f5c7000066400000000000000000000000241236651770500271010ustar00rootroot00000000000000xKÊÉOR01`0ä"Á°Àruby-git-1.2.8/tests/files/working.git/objects/19/000077500000000000000000000000001236651770500216705ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/19/9d2f8e60fddd1bb2a1b0bddedde35e5aa8b03f000066400000000000000000000001301236651770500276540ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(açž¾2ÀýTœe¸ÈŒ¨_o7¶}9 ãc"ruby-git-1.2.8/tests/files/working.git/objects/1c/000077500000000000000000000000001236651770500217425ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/1c/c8667014381e2788a94777532a788307f38d26000066400000000000000000000002521236651770500263340ustar00rootroot00000000000000x­ŽAŠÃ0 EgíSøìÔ–e(CaN¢HÊ$‹ÔÅVaŽßÐ3t÷ß[<>·ãØÍÏ¿¬«úšç‚%ëÌ$ .Œ’X¤†°ÆJTá’¸¸u½›Ï eXˬ+¥(Yj¡ Ô FÈÊBAÔÑÓ¶Öýàfæ7âv÷×Áïq£?’ÖÇÙ´ŸcâÖSWbëûÿIDZ¦ 1"úï€!¸ÓžÏM?Ùt¦ÃÜ e>X²ruby-git-1.2.8/tests/files/working.git/objects/1c/fcfba04eb4e461e9f930d22f528023ab1ddefc000066400000000000000000000000251236651770500274360ustar00rootroot00000000000000xKÊÉOR044a0ä¢7Ëyruby-git-1.2.8/tests/files/working.git/objects/1d/000077500000000000000000000000001236651770500217435ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/1d/7be4117ded4534789d85c42ab579644cd3fa12000066400000000000000000000001301236651770500270230ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¸|±PI®}1ëÜä~ÑøÎ©Sofå{ ¾ruby-git-1.2.8/tests/files/working.git/objects/1d/9e4767a95047ca5e395714985afaedb186f4cd000066400000000000000000000000231236651770500271240ustar00rootroot00000000000000xKÊÉOR06`0ä‚ݘruby-git-1.2.8/tests/files/working.git/objects/1f/000077500000000000000000000000001236651770500217455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/1f/09f2edb9c0d9275d15960771b363ca6940fbe3000066400000000000000000000000461236651770500270270ustar00rootroot00000000000000xKÊÉOR02b(J-ÈILNU(Ï,ÉPÈK-W(I­(á›È 5ruby-git-1.2.8/tests/files/working.git/objects/1f/691b879df15cf6742502ffc59833b4a40e7aef000066400000000000000000000001661236651770500271250ustar00rootroot00000000000000x+)JMU040a01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(açüôvç›ê±¢ÓØ 7'ŸÊtøýbNqr~I ƒž‚°^ÿžÍ/”<&ΘÀkø±1 é´-}ruby-git-1.2.8/tests/files/working.git/objects/23/000077500000000000000000000000001236651770500216635ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/23/751ef6c1fed1304ae1d07020aa73da6f2b93b0000066400000000000000000000000231236651770500271140ustar00rootroot00000000000000xKÊÉOR0²`0ä xˆdruby-git-1.2.8/tests/files/working.git/objects/24/000077500000000000000000000000001236651770500216645ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/24/5582a71306d7360e40c07cd7d849a1aa14a31e000066400000000000000000000001301236651770500266270ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aab°ˆ±æÖœSÕþæëœ•>F¿÷ÍÐ ­ruby-git-1.2.8/tests/files/working.git/objects/26/000077500000000000000000000000001236651770500216665ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/26/3e3c527004e7b742ed1f747c1bfb7e11825d7a000066400000000000000000000001301236651770500270060ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a°IñWÚ¹ã톼:;S'žK $~î!¬ruby-git-1.2.8/tests/files/working.git/objects/27/000077500000000000000000000000001236651770500216675ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/27/c0c003dda3e59ba236f53f6661faaf74432b5c000066400000000000000000000001301236651770500271340ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aˆÙËô\³~¶Éå"ç¥ w$—â* éruby-git-1.2.8/tests/files/working.git/objects/29/000077500000000000000000000000001236651770500216715ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/29/1b6be488d6abc586d3ee03ca61238766625a75000066400000000000000000000002511236651770500267510ustar00rootroot00000000000000x­ŽA E]s .`3 1ÆÄ“Ðé ]´4tšx|‰gp÷ß_¼<ªëºˆ/Ò˜5“a;;ÇMœ§2åaò„D–1DV{n¼‰Žè+DÕß^.üO§ê!˦¾¯øW~ruby-git-1.2.8/tests/files/working.git/objects/2a/000077500000000000000000000000001236651770500217415ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/2a/f6f7d51b7afdd404a871581ebb3b6ac07fb8cc000066400000000000000000000001301236651770500274440ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aðܤ9ÝôïâÅÆÇæ$‹wóØþâê žruby-git-1.2.8/tests/files/working.git/objects/2c/000077500000000000000000000000001236651770500217435ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/2c/ef51480d44dcc262d16be2812c692d940d5f29000066400000000000000000000001301236651770500270120ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¸73wÁ{Ûsu½Ÿä¼ÊN5n‡êV A# ruby-git-1.2.8/tests/files/working.git/objects/2e/000077500000000000000000000000001236651770500217455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/2e/20132e8fd40cb3e82248919a10900d31f1816a000066400000000000000000000000651236651770500265550ustar00rootroot00000000000000x+)JMU06c040031Q(I­(Ñ+©(aXùèævéÄTÃ^©ë¢§k/½øéôdQ§9ruby-git-1.2.8/tests/files/working.git/objects/2e/939fd37bbd2da971faa27c3e3de7d5aad40507000066400000000000000000000002531236651770500273760ustar00rootroot00000000000000x­ŽAnà E»æ\ 0€AŠªH9É0 6K=~PÏÐÝñô¨ïû&ÚÅø%ƒY¯ E,ÑÓêkp-¯Pm¢j3Ø„©fdÇêƒÑh 42µby¢dsi-µà¹ˆÞ)¼äÕ‡>©‹èç ©ú~ÒßxàÖ>Îé”®s¡>ÞË`$Ûï¤ý[[›}ð9§o&£æ;Ë…ÿÓ©fÈv¨°*X÷ruby-git-1.2.8/tests/files/working.git/objects/2f/000077500000000000000000000000001236651770500217465ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/2f/53e667d1d88e75b3fa300f9ab6e2d8ffd32a15000066400000000000000000000000241236651770500272440ustar00rootroot00000000000000xKÊÉOR01c0ä"íöwruby-git-1.2.8/tests/files/working.git/objects/32/000077500000000000000000000000001236651770500216635ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/32/4968b9dc40253f2c52a8e3856398c761dea856000066400000000000000000000002531236651770500266300ustar00rootroot00000000000000x­ŽKnÃ0 »Ö)t2õ5r’¢/l2 ôøz†îÞ›Å`¸íû¦RúÒ.b#B‘µÂÊkŒ”)¡ÌœÅJŧyP"óÆ.‡ÚP}$\2–X\†àª‡,žÅ;†BÞ{œÉ¼ôÕº=¹©Úç ¹ö~òßxàÖÖÏáÔ¯sâÖßSdíÛïxû·ç%ݤöæŠsfÐQ®òŸN3B¶Ã|‰OXƒruby-git-1.2.8/tests/files/working.git/objects/33/000077500000000000000000000000001236651770500216645ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/33/8ecb0183d507498aedb669b796b4f9e8880f00000066400000000000000000000000241236651770500267660ustar00rootroot00000000000000xKÊÉOR01b0ä"Ïôýruby-git-1.2.8/tests/files/working.git/objects/33/edabb4334cbe849a477a0d2893cdb768fa3091000066400000000000000000000001301236651770500271530ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aX(êhÊ8e¾?g£üÅUo>š:~Ú½!ruby-git-1.2.8/tests/files/working.git/objects/34/000077500000000000000000000000001236651770500216655ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/34/a566d193dc4702f03149969a2aad1443231560000066400000000000000000000002701236651770500264220ustar00rootroot00000000000000x­ÎMn…0 à®9…/ЧüB¤ªªÔ“Ç., (1ê;þC=Cw3³ø4\÷}33¾Y¯SöËœrQ?²N Ãè‚*yŽqAB'‰D‡“šË’<ÆŒXXɹIE%é‚™ñf"/!S‘.[kƒÎÕ ¾WâzÀGç¿ðE?Tjë·i_ýÁµ&ÄÖ¶çÝöOð>ãCN#¼»Ù¹á^ïç&ÿi{-›nRÀ*Õ ¯õ®sxÒ_€ruby-git-1.2.8/tests/files/working.git/objects/36/000077500000000000000000000000001236651770500216675ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/36/fe213c328fd280f33abe00069c4b92eb5a88d1000066400000000000000000000002521236651770500270660ustar00rootroot00000000000000x­Ž] à „ûì)¼@ƒZ×(¥Ð“¬«i|H f=~¥gèÛÌ0||ÔÖµ²4Î]¸—" 8PÉ&@k5èiNJg›C&JŒÑIìØËÆ2šÍ-+7c*äS0)ƒIÁ£7fS¼À“—ÖåAY¾¤¶ÉûA¿ðÄ7æÖÁäJç1QëûÔ ÷úm}H­£Uòª‚Rb¬ÃœË?™bˆÔM|O"Xcruby-git-1.2.8/tests/files/working.git/objects/39/000077500000000000000000000000001236651770500216725ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/39/66e9fa0e0b9fe9d3ef2fdaa6933f3d0bb82bc3000066400000000000000000000000241236651770500274650ustar00rootroot00000000000000xKÊÉOR°4b0ä¢Ä+ Åruby-git-1.2.8/tests/files/working.git/objects/3a/000077500000000000000000000000001236651770500217425ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/3a/9f195756f5bd26b67c5e1fffd92d68d61be14e000066400000000000000000000002531236651770500272710ustar00rootroot00000000000000x­ŽQ Â0Dýî)öʦI³ ˆžd»Iµ`MIVðøÏàß¼yŒ”m[Fƒ֜af±v’9&Á)°#Jè$eë)™…0¿Ìqع旂 ÞgƒÉ#…À±h²#w°H‹ iô¿õQ*4)ªp{°”œ›ü•ïœJmÝ©«¼ÛIJÝO5³h]?¶ ÝäcpއÞöçšÿéìÒòÍM‡/ÎhX·ruby-git-1.2.8/tests/files/working.git/objects/3a/ac4b445017a8fc07502670ec2dbf744213dd48000066400000000000000000000000311236651770500267710ustar00rootroot00000000000000xKÊÉOR046`0äHhÄeIJQruby-git-1.2.8/tests/files/working.git/objects/3b/000077500000000000000000000000001236651770500217435ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/3b/6eeed9ce43ea893cf48d263da93448edae9f1c000066400000000000000000000000251236651770500275040ustar00rootroot00000000000000xKÊÉOR040`0ä¢=@ ×ruby-git-1.2.8/tests/files/working.git/objects/3c/000077500000000000000000000000001236651770500217445ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/3c/644f22b9b8edb06e7e298ecac8e71b133061f1000066400000000000000000000000241236651770500271540ustar00rootroot00000000000000xKÊÉOR05c0ä"?žŸruby-git-1.2.8/tests/files/working.git/objects/3c/c71b13d906e445da52785ddeff40dad1163d49000066400000000000000000000001121236651770500271500ustar00rootroot00000000000000xMËA €@@ÑÖžÂg&,Ña4º~¶kù>ü®Þqß&U‡d ”€†§([~w"Ó¬àÔæÁèöW>æu۵ ‹Fruby-git-1.2.8/tests/files/working.git/objects/3c/f35bd14cf5f2dd08bbeef8698d700f3a038e5c000066400000000000000000000001301236651770500273770ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a“Œûa7OáTéÝ{’ÙŒÿ4$¼ïÆ!âruby-git-1.2.8/tests/files/working.git/objects/3d/000077500000000000000000000000001236651770500217455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/3d/331db92a8ead0565679efb76f328ae69ed1b77000066400000000000000000000000251236651770500272010ustar00rootroot00000000000000xKÊÉOR042`0änÚ'ruby-git-1.2.8/tests/files/working.git/objects/44/000077500000000000000000000000001236651770500216665ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/44/88516c3c936db58ea485ec2213dab9d13e6628000066400000000000000000000000241236651770500267500ustar00rootroot00000000000000xKÊÉOR°°`0ä¢ “b Truby-git-1.2.8/tests/files/working.git/objects/44/987dd95c338fb573726541f270f1a7b55c9d51000066400000000000000000000000251236651770500266240ustar00rootroot00000000000000xKÊÉOR040b0ä¢\ýruby-git-1.2.8/tests/files/working.git/objects/45/000077500000000000000000000000001236651770500216675ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/45/20c29b885e9db9b0df3c7bab7870157e1d00c3000066400000000000000000000001231236651770500270720ustar00rootroot00000000000000x+)JMU07d040031QÈK-OËÌIeˆuckb7c±Ÿ÷V+Ù,M6cÒ …¥P%%©%z%% 6Ç¥…o²=q½T{ï¿Ã­‹b¶žÔ<µruby-git-1.2.8/tests/files/working.git/objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057000066400000000000000000000000221236651770500273250ustar00rootroot00000000000000xKÊÉOR0fÈÈä£Îruby-git-1.2.8/tests/files/working.git/objects/46/000077500000000000000000000000001236651770500216705ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/46/00557506be20eb1501a4f15a52e684d4b9ee61000066400000000000000000000000241236651770500266350ustar00rootroot00000000000000xKÊÉOR0³`0䢱W ruby-git-1.2.8/tests/files/working.git/objects/46/a60232117527e7b57ac0dd5ea4af2cd3fdb696000066400000000000000000000001271236651770500271500ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(að’³se˜¦cf¸¤²(ûÓ–ÌHŸ]ÌÓqruby-git-1.2.8/tests/files/working.git/objects/47/000077500000000000000000000000001236651770500216715ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/47/0f6a87fa51dd25f6db0f4725ae37791d449356000066400000000000000000000001301236651770500267530ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aXÓï±{ûf™)ÑË–ü~6•—aVls1ü$".ruby-git-1.2.8/tests/files/working.git/objects/47/2650d42fa9454e2e61e3da9f5c158b8af6d298000066400000000000000000000001661236651770500270450ustar00rootroot00000000000000x+)JMU040a01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(açüôvç›ê±¢ÓØ 7'ŸÊtøýbNqr~I ƒ«Â¡Ùqswn¸oS½º¢@´N–á0.ßruby-git-1.2.8/tests/files/working.git/objects/47/8e5ee111572790b248eaa99140c5a8f728abc7000066400000000000000000000002531236651770500267530ustar00rootroot00000000000000x­ŽKnÃ0 »Ö)tÔ‡´E€ž„¢˜Æ [Ì=~„ž¡»7o1éû¾™D6T}&&ˆ)†°`\t©¸°@k¨œù¥¥{«TÈ=yèa~­­dPEÖš¢B D³Ä!¥UJsü²Gþ”næ¿,ýð×SþƸõqN§mò:/ÒÇó2”ÅÆö;iÿò!”Œ¹¢ÿ„ÀÍw–›þ§ÓÍípoßbWíruby-git-1.2.8/tests/files/working.git/objects/48/000077500000000000000000000000001236651770500216725ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/48/bbf0db7e813affab7d8dd2842b8455ff9876be000066400000000000000000000001661236651770500274330ustar00rootroot00000000000000x+)JMU040a01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aè=>ëybÖ~9]ߨéWÓ>múvî3Äœâäü’W…C³;âæîÜpߦzuEh,Ãa;ò0)ruby-git-1.2.8/tests/files/working.git/objects/49/000077500000000000000000000000001236651770500216735ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/49/b352299735fda3a333c69c6273178b0c3dfa08000066400000000000000000000000251236651770500266630ustar00rootroot00000000000000xKÊÉOR040a0ä¢zeQruby-git-1.2.8/tests/files/working.git/objects/4a/000077500000000000000000000000001236651770500217435ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/4a/1e3e4500962c3631a479726bf2e40469594cba000066400000000000000000000000251236651770500265740ustar00rootroot00000000000000xKÊÉOR040c0䢘KŽruby-git-1.2.8/tests/files/working.git/objects/4a/2bee50944e9285e8f82216c9b0b8a7d3cdd315000066400000000000000000000000241236651770500271030ustar00rootroot00000000000000xKÊÉOR°4c0ä¢-ú ?ruby-git-1.2.8/tests/files/working.git/objects/4a/4e676afe275afecf23130390fe96d0e6d00057000066400000000000000000000000241236651770500270720ustar00rootroot00000000000000xKÊÉOR01a0ä"Þ¶:ruby-git-1.2.8/tests/files/working.git/objects/4a/de99433ac3e4bcc874cd7de488de29399e9096000066400000000000000000000002541236651770500272270ustar00rootroot00000000000000x­ŽQjÄ0 DûíSø]ìIJ-X–BO")J7‰ƒ£…=~MÏP˜™axŒ´}ßÌO9XWõ –•‡hJ…€ŒE1Ìi’51f àNêz˜çȱ®À:æ9UŠª3ÕZ¦*TfaŽ^ölÝ_ÒÌü÷“¤þ~ÉŸù¢ZZ¿Ó6y]7iý¼u%±¾½GÚ>FL0Ïņ‚íxnúŸL7Žl‡û2äXIruby-git-1.2.8/tests/files/working.git/objects/4b/000077500000000000000000000000001236651770500217445ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/4b/7c90536eaa830d8c1f6ff49a7885b581d6acef000066400000000000000000000002541236651770500272650ustar00rootroot00000000000000x­ŽAŠÃ0 E»ö)|)r,Ë6”a`N¢(J›Eââ¨0ÇÓ3t÷ß_<ž´}ßÌODëª>Ç9ä€ 2 2Æk]KAœ(–º* ,)¸'w=Ì(hˆ1Ì¡`,ë1sž(/댜%/…¿ìѺ?¥™ùßK;üí”÷øá;/­ŸÃi›¼Î«´þ¼ve±¾ý Ú¿}VJÅApã妟tº²î~*Vfruby-git-1.2.8/tests/files/working.git/objects/4c/000077500000000000000000000000001236651770500217455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/4c/411dc8e6ea6fcba0ed56e84aa7707f881d24c7000066400000000000000000000001301236651770500273200ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a»ø3ëüM]Î#¿æš8® ½kÀýŽ!áruby-git-1.2.8/tests/files/working.git/objects/4c/ce9432b2f80461324a61611f6143f8544cd80f000066400000000000000000000000231236651770500265660ustar00rootroot00000000000000xKÊÉOR06a0ä"›ruby-git-1.2.8/tests/files/working.git/objects/4c/e44a75510cbfe200b131fdbcc56a86f1b2dc08000066400000000000000000000002511236651770500272640ustar00rootroot00000000000000x­Ž[ à Eûí*Ü@ƒã+ ¥º’qÔ6‰ÁL Ë¯t ý»îáR[×…¥öþ½‰ÆëlTvµ€Ò@˜ÈRTUÍ&¡vÙ¡5bÇ^6–6Í£vÆÄ0v úZmÄ9—\€ì‘Jxò»uyPc–Ï7RÛäí Ÿxà sëÇ`òBç1QëûÔ ÷å3Üz—Ñ:½‹òª‚Rb¤ã9—2Å8²lâ Q*XŠruby-git-1.2.8/tests/files/working.git/objects/4d/000077500000000000000000000000001236651770500217465ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/4d/35ba97a858072c240d327e3ce30c28b333a1b0000066400000000000000000000002511236651770500267100ustar00rootroot00000000000000x­ŽKÂ0 Yç¹UÜ:? !$Nâ:.tÑ¥FâøDœÝ›· ×m[ÕŽ!œ´‰Xd(œ$……grR|„D1º¸¤eDŽæEMvµ~¢8–Å{Ÿ¼ŒSžaaÌ©xÉó  ½õY›=¸ªÚû“¸îörðoÜèA¥¶£;uå÷1pm¯¡ ±¶õÓi»Z€Œs@°g—œ3ýíå*ÿtš²îæ ´GXÕruby-git-1.2.8/tests/files/working.git/objects/4d/ff9ef38ef09cbf0e36031bbee22b7cf0c7a8fc000066400000000000000000000000231236651770500276170ustar00rootroot00000000000000xKÊÉOR02a0äÂcêruby-git-1.2.8/tests/files/working.git/objects/4e/000077500000000000000000000000001236651770500217475ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/4e/aafb1d843aec4f8f1612d03de46a08c2143ea9000066400000000000000000000001301236651770500272730ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aàJúöÎ4håì‚ÆÅâ/4æfùöë¸!>ruby-git-1.2.8/tests/files/working.git/objects/4e/ebc1b62c53241b7fbf7fb33b5230362595bfdd000066400000000000000000000001301236651770500272200ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¸À2ño]ô¶_GÅì6Ú±•-x®/úc!íruby-git-1.2.8/tests/files/working.git/objects/4f/000077500000000000000000000000001236651770500217505ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/4f/4065121cb78fe6116ae7e3075f5c5a446bd08b000066400000000000000000000001301236651770500270070ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aÈ»Ôx<|eæÿGú¶ç—6ó«TWý‘!ßruby-git-1.2.8/tests/files/working.git/objects/50/000077500000000000000000000000001236651770500216635ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/50/3d77289b054742f507d8a8ce7cc51d3841d5b9000066400000000000000000000001301236651770500266710ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØ®ònB®jâ!Ž]“¼îr®žzf3æ±!Fruby-git-1.2.8/tests/files/working.git/objects/52/000077500000000000000000000000001236651770500216655ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/52/4038b20b297f40d78e7d83e04e38049457312b000066400000000000000000000001301236651770500264360ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aøÝWÑÂ[ɵ?àíë¯;¯m·{ðÛýÍ#µruby-git-1.2.8/tests/files/working.git/objects/53/000077500000000000000000000000001236651770500216665ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/53/a72df554e585e239e41cb1fc498d5aee9bb164000066400000000000000000000002541236651770500271770ustar00rootroot00000000000000x­ŽKŠÃ0g­Sè1ú¶%C 'iµZ/l¹ süˆ9Ãì^½EQÔ÷}í¾d0ëµ%¨ظ„¶¦`s"À¹åÒV¬…WbõÆÁ‡hõä]jÕ%Ó¼ÇÂÆÈJv\"¦T­ÂK^}蓺ˆ~¾ú¡ï'ýþ`íãœNÙè:êã½ F’±ýNÚ¿µµ9Ä!X}3É5ßY.üŸN5C¶C}YÞX{ruby-git-1.2.8/tests/files/working.git/objects/54/000077500000000000000000000000001236651770500216675ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/54/0200385c3b0b299c7a87ecf59ca94c32fbbe99000066400000000000000000000000241236651770500271050ustar00rootroot00000000000000xKÊÉOR07a0ä¢ï2 ²ruby-git-1.2.8/tests/files/working.git/objects/54/5c81a2e8d1112d5f7356f840a22e8f6abcef8f000066400000000000000000000002511236651770500271640ustar00rootroot00000000000000x­Ž] à „ûì)¼@ƒ¿¥z’uÝ´>$5ÐãWz†¾Í |CeÛr—àÒ+³tŒ¸F‚³ÈäÖ°jÐ&)›Øª@F;˸ˆ+ï\t„È.„ÉH–YYÂÙ0€ñ8{g—*•ÞåóTvykô |a*µ gÏt¶‰J=¦ÊH½æÏhÛ]j½8ï𳼪 ”ëxÞùŸN1Žä]|EÞX;ruby-git-1.2.8/tests/files/working.git/objects/54/5ffc79786f268524c35e1e05b1770c7c74faf1000066400000000000000000000002251236651770500267640ustar00rootroot00000000000000x­Q à Dûí)¼@Óh ”BO²Ù¬i VY äø•ž¡3ïcxC)ƽ꾟/U˜5,«& p3»É²Ébè5Î,L TxÔW](ÕªŸ/¤ôÑ·B¿ðÀ ×$%£ÔŽÒQ’Ü #UÙÏÖâ]3ƒ·0:} m&•ÿ¹©øÄ˜ß¬·öQ8'õÌÒN£ruby-git-1.2.8/tests/files/working.git/objects/54/6bec6f8872efa41d5d97a369f669165ecda0de000066400000000000000000000002501236651770500272710ustar00rootroot00000000000000x­ŽQ Â0DýÎ)re›t›,ˆžd»Ýj?j$YÁã<ƒóæ1Rö}3&Í£FêãÀ9DÔABÂ$+Í)GÁeLó”ÖäømR}“bæo–òôç&¿på;/¥¶î´MÞí$¥¾NUY¬nŸNûÅ8aòGÈ®·ý¹é?δ™û…pVuruby-git-1.2.8/tests/files/working.git/objects/54/7a4bae347658f0d9eed0d35d31b4561aea7cf8000066400000000000000000000002511236651770500272420ustar00rootroot00000000000000x­Ž] Â0„}Î)rK²ÙüˆàI6ÛTûÐFÒ<¾Á3ø63ðÍ ·m[EC'éµjÈ@BœñÎ6–Ê2Öä`qŒlÕ‹zÝEûo(ÛZÀ¥á`ƒ‹½]BŠÙÛ¢è-ÏÖõÁMDߟÄm×—ƒâFš[?F§¬ü>&ný5õJ,}ý ·]µµ=æ€QŸÍ˜Q#Ï¥þ³S#뮾~âVKruby-git-1.2.8/tests/files/working.git/objects/56/000077500000000000000000000000001236651770500216715ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/56/195ef83e9e20ca75dddef0630633fc8060ed11000066400000000000000000000000251236651770500271000ustar00rootroot00000000000000xKÊÉOR04´`0äQÝóruby-git-1.2.8/tests/files/working.git/objects/57/000077500000000000000000000000001236651770500216725ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/57/7ddd894033c46a5fcf2c6f3c4e71cc72f86909000066400000000000000000000000731236651770500271310ustar00rootroot00000000000000xKÊÉOR0±`ÈHÍÉÉç*ÉÈ,VÈ,æJTHËÌIrK@܂҅ŒÔ" @¾BqjbQr ”ruby-git-1.2.8/tests/files/working.git/objects/58/000077500000000000000000000000001236651770500216735ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/58/501cbd0fc5ce832f6b34d37243a520dc19a6cc000066400000000000000000000000231236651770500271340ustar00rootroot00000000000000xKÊÉOR06b0äÂ޽Õruby-git-1.2.8/tests/files/working.git/objects/58/73a650a91eb238005444d2c637b451f687951b000066400000000000000000000002511236651770500264420ustar00rootroot00000000000000x­Ž] Â0„}Î)rË6?›DO²Ùlµm$]Áã<ƒo3ÃðñqݶU­Cö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aŸ÷ἠ뾺üwôc+¹¿õëqöÈ"Ôruby-git-1.2.8/tests/files/working.git/objects/5b/000077500000000000000000000000001236651770500217455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/5b/0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa000066400000000000000000000002541236651770500276750ustar00rootroot00000000000000x­ŽKn! D³æ\ #æciEÊI m2½èfD{¤?(gÈ®ª¯^DZ«õ)½é±Ñ#„R=TO¹#l¹HÞJ@ 0æà|5Ožrª•S ±U¢Œ9`ꎺpì®2Ú=Änø¥1íÕ†ªýzp§½_í/|ò7oc^‹©{{]·6æó6…›ÎýgµãÃ:·®‘’}‡`ÖºÌUþ“i–È~š_û¾Wruby-git-1.2.8/tests/files/working.git/objects/5c/000077500000000000000000000000001236651770500217465ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/5c/16fb8b958b51f6008f9722b279b1fde0defb76000066400000000000000000000002531236651770500272010ustar00rootroot00000000000000x­ŽAnÄ E»æ\ #ƒÒ¨ªÔ“ãt²HÔãõ ÝýÿOOúqìæÑ› UO” ” ¡†²VmU—ˆº­¹´ &LÙ=yèi>‡†¸È¶¨šp•¸e"á±FâÜ €ã—=úð—t3ÿõ`é§¿_ò7>ù›[×tÚ.¯ë&}¼>n·Í fü°C2¶¦ž[ ‰T©Fæˆ96ÌË¢Z±¬MÜ?²Ô´4âŽ% ó ×X‰4ø”ú{IêiYÝí:˜}˜Áï•úØágöW\èxóiÚÖïóû´]>ÏBÍ%ú’|yôÞõ×®ÉÛãML¦¹à°P°ruby-git-1.2.8/tests/files/working.git/objects/62/000077500000000000000000000000001236651770500216665ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/62/70c7f48ca41e6fb41b745ddc1bffe521d83194000066400000000000000000000002531236651770500271620ustar00rootroot00000000000000x­ŽM à …»ö^ Á¿ÑJ)ô$:[‰A'ÐãWz†.¼÷Öm+,÷nDÒ%ÔÉkœN!§ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a(<¹È¢ò?׉#³']dÿücN®´î$("¶ruby-git-1.2.8/tests/files/working.git/objects/63/000077500000000000000000000000001236651770500216675ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/63/1446ec50808846e31fff786c065e69da2c673b000066400000000000000000000002511236651770500267030ustar00rootroot00000000000000x­ŽM Â0F]ç¹€2ùo@Dð$ÓÉD»hSÒ<¾Á3¸ûÞ·xøƒÓg˜ÔxG¹ð?j„,›ú³‰X÷ruby-git-1.2.8/tests/files/working.git/objects/64/000077500000000000000000000000001236651770500216705ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/64/d0c52ac4c061cf1705e3005dfd86fb70374a14000066400000000000000000000001301236651770500267660ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(ax!aÏúõvÆæÉ~“¿ìÏ~«½-åÁVúc#Iruby-git-1.2.8/tests/files/working.git/objects/66/000077500000000000000000000000001236651770500216725ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/66/80a909b0e02b297bedbe143ef789d297235358000066400000000000000000000001301236651770500266730ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(ap™Q{3ƸkqQªã§‚Ë·ÆÌ ó…"Jruby-git-1.2.8/tests/files/working.git/objects/6b/000077500000000000000000000000001236651770500217465ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/6b/790ddc5eab30f18cabdd0513e8f8dac0d2d3ed000066400000000000000000000000631236651770500276010ustar00rootroot00000000000000x+)JMU06a040031QH­Ð+©(ax6÷ÑìM¯9{wk®+ºqèIOðD@ºúruby-git-1.2.8/tests/files/working.git/objects/6c/000077500000000000000000000000001236651770500217475ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/6c/2d312ebd67eed4c7e97e3923b3667764e7360e000066400000000000000000000002531236651770500270470ustar00rootroot00000000000000x­ŽKnÃ0 D»Ö)tõ±E€œ„¦èÆ [L=~„ž¡»y³x3Üö}S‹)}i±àj Iyeì€sd”‚‰gX±Î3¥Å¼©Ë¡Öc()/¥rŒ~EŽHY|ŽÉ—ÌsrUh€¡K_­Û“›ª}¾ˆÛaï'ÿ…ýPmýNÝø:'ný=u!Ö¾ýÚ¿­s%ıÐÞ ˜ÑŽç*ÿé4ãÈv˜šWruby-git-1.2.8/tests/files/working.git/objects/6d/000077500000000000000000000000001236651770500217505ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/6d/e8fb35c2e4a69addd030f2dbb4f73fd4742b5b000066400000000000000000000000241236651770500274510ustar00rootroot00000000000000xKÊÉOR°´`0ä¢5Ö |ruby-git-1.2.8/tests/files/working.git/objects/6e/000077500000000000000000000000001236651770500217515ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/6e/d281c757a969ffe22f3dcfa5830c532479c726000066400000000000000000000000231236651770500270430ustar00rootroot00000000000000xKÊÉOR0a0ä2äÖjruby-git-1.2.8/tests/files/working.git/objects/70/000077500000000000000000000000001236651770500216655ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/70/714b02913c1a249a5ab05021742f0bc7065df7000066400000000000000000000002511236651770500265420ustar00rootroot00000000000000x­ŽKÂ0 DYç¹U¾®+!„ÄI7….ÚT‰+q|"ÎÀnfo—m[E;€‹Ôœ5á„ ’ Þ"ç|bË”LŠËm©ƒjÞEƒ·!@æhÐ öäí²,#ˆ¦™Ãè“¢SÞ¥êÆED?ßÄe×·Æ¿ð Í¥¶Î”•Ï6p©ÇP3±ÔõÓÛv×ÖN!† bÐ×þeT_»¹ä2UYwõ-ÎW%ruby-git-1.2.8/tests/files/working.git/objects/71/000077500000000000000000000000001236651770500216665ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/71/894b736711ea0a5def4f536009364d07ee4db3000066400000000000000000000002501236651770500267400ustar00rootroot00000000000000x­ŽQ Â0DýÎ)r%i¶k"‚'Ùl¶Ú6’®àñ]<ƒ_3ó†á¶®‹úñ ]ÄsQdÆ™"ÕSLgÆ2Å:*æÐ½¨Ë¦Þ0ÔQrÁZà 5Ì¢dÊlå:A” ŽÞúlÝïÜTýýIÜ6Ùùgnô Úún›ºð{?që¯SbíËÇÒzõ1f!cB SΨ=Wù禳#Ëæ¾9ÇX=ruby-git-1.2.8/tests/files/working.git/objects/71/c9a23879ff0ac8c49b92d107f3f89c6d1b2d92000066400000000000000000000000231236651770500271170ustar00rootroot00000000000000xKÊÉOR02c0äÂm’'ruby-git-1.2.8/tests/files/working.git/objects/73/000077500000000000000000000000001236651770500216705ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/73/b171450704ea4350f9f884426389fe04c6cd51000066400000000000000000000001301236651770500265230ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a°5–ݩշ–55}Þï²Ïë2ßJ—ßí ýruby-git-1.2.8/tests/files/working.git/objects/74/000077500000000000000000000000001236651770500216715ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/74/32b657191a10587335e74ae6f0966a7eed2976000066400000000000000000000000251236651770500265420ustar00rootroot00000000000000xKÊÉOR04°`0䢶¯Ëruby-git-1.2.8/tests/files/working.git/objects/79/000077500000000000000000000000001236651770500216765ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/79/e5b9e6ee5a1e6c52676a6332fe9163adaa92cb000066400000000000000000000000241236651770500272510ustar00rootroot00000000000000xKÊÉOR07`0ä¢ÃÔ 8ruby-git-1.2.8/tests/files/working.git/objects/7c/000077500000000000000000000000001236651770500217505ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/7c/076f209839d7f910e8c84e41cc94898287ef45000066400000000000000000000001301236651770500266500ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¨ßÿn~GÓÚ…o\LŠ^æy3ÇK â"¹ruby-git-1.2.8/tests/files/working.git/objects/7c/60c6ab64c74d52f973d18cd1933318a8d9ae2e000066400000000000000000000001301236651770500271050ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a°L{ù‹{þËËïõo-›lo˽Cû0ø}"ruby-git-1.2.8/tests/files/working.git/objects/7c/ac4f8d519d524ed025732ee220f6451665a770000066400000000000000000000001301236651770500266540ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¸~c¹Tá<-Ÿ¥Œ3¥Ònm©ýÁòm-ò>"ruby-git-1.2.8/tests/files/working.git/objects/7f/000077500000000000000000000000001236651770500217535ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/7f/5625f6b3c7213287a12c89017361248ed88936000066400000000000000000000002541236651770500264050ustar00rootroot00000000000000x­ŽAnà E»æ\ Ö` RTEÊI†aÜxaá±Ôãõ Ýý÷OÛ¾ojç¿´‹Xï¥R)è=r‘„™pYꜲçZ–˜VòyS—C-² Ò‚.«ÌÅy·ÖÂ"¥¸º2W†dèÒWëöä¦jŸ/âvØûÉãA?T[?‡S7¾Î‰[O]ˆµo¿ƒöoë\Æ€9†loÌxG¹Ê:ÍÙó†°Xºruby-git-1.2.8/tests/files/working.git/objects/7f/86d16e0254f64f784198c6a55ef9bf7adbe7ce000066400000000000000000000001271236651770500273030ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¸U]Ñ-Z:9˹‘•M`q¹ùqîÐàT—ruby-git-1.2.8/tests/files/working.git/objects/7f/bfee9f8882ada1ec45c4925baf5649d96c4a16000066400000000000000000000000251236651770500273470ustar00rootroot00000000000000xKÊÉOR044b0ä¢/ðð<ruby-git-1.2.8/tests/files/working.git/objects/81/000077500000000000000000000000001236651770500216675ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/81/25fbe8605d2884e732a185c9a24abcc0d12a1f000066400000000000000000000002511236651770500270630ustar00rootroot00000000000000x­ŽA Â0E]ç¹€’´3“DO’N¦ÚE›’Žàñ žÁÝñx\×uQ;´‰Ø"a(¢§™ H:㔇iÑÌž›ljgD狤8„Ä3zçcŒa„@ó(¹8!“ßúªÍ\Uí㕹nözðoÜó3—ÚŽîÔ…ßÇ…kÛ/M2k[>Ö›õ>u{"{vÑ9Óß^®òO§é!Ëf¾y¥Wiruby-git-1.2.8/tests/files/working.git/objects/81/d4d5e9b6db474d0f432aa31d44bf690d841e94000066400000000000000000000002511236651770500271020ustar00rootroot00000000000000x­ŽKÂ0 DYç¹UÒü\ !$Nâ:tѦJ]‰ãqvófñf¨®ë"zŒñ"Yç)$d,9;ÛÁ1ì\KG˜'ËjÇÆ›hôO>ØKqvfp¥:NaŽècPxÊ»6}PÑÏ7RÝôí _xà smGwÊBç1PmûÐIÚòé´Þµµ}ÄOÑE}5`Œêm.üO§êG–M}€ñX½ruby-git-1.2.8/tests/files/working.git/objects/81/f545324202466d44115656ea463a5bb114345f000066400000000000000000000002521236651770500263420ustar00rootroot00000000000000x­Ž] Â0„}Î)rKó×& "x’ínVûЦ$[ðøÏ ÌÃÌ0 –m[EÛiºHÍYÇÙOD³OÏ]ÖŒÁDdŽÎ.Áͳ: æ]4|_.#Qæ‰)™Å¥˜ˆ""d›‰‚SÞ¥ê†ED?߀e×·†?ó€P©­ÊŠg°Ôc¨Pêúéi»kc’Ê}ã8ªÞvrÉÿüTdÝÕCGYµruby-git-1.2.8/tests/files/working.git/objects/82/000077500000000000000000000000001236651770500216705ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/82/d331cf4d3d4ee537c4f866cab2633b46a8d090000066400000000000000000000002531236651770500271010ustar00rootroot00000000000000x­ŽAnÄ E»æ\ #Û1¤QU©'1t²HÔãõ Ýý÷OOûqìæ)Æ7µz¤ZÖ57Î 9rYH2ñ–q+[ÔEtOõ4Ÿ ! Œ‹¢g R abjP4A [KN^öèÃ_ÚÍü×C´Ÿþ~éßø”oÙú¸¦Óv}]7íãyUÔÆþ3éøðˆ™çؿà àæ;Ë­þ§ÓÍýt¿Ã4Vžruby-git-1.2.8/tests/files/working.git/objects/83/000077500000000000000000000000001236651770500216715ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/83/c6a1f0d7d8df18a9d9bfe917707aec37868418000066400000000000000000000001271236651770500271370ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a˜ñ;+#5yšu]¨nIaÄÚ=2Ú×îC!ruby-git-1.2.8/tests/files/working.git/objects/85/000077500000000000000000000000001236651770500216735ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/85/8f46dd7496faf7af72102ca15cccff832b5377000066400000000000000000000001301236651770500271740ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØl¦3ÁáËQµ„ÍŸç=Ð9w. ïh"oruby-git-1.2.8/tests/files/working.git/objects/87/000077500000000000000000000000001236651770500216755ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/87/c56502c73149f006631129f85dff697e000356000066400000000000000000000002521236651770500263740ustar00rootroot00000000000000x­ŽQ Â0DýÎ)rKÒ¦Ù,ˆžd»ÝØ~´‘toô þÍ ÇpÙ¶UmãI«ˆvsï0 8CFï$q <3†„©O 9ŒæIUvµ¦°áø ’ŸÙO±Ÿ ’xÈCDC/]JµU{_ˆËn/ÿÂ4—z4§®ü::.õÙU!Öº¾[Û®Ö{ cÀ8‚=»äœik{®òO§iGÖÝ|8|W3ruby-git-1.2.8/tests/files/working.git/objects/88/000077500000000000000000000000001236651770500216765ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/88/cf23d06f519bec7b824acd52b87a729555f2e7000066400000000000000000000002511236651770500271220ustar00rootroot00000000000000x­ŽM F]s .`Ãï ‰1&ždÀvÑÒÐiâñ%žÁÝ÷¾ÅË£¶® Kpá^Š4)esF[|Lh,To+èŠXƒsÖ$ObÇ^6–‹®)°@1fëjÎ6zª1%£1{ít ž<·.jÌò5#µMÞú'¾1·~ '/tµ¾O½ q_>ƒÖ‡Ô::ï"8%¯ê¦”ï(çòO§!Ë&¾’îXÁruby-git-1.2.8/tests/files/working.git/objects/8a/000077500000000000000000000000001236651770500217475ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/8a/3fb747983bf2a7f4ef136af4bfcf7993a19307000066400000000000000000000000251236651770500272050ustar00rootroot00000000000000xKÊÉOR042c0äHÕjÞruby-git-1.2.8/tests/files/working.git/objects/8b/000077500000000000000000000000001236651770500217505ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/8b/00d915a0ee5aeb32e0b166e1054c2901338c9d000066400000000000000000000002511236651770500267700ustar00rootroot00000000000000x­ŽM F]s .`XþcL<É̶‹–¦‰Ç—xwß÷/ê¶­,sn9KÅŸ¬F%¥Yͼ¶AgÄ: å "q@Ë;KKÚ €Ñ´º8¥B‰Þ4>¢.)«” z'àä¥6Ù©2Ë×TwyïôOxCª­'¯tö‰j;¦–¸­Ÿñ¶‡Ô:ÎvŽÎZyUA)1è(çüO§!ë.¾ý‚Y6ruby-git-1.2.8/tests/files/working.git/objects/8c/000077500000000000000000000000001236651770500217515ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/8c/e3ee48a7e7ec697a99ee33700ec624548ad9e8000066400000000000000000000002501236651770500272220ustar00rootroot00000000000000x­ŽM Â0F]ç¹€%& "x’Étª]´)É<¾Á3¸û¾·x<*Û¶Šv©ÌzôˆÙ³™,@Œ90xÀd9€ >8kâÕ•wÑiÁà3ÍaÄÅE¶&1,SND³î(y¯ð”w©ºQÑÏ7RÙõ­Ño<ð…s©­;e¥³ Tê1TF’º~úÛîÚÚÆ`´új¢1ªÓ^.üO§ê!뮾ÿØXruby-git-1.2.8/tests/files/working.git/objects/8d/000077500000000000000000000000001236651770500217525ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/8d/ae07ab9d98b5fe04d4d7ed804cc36441b68dab000066400000000000000000000002511236651770500274050ustar00rootroot00000000000000x­Ž] Â0„}Î)rKþ6M@Dð$ëvcûЦ¤[ðøÏàÛÌÀ||T×uíb¼HcÖÆDGS d9z331ÞxàlË#§vl¼‰¶àÇ„¶xÆÂ_¡¤lRòâT²™û3+4F’¶|z[ïÚÚ ä’¾šdŒêk7þ'Su‘eS_ñÜWüruby-git-1.2.8/tests/files/working.git/objects/8d/c79ae7616abf1e2d4d5d97d566f2b2f6cee043000066400000000000000000000000601236651770500273340ustar00rootroot00000000000000xKÊÉOR06a(J-ÈILNU(Ï,ÉPÈK-W(I­(QÐUHÉLK²‹K¸/Ðruby-git-1.2.8/tests/files/working.git/objects/92/000077500000000000000000000000001236651770500216715ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/92/4dec9203af851c3b3e564697ab3004b35b3c2f000066400000000000000000000000251236651770500270040ustar00rootroot00000000000000xKÊÉOR042b0ä(Œdruby-git-1.2.8/tests/files/working.git/objects/93/000077500000000000000000000000001236651770500216725ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/93/06c056ba3ef9dca6f6365af38148c71196533a000066400000000000000000000001301236651770500267420ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a˜i{sãÙW[í "ÚNÊîÙÓ©ùþ“‘"øruby-git-1.2.8/tests/files/working.git/objects/93/5badc874edd62a8629aaf103418092c73f0a56000066400000000000000000000002631236651770500270210ustar00rootroot00000000000000x­ŽAjÄ0 E»ö)t¶$;6 ¥Ð“¨²Òšq°=Ðã7ô Ýý÷¯í8ö ¸,/³›/˜¢¯Œ«Žlh)U)kÔóg–5U,ÙÒí1XbJ5ªÊ‹ÇÕSàRR©™BLÞÉsn­ÃÐ6'|l¢í÷¡ã]¾¤¶>®æÜõ9nÚúyë&:ûþsÑñ!ND”^}öÞ]öz>í?›îhÝ`˜tÝ`³ïÓýÊGZÂruby-git-1.2.8/tests/files/working.git/objects/94/000077500000000000000000000000001236651770500216735ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/94/c827875e2cadb8bc8d4cdd900f19aa9e8634c7000066400000000000000000000001271236651770500272660ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a°Zãí ¾â{€ZÁÝý%NÂw=Û°ôruby-git-1.2.8/tests/files/working.git/objects/95/000077500000000000000000000000001236651770500216745ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/95/ef665df6ebd69842c5e74a24cb8a12225dee3e000066400000000000000000000001301236651770500272530ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aø¹çÅÌ@Îó«ÝcY¬joŠæÆ…û]÷Ù![ruby-git-1.2.8/tests/files/working.git/objects/98/000077500000000000000000000000001236651770500216775ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/98/fb6a686563963b8f7e552d747158adbc1c2bd6000066400000000000000000000000221236651770500270460ustar00rootroot00000000000000xKÊÉOR°`0ä‚@ôäruby-git-1.2.8/tests/files/working.git/objects/99/000077500000000000000000000000001236651770500217005ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/99/3dd9b1cdeab53e305886c91dbcbc8929eff22e000066400000000000000000000000231236651770500274170ustar00rootroot00000000000000xKÊÉOR02b0äÂY ­ruby-git-1.2.8/tests/files/working.git/objects/9a/000077500000000000000000000000001236651770500217505ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/9a/e1fbd7636c99d34fdd395cf9bb21ad51417ce7000066400000000000000000000002511236651770500273360ustar00rootroot00000000000000x­ŽË Ã0DsVj FÿXB •¬V«Ø[FZCÊH 9ÌÌáñ°nÛÊÒ„páF$uŒÙ”™‚*9g’TÊ™F¬'0'e‹8 ÑÎB2]27¢K´%­µwF(¾D²8$àä¥6Ù±2Ë×Xwyïø+OxC®­&¯xö k;¦F€ÜÖÏXÛCjw18%¯jVJŒw˜3ý“)†Èº‹/~¬Y²ruby-git-1.2.8/tests/files/working.git/objects/9b/000077500000000000000000000000001236651770500217515ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/9b/5149aa4ace4ef69461803b0ccbb21139e12626000066400000000000000000000001301236651770500267750ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aðòKÏú§õï¼²0ó„Ó.<»ÀëÁ!°ruby-git-1.2.8/tests/files/working.git/objects/9d/000077500000000000000000000000001236651770500217535ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/9d/3ad2f09cb7a1d4f4c91182c96f2be537fbc4ff000066400000000000000000000000641236651770500274110ustar00rootroot00000000000000x+)JMU06c040031Q(I­(Ñ+©(a¯½Ûé`|$+þ¼N¾_ᙢ™œ?á#ruby-git-1.2.8/tests/files/working.git/objects/9d/6f937544dc3b936d6ee1466d6e216ba18d5686000066400000000000000000000001271236651770500267750ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a(1Ú.)%QlúÜëÙ‡iYuo5ËÜh Èruby-git-1.2.8/tests/files/working.git/objects/9f/000077500000000000000000000000001236651770500217555ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/9f/a43bcd45af28e109e6f7b9a6ccd26e8e193a63000066400000000000000000000002521236651770500273350ustar00rootroot00000000000000x­ŽA E]s .`3ÃBbŒ‰'¡µ]´4tšx|‰gp÷ß_¼<®ëºˆ6Þ_¤•¢ —É¡ ­ÍÌÆ›Œ~,& aM޲›LT{je=!¦LS"F{syr"£àCAâˆ*2צ®"ú5'®›¾üÏôN¹¶£;eáó¸¶}h%±´åÓi}hÄhÞ¡¾BPýíåRþéT=dÙÔôVÜruby-git-1.2.8/tests/files/working.git/objects/a0/000077500000000000000000000000001236651770500217375ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/a0/b3f35b3c39cfb12c4cc819bffe1cf54efb3642000066400000000000000000000002471236651770500274520ustar00rootroot00000000000000x­ŽQ Â0DýÎ)r˶i’ ˆždÙnl?ÚH²oð þÍ›ÇpÙ÷MíÂE«ˆ•Åû‘(ÎÀ!ÑMSÊ”3 .lÞTåP‹,NdFŠ…CŠ”’ˆs ã4û>-IÐЩk©¶qQµÏ•¸öÖøô¢¥ÔÖºñÙ.õ=T!Öº}:íw;Ž©ËR𓽘Þöç*ÿtš~d;ÌÒ¯Xúruby-git-1.2.8/tests/files/working.git/objects/a1/000077500000000000000000000000001236651770500217405ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/a1/15413501949f4f09811fd1aaecf136c012c7d7000066400000000000000000000000251236651770500267140ustar00rootroot00000000000000xKÊÉOR042a0ä8²¼¡ruby-git-1.2.8/tests/files/working.git/objects/a1/a3069efcc64330fb6c66004e69b870da3d6186000066400000000000000000000000241236651770500270110ustar00rootroot00000000000000xKÊÉOR03b0ä¢u? Mruby-git-1.2.8/tests/files/working.git/objects/a3/000077500000000000000000000000001236651770500217425ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/a3/62d30d5fe1021cabc4c90f073ba2511d5a43a1000066400000000000000000000001301236651770500270750ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a˜äûfóúVk»0·é« X6GÛèáburuby-git-1.2.8/tests/files/working.git/objects/a3/c1f067074cdc9aa998cb5f3cad46a6f17aab2d000066400000000000000000000002521236651770500274500ustar00rootroot00000000000000x­ÎÁ à …áž™‚HªªR'ÁirHˆÀ‘:~igèÍχO?çm[E£÷))i œÀ†<Ò0x`ì'çì<‹ÄÆÇ9 :bI»èÉX&†ÀÜÛ™¼u HÁÛ %gxÄ€4ªxÊ’‹®œEôs‰œw}«ü;ñ§\j3eå³vœËÑ•YÊúnk»kc‚uö+ëkËÕ¾­\Ò?MÕBÖ]}b~WTruby-git-1.2.8/tests/files/working.git/objects/a3/db7143944dcfa006fefe7fb49c48793cb29ade000066400000000000000000000002621236651770500274140ustar00rootroot00000000000000x­ŽKjÄ0³Ö)úÔÖÇ„ÈIÚý‰ ñh4ãÇä Ù½ªEñ¸ç1aYËËìª`E+ç5–0"²—­úM¢zB žØÌ»u½OT kZS¶´É’·¼rR43©‹ä"7Å¨Žžso·9ás'nwxü7>苤õq5çÁÏqãÖ·®Ä³?ï€XcKM^}ñÞ]öz>õ?›ŽDT`(uÞÁŽou¿vd\¯ruby-git-1.2.8/tests/files/working.git/objects/a4/000077500000000000000000000000001236651770500217435ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/a4/4a5e945176ff31be83ffca3e7c68a8b6a45ea5000066400000000000000000000002541236651770500273350ustar00rootroot00000000000000x­ŽAnÄ E»æ\ #iTUêIÛt²HÔãõ Ýý÷Oûqìæ—œßl¨ú9´ (EªR·¦’rÄ’K‚âž4ô4¯17\b© HFFY`×)Ù@kH ›£—=úðw3ÿõ î§¿_ü7>雤k:mç×uã>ž·¡Ä6öŸILJ¨iM5ÇÕ¿‡‚›ï,7ýO§›!ûé~´;W˜ruby-git-1.2.8/tests/files/working.git/objects/a5/000077500000000000000000000000001236651770500217445ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/a5/1546fabf88ddef5a9fd91b3989dd8ccae2edf3000066400000000000000000000002511236651770500276500ustar00rootroot00000000000000x­ŽM Â0F]ç¹€%“ÿ‚ˆàI&Ó©vѦ¤SðøÏàî}ßâñ¨®ë"ÚÆx‘ÆÜÁ±£`“1žSIÞòsò‰ Ì%1@¶aJ¨vl¼‰.‚+yæàÍyбŒÉ#›àœËX#ÌFá)ïÚôAUD?ßHuÓ·ƒ~ðÀNµÝ) Ç@µíCc$i˧¯õ®Fü}ÐW“QýíåÂÿtª²lê N3W<ruby-git-1.2.8/tests/files/working.git/objects/a6/000077500000000000000000000000001236651770500217455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/a6/b25c4b27ee99f93fd611154202af5f9e3c99de000066400000000000000000000002521236651770500272000ustar00rootroot00000000000000x­ŽA E]s .`Ì@!1ÆÄ“LÐ.Z /ñ îþû‹—ÇmÛVÑ.„“ôR4{‚š€j¼[bµs&ŽÀ` Î!:*.¤^ÔË.ºZç1šR¬ )¦Â˜cðÙdOãL)z˳u}pÑ÷'qÛõåà߸уrëÇpÊÊïcâÖ_S/ÄÒ×Ï íª­Mè1Húl¢1j¼£\Ê?j„¬»úµÈW¦ruby-git-1.2.8/tests/files/working.git/objects/a7/000077500000000000000000000000001236651770500217465ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/a7/88a1cba299638a2c898fcfaae1f69a1549853d000066400000000000000000000002521236651770500272070ustar00rootroot00000000000000x­ŽAÂ0 9çù(‰k'‘Bâ%®›BmªÔH<Ÿˆ7pÛÝÃìH]×Em :i+Åfp$id(sž„i& ä’’Dï3!›[ÙÔN8fLq$ŒàKÀà)0:aázŽä‚÷†ßúªÍRUíãÅR7{=äîüä©¶£3u‘÷q‘ÚöK+,Ú–OoëÍöã‡LìÙ%çL_»¹–2MY6óîHV³ruby-git-1.2.8/tests/files/working.git/objects/a8/000077500000000000000000000000001236651770500217475ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/a8/98e8a6b143188022863bc1cab0b5f7514624ba000066400000000000000000000001301236651770500267210ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aÈ}ñÛôГe³î^0øt{Ëwû+%ÚÑ¥$Žruby-git-1.2.8/tests/files/working.git/objects/a8/b607b221454c4cd7bc7831b2d19712bb4ff888000066400000000000000000000000251236651770500270160ustar00rootroot00000000000000xKÊÉOR044`0ä¢'Ñ¢ÿruby-git-1.2.8/tests/files/working.git/objects/a9/000077500000000000000000000000001236651770500217505ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/a9/e2d9b71b616531f04a65ae5b972ba5d1f2cb93000066400000000000000000000000721236651770500271520ustar00rootroot00000000000000xKÊÉOR01gÈHÍÉÉç*ÉÈ,VÈ,æJTHËÌIrK@܂҅ŒÔ" @¾BqjbQ2÷ë+ruby-git-1.2.8/tests/files/working.git/objects/a9/e2f17562ae78a75dc855bb3dc9e87364195dcf000066400000000000000000000000231236651770500272060ustar00rootroot00000000000000xKÊÉOR04b0äB@/…ruby-git-1.2.8/tests/files/working.git/objects/ab/000077500000000000000000000000001236651770500220215ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/ab/16bc1812fd6226780a841300a2432dfd0c6719000066400000000000000000000001301236651770500266230ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aø³eþÊ)!?X*g qMz»gI{åjþµ"§ruby-git-1.2.8/tests/files/working.git/objects/ac/000077500000000000000000000000001236651770500220225ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/ac/8f48bbb7b31c945ba6a4fbe6950d009a5d8373000066400000000000000000000000241236651770500272350ustar00rootroot00000000000000xKÊÉOR03`0ä"b3 ruby-git-1.2.8/tests/files/working.git/objects/ae/000077500000000000000000000000001236651770500220245ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/ae/21cabd23aee99a719fc828977c0df9e8b19363000066400000000000000000000002471236651770500272670ustar00rootroot00000000000000x­ŽM Â0F]ç¹€%íÄ$"‚'™NFí¢MI¦àñ žÁÝ÷Çe]µS'­"Vx S¤@˜ ÄìÎ^ÓLOÈ3D„ÌNU6µžr¿<1ˆŸ™SôœcŸR– QÐa0tè»TÛ¸¨ÚÇ›¸löÚøîô¢\jëL]øh—ºUˆµ.ŸÞÖ›Gô¢=»äœék7Wù'Ót‘e3_ø«Xruby-git-1.2.8/tests/files/working.git/objects/b0/000077500000000000000000000000001236651770500217405ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/b0/3003311ad3fa368b475df58390353868e13c91000066400000000000000000000002531236651770500265110ustar00rootroot00000000000000x­ŽM Â0F]ç¹€’éä§"‚'I&‰vѦ¤#x|ƒgp÷½oñxÜÖu=y’^ŠOÅçd1[6ÄÙƒ@1$š'ogL6“… Õ{ÙDW°`êÐU_ftD%QrœóTS0ѱŠoyµ®n"úñŠÜ6}=ø7îñsëÇpÊÂïã­ï—^"K_>ƒÖ› ë,yúlfcÔxG¹”:ÕY6õ:¿W.ruby-git-1.2.8/tests/files/working.git/objects/b0/ee249c5e5cc9464f3bc0034ab05632dcb87a23000066400000000000000000000001301236651770500271320ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØ6£ú ‚ÔÅé%GløV°÷ç^Ï> ï!!zruby-git-1.2.8/tests/files/working.git/objects/b1/000077500000000000000000000000001236651770500217415ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/b1/288f8beeaa6cf048c3a9f578d4e266fab8820e000066400000000000000000000001301236651770500273330ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¨|ºóÙ»(¹œ ô¬d£“×®štþÖ"îruby-git-1.2.8/tests/files/working.git/objects/b1/5336206c9040f4c52660b3f3c76ee02ccece56000066400000000000000000000000241236651770500270000ustar00rootroot00000000000000xKÊÉOR0µ`0ä"QÀÜruby-git-1.2.8/tests/files/working.git/objects/b1/b18f5bea24648a1b08e5bba88728c15ec3cb50000066400000000000000000000002531236651770500272230ustar00rootroot00000000000000x­ŽAnÄ E»æ\ #ˆiTUêIãt²HÔãõ ÝýÿOOúqìæÑ› UÏ+Ò*X0lB \€KÂÀ!ÅжB«{òÐÓ|ÆRÓšãd¨ ¼4ÝÒ¶D¨‘Rƒ¬šÚ¿ìч¿¤›ù¯K?ýý’¿ñÉßÜú¸¦Óvy]7éãyÊbcÿ™ïøðˆ5-©RÌþ €›t–›þ§ÓÍýt¿ÎWruby-git-1.2.8/tests/files/working.git/objects/b4/000077500000000000000000000000001236651770500217445ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/b4/5724ee906d2561901208ba924add09ab95ccb3000066400000000000000000000000241236651770500270030ustar00rootroot00000000000000xKÊÉOR°0b0ä¢6Hò ruby-git-1.2.8/tests/files/working.git/objects/b5/000077500000000000000000000000001236651770500217455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/b5/d8fc3cb740eb643c66eb5f4a97345fdb806259000066400000000000000000000001271236651770500271770ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aøÄtº4ÐôŠšig‚zóÿÍZìs;å Eruby-git-1.2.8/tests/files/working.git/objects/b6/000077500000000000000000000000001236651770500217465ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/b6/153b8fe540288d66b974ae05113338ab1a61f0000066400000000000000000000002471236651770500266520ustar00rootroot00000000000000x­ŽAÂ0 9çù¨il‡H!ñã¸ÐC›*5Ï'â Üvç0©Ë2›‰ÖT}ÀLH˜´L (ÌŒ¢±“±£‚¤¹›®æ=Ê$Y ИX2”cdJL—‘STÇo{Õæw©fþþb©«¿ìò7~r©mïN›å½Ÿ¤¶íÔ”ÅÚüéo¹ú2 dðÇá< ®Ó^núO§ë!óê¾§UXÖruby-git-1.2.8/tests/files/working.git/objects/b6/987bc1201ad19774c43c0ea8078f6f51d76bcb000066400000000000000000000000241236651770500271000ustar00rootroot00000000000000xKÊÉOR03c0ä¢œÑ Çruby-git-1.2.8/tests/files/working.git/objects/b6/9e6acd87e5f9114ce6580b095ef1057a8fe5bb000066400000000000000000000000241236651770500272560ustar00rootroot00000000000000xKÊÉOR07b0ä¢ÙD uruby-git-1.2.8/tests/files/working.git/objects/b9/000077500000000000000000000000001236651770500217515ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/b9/8f4909807c8c84a1dc1b62b4a339ae1777f369000066400000000000000000000002521236651770500267650ustar00rootroot00000000000000x­ŽK 1D]ç¹€’ÿDOÒétt32-x|ƒgpQPU‹Çþ® K‰‘ÄêLÖκµT|Äæ½VP+¦¬Š.‘ØaÐÆ²Q1ˆ-%›#ššm³IëTˆ…L4‘ X«Š€7¿úvfùxöM^ü•;<¡öqL&/ø>.ØÇ~Ècù̵ޤÖÙy—ƒò¬’Rb¾ÓœéŸL1E–M|9 XKruby-git-1.2.8/tests/files/working.git/objects/ba/000077500000000000000000000000001236651770500220215ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/ba/492c62b6227d7f3507b4dcc6e6d5f13790eabf000066400000000000000000000000271236651770500272410ustar00rootroot00000000000000xKÊÉOR04²`0äHhÄø˜ruby-git-1.2.8/tests/files/working.git/objects/ba/c335cb9dc058a477d04cde34c07d1f70d16fb9000066400000000000000000000001301236651770500273030ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(açüôvç›ê±¢ÓØ 7'ŸÊtøýðF"(ruby-git-1.2.8/tests/files/working.git/objects/bb/000077500000000000000000000000001236651770500220225ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/bb/0850568bb43049031a38b01ddb60e4a487f823000066400000000000000000000000231236651770500266320ustar00rootroot00000000000000xKÊÉOR0´`0äB‡GY<ruby-git-1.2.8/tests/files/working.git/objects/be/000077500000000000000000000000001236651770500220255ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/be/b14380ef26540efcad06bedcd0e302b6bce70e000066400000000000000000000002531236651770500275100ustar00rootroot00000000000000x­ŽKn!½æ\ ÍoÉŠ"å$ìYÌ`1m)Çò¼{¯¥â¾ï›hãEF­º!:²m!äLÁ¡ ¸”P2ÅRΑª/«zbÔCt´9'ÏÁՆɃkÅDŸ Ù”Q›c]Ð…—<úÐ'wýû÷CßN~ÜQú8§S6~Wîãy,cû›oÿÖDÉŸb0úˬƨIg¹ÔO:Õ ÙõïLY<ruby-git-1.2.8/tests/files/working.git/objects/c1/000077500000000000000000000000001236651770500217425ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/c1/3142dd26a1f6f38403a17f6c411cb621b9a1cd000066400000000000000000000000241236651770500270400ustar00rootroot00000000000000xKÊÉOR05b0ä"Ô%ruby-git-1.2.8/tests/files/working.git/objects/c1/8b4e9b0829411705d7fa9a1570a20d88780817000066400000000000000000000000231236651770500265210ustar00rootroot00000000000000xKÊÉOR04c0äB…>Çÿruby-git-1.2.8/tests/files/working.git/objects/c5/000077500000000000000000000000001236651770500217465ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/c5/a3fdb33f052b8f17dac83c533b62244226f4ba000066400000000000000000000001301236651770500271310ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aP.•ûvðßE¯‡ VßÊמ¼ù"Œruby-git-1.2.8/tests/files/working.git/objects/c6/000077500000000000000000000000001236651770500217475ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/c6/567e2feccce3893ae0aaac2bf97807338aa8d4000066400000000000000000000001301236651770500274010ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aX¸˜mÞŸcοsÒü2wܲMló!ˆruby-git-1.2.8/tests/files/working.git/objects/cb/000077500000000000000000000000001236651770500220235ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/cb/45eef6fa1ad913137d91c6b81d2b42d69094a6000066400000000000000000000001301236651770500271520ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aXùèciÒºŠå±'BwÛž|Qœ"{é# ruby-git-1.2.8/tests/files/working.git/objects/cd/000077500000000000000000000000001236651770500220255ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/cd/0d59357b36a447ff27a7c176b46e0a319b42df000066400000000000000000000000241236651770500270760ustar00rootroot00000000000000xKÊÉOR°4`0䢩ó ˆruby-git-1.2.8/tests/files/working.git/objects/cd/4291452a61ff8b57cf5510addc8ddc5630748e000066400000000000000000000001301236651770500271570ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aX±}“¢«Ïõ=†›.NÚíÿ£ë—!Èruby-git-1.2.8/tests/files/working.git/objects/cf/000077500000000000000000000000001236651770500220275ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/cf/7135368cc3bf4920ceeaeebd083e098cfad355000066400000000000000000000002511236651770500274020ustar00rootroot00000000000000x­ŽK 1D]ç¹€’_§ ˆž¤íîÑYÌdÈDðøÏப ë²Ì݆œ½©Zdâ4|IÅÀTCpSNàsBtf£¦ë8j‰e’ˆ‡¡‚~" ÈQ£( IràÐл¿j³;×ÞíýE\W{Ùùnô$©mÌ>ó{?qmÛ©)qoóg´åj½/ RÉíÑ3cæ]ÿÉ4Cd^ÍX7ruby-git-1.2.8/tests/files/working.git/objects/cf/b9952c3a28831144a0fac7ea5a2d8517f466c4000066400000000000000000000001301236651770500270720ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a{lÜ/¸åÿñ ?®Þ.-X ïõ"Yruby-git-1.2.8/tests/files/working.git/objects/d0/000077500000000000000000000000001236651770500217425ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/d0/0491fd7e5bb6fa28c517a0bb32b8b506539d4d000066400000000000000000000000211236651770500271370ustar00rootroot00000000000000xKÊÉOR0b0ä-ruby-git-1.2.8/tests/files/working.git/objects/d1/000077500000000000000000000000001236651770500217435ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/d1/4cbc09cc34fb6450b2e96432102be51c8292b8000066400000000000000000000002501236651770500267760ustar00rootroot00000000000000x­ŽKÂ0 Yç¹(ã !$N⸺hS%®Äñ‰8»7o1®Ë2« ˆm"6—³‡LÄòÄ è/.Ç\Jð>fñšš¬j‘Ã}2a™€“ä$1‡X"bJ’":1´ë»6Û¹ªÚÇ›¸®öÚù7îô¢©¶>œ:óÞO\ÛvjB¬mþ ZnÖû gÈÁÝÅ93ÞQ®òO§!ój¾¼,W­ruby-git-1.2.8/tests/files/working.git/objects/d3/000077500000000000000000000000001236651770500217455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/d3/d171221e87a30e059d638f155f899595d96b71000066400000000000000000000000231236651770500265450ustar00rootroot00000000000000xKÊÉOR02`0ä„O¤pruby-git-1.2.8/tests/files/working.git/objects/d5/000077500000000000000000000000001236651770500217475ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/d5/b9587b65731e25216743b0caca72051a760211000066400000000000000000000002521236651770500264750ustar00rootroot00000000000000x­ŽA Â0E]ç¹€ÒIÒ$"‚'™N¦ÚE›’Žàñ žÁÝñx\×uQëbö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(apé̱™œ»µoIë%á[;/Ú¥iêµ!Cruby-git-1.2.8/tests/files/working.git/objects/d6/f31c35d7e010e50568c0d605227028aa7bac66000066400000000000000000000002511236651770500267150ustar00rootroot00000000000000x­ŽA Â0E]ç¹€’I'i "‚'™L3ÚE›’Žàñ žÁÝñx\×uQëc^Äu³×ƒãNOšk;ºS~®m¿´B¬mùtZo`€SÄhÏ.9gúÛ˵üÓizȲ™/‰NX»ruby-git-1.2.8/tests/files/working.git/objects/d7/000077500000000000000000000000001236651770500217515ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/d7/875788aeafdd8e317880c00e3372f683cad91e000066400000000000000000000001301236651770500271220ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aHª˜~vñ¦Çk³—\.×ál}øßdú "½ruby-git-1.2.8/tests/files/working.git/objects/d7/d8a71a719e2a4ca501991a66dab47df804f6ad000066400000000000000000000000241236651770500272350ustar00rootroot00000000000000xKÊÉOR°4a0ä¢%Þá ruby-git-1.2.8/tests/files/working.git/objects/d7/e844eec32d74a3d37c4ce02d7138658e1035d6000066400000000000000000000001301236651770500270200ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aðý?ïs߇9ûù̘¥÷=Ò®ùp|ÅÛ#{ruby-git-1.2.8/tests/files/working.git/objects/da/000077500000000000000000000000001236651770500220235ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/da/597fb7fba247a5b59d917e90342cf4b9695905000066400000000000000000000001271236651770500270530ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a8Øí7›CÓQœõú¯Y¢‹x;*8ÄÝ`Bruby-git-1.2.8/tests/files/working.git/objects/da/7b788b1575936a4381050610a37737c70b55a0000066400000000000000000000000231236651770500264260ustar00rootroot00000000000000xKÊÉOR06c0ä" §÷Oruby-git-1.2.8/tests/files/working.git/objects/de/000077500000000000000000000000001236651770500220275ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/de/996da0ef3dcee1a28aef9243aa3e255eb825b5000066400000000000000000000000241236651770500274560ustar00rootroot00000000000000xKÊÉOR°0c0ä¢z ruby-git-1.2.8/tests/files/working.git/objects/de/d54b45e4d49816f6d4256e74d45ba2bb351357000066400000000000000000000001301236651770500270230ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a`ûòb…Ã%û«§tFÅŠ5UI~ßø—"ruby-git-1.2.8/tests/files/working.git/objects/e3/000077500000000000000000000000001236651770500217465ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/e3/6f723934fd1d67c7d21538751f0b1e941141db000066400000000000000000000002521236651770500266610ustar00rootroot00000000000000x­ŽM Â0F]ç¹€eÒL~Á“L'‰í¢MI§àñ žÁÝ÷¾Åãq]×EôèýEZÎÚcv#12xÃÅpÙ¸TRôe `’AµSË›hH#c(Æ&›ÉÂ1b‰Ù'ÁAà¨è”¹6}pѯ™¸nú~ðo<éM©¶£;eáó¸¶}h™XÚòé´>´17txóÖé+DÕß^.ùŸNÕC–M}tžWcruby-git-1.2.8/tests/files/working.git/objects/e3/ebef76525fe9e6e8dc739934a08512dff777c0000066400000000000000000000000241236651770500272160ustar00rootroot00000000000000xKÊÉOR°0`0ä¢.1 `ruby-git-1.2.8/tests/files/working.git/objects/e5/000077500000000000000000000000001236651770500217505ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/e5/0fa6835cb99747346f19fea5f1ba939da4205f000066400000000000000000000002511236651770500271210ustar00rootroot00000000000000x­Ž] Â0„}Î)reÓnó"‚'Ùî®Ú‡6’®àñ žÁ·™aøø¸®ëb~ˆñ`MÕ8My Fˆ’ÆŠÀX’d,ˆÒÔ½¨éf> )$š‹”ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(að97ÅhÓ–D#¯ÄDùDç!>7øäï 0ruby-git-1.2.8/tests/files/working.git/objects/e5/76bdfc9ed4627ac954f9390cf7a6151ad2a73e000066400000000000000000000002511236651770500272570ustar00rootroot00000000000000x­ŽK Ã0 »ö)|dGR =‰¢(m‰ƒ£@_Ó3t÷Þ,†á²®‹ÚóE«ˆû4G™¢“h`£`ò%c˜"y ³S•M-úæQ0»4D>ò˜x 42»É70:õ]ª=¸¨Ú相lövðo<èES©GsêÂçÑq©{W…Xëòio½[ïH0d{uèœi´•«üÓiZȲ™/†§W’ruby-git-1.2.8/tests/files/working.git/objects/e6/000077500000000000000000000000001236651770500217515ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391000066400000000000000000000000171236651770500271760ustar00rootroot00000000000000xKÊÉOR0` °ðruby-git-1.2.8/tests/files/working.git/objects/e7/000077500000000000000000000000001236651770500217525ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/e7/ea5938f9c009d32235050bca991d0b9533e440000066400000000000000000000001301236651770500266500ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØå©“´M©¶Þ”}ËcÏ®~4Ÿðj?í†"Ôruby-git-1.2.8/tests/files/working.git/objects/e8/000077500000000000000000000000001236651770500217535ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/e8/183f05f5db68b3934e93f4bf6bed2bb664e0b5000066400000000000000000000000221236651770500272500ustar00rootroot00000000000000xKÊÉOR0c0äA&§ruby-git-1.2.8/tests/files/working.git/objects/e8/bd03b163f82fba4560c11839d49361a78dec85000066400000000000000000000001301236651770500270210ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aè²ßî>ÃúÓò/ï…³¾ì?_9yádvÿÈ#ruby-git-1.2.8/tests/files/working.git/objects/e9/000077500000000000000000000000001236651770500217545ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/e9/0de8268373e4fd5ab13310b7745d47ec16813c000066400000000000000000000000241236651770500267410ustar00rootroot00000000000000xKÊÉOR05a0ä"-úbruby-git-1.2.8/tests/files/working.git/objects/ec/000077500000000000000000000000001236651770500220265ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/ec/16a327a6a98367d03369b4e998baf3db379313000066400000000000000000000001301236651770500267510ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØÍÖ½ÅÀ“YÊbƒìí„'KÚ(Ú iruby-git-1.2.8/tests/files/working.git/objects/ec/1e3d44e160e18dbfbaa80b5b0780ccc03e678e000066400000000000000000000001301236651770500273540ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aùó{ß–'‰/\ÒjP^-{ï„#eruby-git-1.2.8/tests/files/working.git/objects/ed/000077500000000000000000000000001236651770500220275ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/ed/551aa66cf0c6f1a078832f80899faff0ae88dc000066400000000000000000000001301236651770500273320ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a8ËiZm¶Äý¿úòƒe[ò¸ g;Ýäò âruby-git-1.2.8/tests/files/working.git/objects/f1/000077500000000000000000000000001236651770500217455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/f1/25480ee106989ec4d86554c0d5a1487ad4336a000066400000000000000000000002531236651770500266700ustar00rootroot00000000000000x­ŽAn! E»æ\ p@ŠªH=‰1¦™Å ãH=~PÏÐÝÿoñôxìû¦?tŠX.!øÞ¥\kÅs¯×‚j\¬yðÌ“¦j]Ï1‘£’}eèèCŠ[ƒŠB] §ÄÐ ½ô1¦=y¨Úïñ8ìíä¿q§jcžË©¿Î ù¼L!Ö¹ý®·YïKL±`(öÓeçÌ¢«\å?f…l‡ydX®ruby-git-1.2.8/tests/files/working.git/objects/f1/410f8735f6f73d3599eb9b5cdd2fb70373335c000066400000000000000000000002501236651770500270360ustar00rootroot00000000000000x­Ž[ Â0EýÎ*²Ë䂈àJ’ÉTûѦ$Spù×à×}À=\¬Û¶²ÔÞ_¸I¦„ ãœÁÙ`õâ ”˜"R@tª˜hUqyGj´³Ì”•5hÑÞÙ!˜ øL }S ‘N~×&;Vfù|'¬»¼uü™Gz¥R[L^ñìÖvLr[?#mw©Ôl½y… F;ž3ý“)Æ‘u_9Xˆruby-git-1.2.8/tests/files/working.git/objects/f2/000077500000000000000000000000001236651770500217465ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/f2/02cb755135d4263589602783b04fb32a079d88000066400000000000000000000000241236651770500264400ustar00rootroot00000000000000xKÊÉOR0±`0ä" ý´´ruby-git-1.2.8/tests/files/working.git/objects/f2/ff401fb3fc81f8abb3ca15247aadc1e22b6288000066400000000000000000000002511236651770500273560ustar00rootroot00000000000000x­ŽM Â0F]ç¹€eÒü4Á“L'í¢MI§àñ žÁÝ÷¾ÅãQ]×EôÂE³¦àÃÄca"b“ED¤q.iŠ0YcvjÇÆ›hÈÞ$ÂD#çLÎ9k¸°±>C¡˜ Ü&¯ð”wmú *¢Ÿo¤ºéÛA¿ñÀæÚŽî”…Îc Úö¡1’´åÓi½kc’ó.ô"€êo/þ§SõeS_$…Y[ruby-git-1.2.8/tests/files/working.git/objects/f5/000077500000000000000000000000001236651770500217515ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/f5/501de98279c6454f510188873476f3ead0cee6000066400000000000000000000002511236651770500267070ustar00rootroot00000000000000x­ŽQ à Dûí)¼@ƒ‰ºF(¥Ð“¬«¶~$Ý@_éú73 GuÛ ËàÂ-%l\3i ΨÀhHÁfƒÞics «‚Åzq`K;KÔ4gN9C‘<¢÷+¿&ŒòìÞü®MvªÌòùFª»¼uú…¾0ÖÖ“ }¢ÚŽ©%$nå3Úv—óì5~É«Z•cæœþÉC¤ìâ çóY-ruby-git-1.2.8/tests/files/working.git/objects/f7/000077500000000000000000000000001236651770500217535ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/f7/5f313ca30e534aa9c42463e85108e682d3a14a000066400000000000000000000001301236651770500267200ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a8hètWmá·Ï-Ì ëse¶)î\xóH!ðruby-git-1.2.8/tests/files/working.git/objects/f8/000077500000000000000000000000001236651770500217545ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/f8/e9c6748331411c0d3511f90bd4e0a1a30acff0000066400000000000000000000001671236651770500270560ustar00rootroot00000000000000x+)JMU040a01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(açüôvç›ê±¢ÓØ 7'ŸÊtøýbNqr~I Ã\«Kæl_xåËIÁ¦“ùÚOÍù#é2ƒruby-git-1.2.8/tests/files/working.git/objects/f9/000077500000000000000000000000001236651770500217555ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/f9/bce8995109cfab475d043a7dd9156d5e574ed3000066400000000000000000000000241236651770500272040ustar00rootroot00000000000000xKÊÉOR0·`0ä¢&— ,ruby-git-1.2.8/tests/files/working.git/objects/fa/000077500000000000000000000000001236651770500220255ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/fa/6312f71abb153ada6a0399ad710d21bb61e4d8000066400000000000000000000001301236651770500271770ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(axüú}YPüËg/îÏ4YÐ*tÿ{ù0$¼ruby-git-1.2.8/tests/files/working.git/objects/fb/000077500000000000000000000000001236651770500220265ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/fb/8e78840d79085abf50edebf5b9d6b73ee0fb4c000066400000000000000000000000241236651770500275000ustar00rootroot00000000000000xKÊÉOR07c0䢭 ïruby-git-1.2.8/tests/files/working.git/objects/fc/000077500000000000000000000000001236651770500220275ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/fc/b49fa99454f804799a12095292edbca48779ab000066400000000000000000000000231236651770500270500ustar00rootroot00000000000000xKÊÉOR04a0äB†6³Âruby-git-1.2.8/tests/files/working.git/objects/fe/000077500000000000000000000000001236651770500220315ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/objects/fe/b2ccf88397c2d93f381176067be2727eba330b000066400000000000000000000002511236651770500271070ustar00rootroot00000000000000x­ŽM …]s .  $Ƙx’é0µ]´4tL<¾è\½Ÿ¼|yT×uíNÒ˜u.0å!ï c ³õðUgaD›J€jÇÆ›h‡¾°6D³OŒ˜³õ†¦)º„#E…/™kÓUý˜‘ꦯýÌŸXj;:Szªm¿4F’¶¼{ZoÚÚìƒÏ@ŸM2Fõ¶?þ'Sõ#˦>uqWuruby-git-1.2.8/tests/files/working.git/refs/000077500000000000000000000000001236651770500207455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/refs/heads/000077500000000000000000000000001236651770500220315ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/refs/heads/git_grep000066400000000000000000000000511236651770500235500ustar00rootroot000000000000005e53019b3238362144c2766f02a2c00d91fcc023 ruby-git-1.2.8/tests/files/working.git/refs/heads/master000066400000000000000000000000511236651770500232430ustar00rootroot000000000000005e392652a881999392c2757cf9b783c5d47b67f7 ruby-git-1.2.8/tests/files/working.git/refs/heads/test000066400000000000000000000000511236651770500227270ustar00rootroot000000000000001cc8667014381e2788a94777532a788307f38d26 ruby-git-1.2.8/tests/files/working.git/refs/heads/test_branches000066400000000000000000000000511236651770500245740ustar00rootroot000000000000003a9f195756f5bd26b67c5e1fffd92d68d61be14e ruby-git-1.2.8/tests/files/working.git/refs/heads/test_object000066400000000000000000000000511236651770500242550ustar00rootroot000000000000003a9f195756f5bd26b67c5e1fffd92d68d61be14e ruby-git-1.2.8/tests/files/working.git/refs/tags/000077500000000000000000000000001236651770500217035ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working.git/refs/tags/gitsearch1000066400000000000000000000000511236651770500236540ustar00rootroot00000000000000935badc874edd62a8629aaf103418092c73f0a56 ruby-git-1.2.8/tests/files/working.git/refs/tags/v2.5000066400000000000000000000000511236651770500223140ustar00rootroot00000000000000546bec6f8872efa41d5d97a369f669165ecda0de ruby-git-1.2.8/tests/files/working.git/refs/tags/v2.6000066400000000000000000000000511236651770500223150ustar00rootroot000000000000003a9f195756f5bd26b67c5e1fffd92d68d61be14e ruby-git-1.2.8/tests/files/working.git/refs/tags/v2.7000066400000000000000000000000511236651770500223160ustar00rootroot000000000000003a9f195756f5bd26b67c5e1fffd92d68d61be14e ruby-git-1.2.8/tests/files/working.git/refs/tags/v2.8000066400000000000000000000000511236651770500223170ustar00rootroot000000000000005e53019b3238362144c2766f02a2c00d91fcc023 ruby-git-1.2.8/tests/files/working/000077500000000000000000000000001236651770500172245ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/000077500000000000000000000000001236651770500206555ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/FETCH_HEAD000066400000000000000000000001251236651770500222100ustar00rootroot00000000000000545ffc79786f268524c35e1e05b1770c7c74faf1 not-for-merge branch 'master' of ../working ruby-git-1.2.8/tests/files/working/dot_git/HEAD000066400000000000000000000000311236651770500212730ustar00rootroot00000000000000ref: refs/heads/git_grep ruby-git-1.2.8/tests/files/working/dot_git/config000066400000000000000000000004421236651770500220450ustar00rootroot00000000000000[user] name = Scott Chacon email = schacon@gmail.com [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [gui] geometry = 986x682+365+124 211 500 [remote "working"] url = ../working.git fetch = +refs/heads/*:refs/remotes/working/* ruby-git-1.2.8/tests/files/working/dot_git/description000066400000000000000000000000721236651770500231220ustar00rootroot00000000000000Unnamed repository; edit this file to name it for gitweb. ruby-git-1.2.8/tests/files/working/dot_git/hooks/000077500000000000000000000000001236651770500220005ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/hooks/applypatch-msg000066400000000000000000000006711236651770500246600ustar00rootroot00000000000000#!/bin/sh # # An example hook script to check the commit log message taken by # applypatch from an e-mail message. # # The hook should exit with non-zero status after issuing an # appropriate message if it wants to stop the commit. The hook is # allowed to edit the commit message file. # # To enable this hook, make this file executable. . git-sh-setup test -x "$GIT_DIR/hooks/commit-msg" && exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} : ruby-git-1.2.8/tests/files/working/dot_git/hooks/commit-msg000066400000000000000000000014141236651770500237770ustar00rootroot00000000000000#!/bin/sh # # An example hook script to check the commit log message. # Called by git-commit with one argument, the name of the file # that has the commit message. The hook should exit with non-zero # status after issuing an appropriate message if it wants to stop the # commit. The hook is allowed to edit the commit message file. # # To enable this hook, make this file executable. # Uncomment the below to add a Signed-off-by line to the message. # SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') # grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" # This example catches duplicate Signed-off-by lines. test "" = "$(grep '^Signed-off-by: ' "$1" | sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { echo >&2 Duplicate Signed-off-by lines. exit 1 } ruby-git-1.2.8/tests/files/working/dot_git/hooks/post-commit000066400000000000000000000002301236651770500241710ustar00rootroot00000000000000#!/bin/sh # # An example hook script that is called after a successful # commit is made. # # To enable this hook, make this file executable. : Nothing ruby-git-1.2.8/tests/files/working/dot_git/hooks/post-receive000066400000000000000000000007761236651770500243420ustar00rootroot00000000000000#!/bin/sh # # An example hook script for the post-receive event # # This script is run after receive-pack has accepted a pack and the # repository has been updated. It is passed arguments in through stdin # in the form # # For example: # aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master # # see contrib/hooks/ for an sample, or uncomment the next line (on debian) # #. /usr/share/doc/git-core/contrib/hooks/post-receive-email ruby-git-1.2.8/tests/files/working/dot_git/hooks/post-update000066400000000000000000000003171236651770500241710ustar00rootroot00000000000000#!/bin/sh # # An example hook script to prepare a packed repository for use over # dumb transports. # # To enable this hook, make this file executable by "chmod +x post-update". exec git-update-server-info ruby-git-1.2.8/tests/files/working/dot_git/hooks/pre-applypatch000066400000000000000000000006031236651770500246530ustar00rootroot00000000000000#!/bin/sh # # An example hook script to verify what is about to be committed # by applypatch from an e-mail message. # # The hook should exit with non-zero status after issuing an # appropriate message if it wants to stop the commit. # # To enable this hook, make this file executable. . git-sh-setup test -x "$GIT_DIR/hooks/pre-commit" && exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} : ruby-git-1.2.8/tests/files/working/dot_git/hooks/pre-commit000066400000000000000000000032371236651770500240040ustar00rootroot00000000000000#!/bin/sh # # An example hook script to verify what is about to be committed. # Called by git-commit with no arguments. The hook should # exit with non-zero status after issuing an appropriate message if # it wants to stop the commit. # # To enable this hook, make this file executable. # This is slightly modified from Andrew Morton's Perfect Patch. # Lines you introduce should not have trailing whitespace. # Also check for an indentation that has SP before a TAB. if git-rev-parse --verify HEAD 2>/dev/null then git-diff-index -p -M --cached HEAD else # NEEDSWORK: we should produce a diff with an empty tree here # if we want to do the same verification for the initial import. : fi | perl -e ' my $found_bad = 0; my $filename; my $reported_filename = ""; my $lineno; sub bad_line { my ($why, $line) = @_; if (!$found_bad) { print STDERR "*\n"; print STDERR "* You have some suspicious patch lines:\n"; print STDERR "*\n"; $found_bad = 1; } if ($reported_filename ne $filename) { print STDERR "* In $filename\n"; $reported_filename = $filename; } print STDERR "* $why (line $lineno)\n"; print STDERR "$filename:$lineno:$line\n"; } while (<>) { if (m|^diff --git a/(.*) b/\1$|) { $filename = $1; next; } if (/^@@ -\S+ \+(\d+)/) { $lineno = $1 - 1; next; } if (/^ /) { $lineno++; next; } if (s/^\+//) { $lineno++; chomp; if (/\s$/) { bad_line("trailing whitespace", $_); } if (/^\s* /) { bad_line("indent SP followed by a TAB", $_); } if (/^(?:[<>=]){7}/) { bad_line("unresolved merge conflict", $_); } } } exit($found_bad); ' ruby-git-1.2.8/tests/files/working/dot_git/hooks/pre-rebase000066400000000000000000000102461236651770500237530ustar00rootroot00000000000000#!/bin/sh # # Copyright (c) 2006 Junio C Hamano # publish=next basebranch="$1" if test "$#" = 2 then topic="refs/heads/$2" else topic=`git symbolic-ref HEAD` fi case "$basebranch,$topic" in master,refs/heads/??/*) ;; *) exit 0 ;# we do not interrupt others. ;; esac # Now we are dealing with a topic branch being rebased # on top of master. Is it OK to rebase it? # Is topic fully merged to master? not_in_master=`git-rev-list --pretty=oneline ^master "$topic"` if test -z "$not_in_master" then echo >&2 "$topic is fully merged to master; better remove it." exit 1 ;# we could allow it, but there is no point. fi # Is topic ever merged to next? If so you should not be rebasing it. only_next_1=`git-rev-list ^master "^$topic" ${publish} | sort` only_next_2=`git-rev-list ^master ${publish} | sort` if test "$only_next_1" = "$only_next_2" then not_in_topic=`git-rev-list "^$topic" master` if test -z "$not_in_topic" then echo >&2 "$topic is already up-to-date with master" exit 1 ;# we could allow it, but there is no point. else exit 0 fi else not_in_next=`git-rev-list --pretty=oneline ^${publish} "$topic"` perl -e ' my $topic = $ARGV[0]; my $msg = "* $topic has commits already merged to public branch:\n"; my (%not_in_next) = map { /^([0-9a-f]+) /; ($1 => 1); } split(/\n/, $ARGV[1]); for my $elem (map { /^([0-9a-f]+) (.*)$/; [$1 => $2]; } split(/\n/, $ARGV[2])) { if (!exists $not_in_next{$elem->[0]}) { if ($msg) { print STDERR $msg; undef $msg; } print STDERR " $elem->[1]\n"; } } ' "$topic" "$not_in_next" "$not_in_master" exit 1 fi exit 0 ################################################################ This sample hook safeguards topic branches that have been published from being rewound. The workflow assumed here is: * Once a topic branch forks from "master", "master" is never merged into it again (either directly or indirectly). * Once a topic branch is fully cooked and merged into "master", it is deleted. If you need to build on top of it to correct earlier mistakes, a new topic branch is created by forking at the tip of the "master". This is not strictly necessary, but it makes it easier to keep your history simple. * Whenever you need to test or publish your changes to topic branches, merge them into "next" branch. The script, being an example, hardcodes the publish branch name to be "next", but it is trivial to make it configurable via $GIT_DIR/config mechanism. With this workflow, you would want to know: (1) ... if a topic branch has ever been merged to "next". Young topic branches can have stupid mistakes you would rather clean up before publishing, and things that have not been merged into other branches can be easily rebased without affecting other people. But once it is published, you would not want to rewind it. (2) ... if a topic branch has been fully merged to "master". Then you can delete it. More importantly, you should not build on top of it -- other people may already want to change things related to the topic as patches against your "master", so if you need further changes, it is better to fork the topic (perhaps with the same name) afresh from the tip of "master". Let's look at this example: o---o---o---o---o---o---o---o---o---o "next" / / / / / a---a---b A / / / / / / / / c---c---c---c B / / / / \ / / / / b---b C \ / / / / / \ / ---o---o---o---o---o---o---o---o---o---o---o "master" A, B and C are topic branches. * A has one fix since it was merged up to "next". * B has finished. It has been fully merged up to "master" and "next", and is ready to be deleted. * C has not merged to "next" at all. We would want to allow C to be rebased, refuse A, and encourage B to be deleted. To compute (1): git-rev-list ^master ^topic next git-rev-list ^master next if these match, topic has not merged in next at all. To compute (2): git-rev-list master..topic if this is empty, it is fully merged to "master". ruby-git-1.2.8/tests/files/working/dot_git/hooks/update000066400000000000000000000037011236651770500232060ustar00rootroot00000000000000#!/bin/sh # # An example hook script to blocks unannotated tags from entering. # Called by git-receive-pack with arguments: refname sha1-old sha1-new # # To enable this hook, make this file executable by "chmod +x update". # # Config # ------ # hooks.allowunannotated # This boolean sets whether unannotated tags will be allowed into the # repository. By default they won't be. # # --- Command line refname="$1" oldrev="$2" newrev="$3" # --- Safety check if [ -z "$GIT_DIR" ]; then echo "Don't run this script from the command line." >&2 echo " (if you want, you could supply GIT_DIR then run" >&2 echo " $0 )" >&2 exit 1 fi if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then echo "Usage: $0 " >&2 exit 1 fi # --- Config allowunannotated=$(git-repo-config --bool hooks.allowunannotated) # check for no description projectdesc=$(sed -e '1p' "$GIT_DIR/description") if [ -z "$projectdesc" -o "$projectdesc" = "Unnamed repository; edit this file to name it for gitweb" ]; then echo "*** Project description file hasn't been set" >&2 exit 1 fi # --- Check types # if $newrev is 0000...0000, it's a commit to delete a branch if [ "$newrev" = "0000000000000000000000000000000000000000" ]; then newrev_type=commit else newrev_type=$(git-cat-file -t $newrev) fi case "$refname","$newrev_type" in refs/tags/*,commit) # un-annotated tag short_refname=${refname##refs/tags/} if [ "$allowunannotated" != "true" ]; then echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 exit 1 fi ;; refs/tags/*,tag) # annotated tag ;; refs/heads/*,commit) # branch ;; refs/remotes/*,commit) # tracking branch ;; *) # Anything else (is there anything else?) echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 exit 1 ;; esac # --- Finished exit 0 ruby-git-1.2.8/tests/files/working/dot_git/index000066400000000000000000000006761236651770500217200ustar00rootroot00000000000000DIRCG2]dG2]dpÏ¢¤õõæâ›²ÑÖCK‹)®wZØÂäŒS‘ ex_dir/ex.txtG5ýÔG5ýÔq¤õõ"Çšçaj¿-M]—Õfò²öÎàC example.txtG4¨›G4¨›q¤õõ]F‚6?ží*c6fh’È ¥ scott/newfileG4¨‡G4¨‡q ¤õõK<ÇÙäEÚRx]Þÿ@ÚÑ=Iscott/text.txtTREEV4 2 H»ðÛ~:ÿ«}Ò„+„Uÿ˜v¾scott2 0 E ›ˆ^¹°ß<{«xp~Ãex_dir1 0 ky Ü^«0ñŒ«ÝèøÚÀÒÓív• §x{m5°ë˜Ü¯ù 1194483057 -0800 commit (initial): example git repo 545ffc79786f268524c35e1e05b1770c7c74faf1 6270c7f48ca41e6fb41b745ddc1bffe521d83194 scott Chacon 1194549616 -0800 commit: again 6270c7f48ca41e6fb41b745ddc1bffe521d83194 0d2c47f07277b3ea30b0884f8e3acd68440507c8 scott Chacon 1194549634 -0800 commit: again 0d2c47f07277b3ea30b0884f8e3acd68440507c8 e36f723934fd1d67c7d21538751f0b1e941141db scott Chacon 1194549635 -0800 commit: again e36f723934fd1d67c7d21538751f0b1e941141db a44a5e945176ff31be83ffca3e7c68a8b6a45ea5 scott Chacon 1194549635 -0800 commit: again a44a5e945176ff31be83ffca3e7c68a8b6a45ea5 81d4d5e9b6db474d0f432aa31d44bf690d841e94 scott Chacon 1194549636 -0800 commit: again 81d4d5e9b6db474d0f432aa31d44bf690d841e94 71894b736711ea0a5def4f536009364d07ee4db3 scott Chacon 1194549636 -0800 commit: again 71894b736711ea0a5def4f536009364d07ee4db3 b1b18f5bea24648a1b08e5bba88728c15ec3cb50 scott Chacon 1194549637 -0800 commit: again b1b18f5bea24648a1b08e5bba88728c15ec3cb50 4ade99433ac3e4bcc874cd7de488de29399e9096 scott Chacon 1194549637 -0800 commit: again 4ade99433ac3e4bcc874cd7de488de29399e9096 ae21cabd23aee99a719fc828977c0df9e8b19363 scott Chacon 1194549637 -0800 commit: again ae21cabd23aee99a719fc828977c0df9e8b19363 d5b9587b65731e25216743b0caca72051a760211 scott Chacon 1194549638 -0800 commit: again d5b9587b65731e25216743b0caca72051a760211 a788a1cba299638a2c898fcfaae1f69a1549853d scott Chacon 1194549638 -0800 commit: again a788a1cba299638a2c898fcfaae1f69a1549853d 0f845a0a981bc2f61354fcdd2b6eafe2b2c55c2d scott Chacon 1194549639 -0800 commit: again 0f845a0a981bc2f61354fcdd2b6eafe2b2c55c2d f125480ee106989ec4d86554c0d5a1487ad4336a scott Chacon 1194549639 -0800 commit: again f125480ee106989ec4d86554c0d5a1487ad4336a a6b25c4b27ee99f93fd611154202af5f9e3c99de scott Chacon 1194549639 -0800 commit: again a6b25c4b27ee99f93fd611154202af5f9e3c99de 9ae1fbd7636c99d34fdd395cf9bb21ad51417ce7 scott Chacon 1194549640 -0800 commit: again 9ae1fbd7636c99d34fdd395cf9bb21ad51417ce7 88cf23d06f519bec7b824acd52b87a729555f2e7 scott Chacon 1194549640 -0800 commit: again 88cf23d06f519bec7b824acd52b87a729555f2e7 36fe213c328fd280f33abe00069c4b92eb5a88d1 scott Chacon 1194549640 -0800 commit: again 36fe213c328fd280f33abe00069c4b92eb5a88d1 53a72df554e585e239e41cb1fc498d5aee9bb164 scott Chacon 1194549641 -0800 commit: again 53a72df554e585e239e41cb1fc498d5aee9bb164 4d35ba97a858072c240d327e3ce30c28b333a1b0 scott Chacon 1194549641 -0800 commit: again 4d35ba97a858072c240d327e3ce30c28b333a1b0 324968b9dc40253f2c52a8e3856398c761dea856 scott Chacon 1194549642 -0800 commit: again 324968b9dc40253f2c52a8e3856398c761dea856 6c2d312ebd67eed4c7e97e3923b3667764e7360e scott Chacon 1194549642 -0800 commit: again 6c2d312ebd67eed4c7e97e3923b3667764e7360e d14cbc09cc34fb6450b2e96432102be51c8292b8 scott Chacon 1194549642 -0800 commit: again d14cbc09cc34fb6450b2e96432102be51c8292b8 a3c1f067074cdc9aa998cb5f3cad46a6f17aab2d scott Chacon 1194549643 -0800 commit: again a3c1f067074cdc9aa998cb5f3cad46a6f17aab2d f5501de98279c6454f510188873476f3ead0cee6 scott Chacon 1194549643 -0800 commit: again f5501de98279c6454f510188873476f3ead0cee6 8125fbe8605d2884e732a185c9a24abcc0d12a1f scott Chacon 1194549644 -0800 commit: again 8125fbe8605d2884e732a185c9a24abcc0d12a1f e576bdfc9ed4627ac954f9390cf7a6151ad2a73e scott Chacon 1194549644 -0800 commit: again e576bdfc9ed4627ac954f9390cf7a6151ad2a73e b6153b8fe540288d66b974ae05113338ab1a61f0 scott Chacon 1194549644 -0800 commit: again b6153b8fe540288d66b974ae05113338ab1a61f0 a51546fabf88ddef5a9fd91b3989dd8ccae2edf3 scott Chacon 1194549645 -0800 commit: again a51546fabf88ddef5a9fd91b3989dd8ccae2edf3 81f545324202466d44115656ea463a5bb114345f scott Chacon 1194549645 -0800 commit: again 81f545324202466d44115656ea463a5bb114345f 0d519ca9c2eddc44431efe135d0fc8df00e0b975 scott Chacon 1194549646 -0800 commit: again 0d519ca9c2eddc44431efe135d0fc8df00e0b975 f2ff401fb3fc81f8abb3ca15247aadc1e22b6288 scott Chacon 1194549646 -0800 commit: again f2ff401fb3fc81f8abb3ca15247aadc1e22b6288 d6f31c35d7e010e50568c0d605227028aa7bac66 scott Chacon 1194549646 -0800 commit: again d6f31c35d7e010e50568c0d605227028aa7bac66 5873a650a91eb238005444d2c637b451f687951b scott Chacon 1194549647 -0800 commit: again 5873a650a91eb238005444d2c637b451f687951b 547a4bae347658f0d9eed0d35d31b4561aea7cf8 scott Chacon 1194549647 -0800 commit: again 547a4bae347658f0d9eed0d35d31b4561aea7cf8 15378a1f3eafe4c5ab4f890883356df917ee5539 scott Chacon 1194549648 -0800 commit: again 15378a1f3eafe4c5ab4f890883356df917ee5539 8dae07ab9d98b5fe04d4d7ed804cc36441b68dab scott Chacon 1194549648 -0800 commit: again 8dae07ab9d98b5fe04d4d7ed804cc36441b68dab e50fa6835cb99747346f19fea5f1ba939da4205f scott Chacon 1194549649 -0800 commit: again e50fa6835cb99747346f19fea5f1ba939da4205f 5b0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa scott Chacon 1194549649 -0800 commit: again 5b0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa 62bb94c53efae4d53fd0649d129baef4aca87af7 scott Chacon 1194549649 -0800 commit: again 62bb94c53efae4d53fd0649d129baef4aca87af7 beb14380ef26540efcad06bedcd0e302b6bce70e scott Chacon 1194549650 -0800 commit: again beb14380ef26540efcad06bedcd0e302b6bce70e f1410f8735f6f73d3599eb9b5cdd2fb70373335c scott Chacon 1194549650 -0800 commit: again f1410f8735f6f73d3599eb9b5cdd2fb70373335c b03003311ad3fa368b475df58390353868e13c91 scott Chacon 1194549651 -0800 commit: again b03003311ad3fa368b475df58390353868e13c91 9fa43bcd45af28e109e6f7b9a6ccd26e8e193a63 scott Chacon 1194549651 -0800 commit: again 9fa43bcd45af28e109e6f7b9a6ccd26e8e193a63 8ce3ee48a7e7ec697a99ee33700ec624548ad9e8 scott Chacon 1194549651 -0800 commit: again 8ce3ee48a7e7ec697a99ee33700ec624548ad9e8 a0b3f35b3c39cfb12c4cc819bffe1cf54efb3642 scott Chacon 1194549652 -0800 commit: again a0b3f35b3c39cfb12c4cc819bffe1cf54efb3642 2e939fd37bbd2da971faa27c3e3de7d5aad40507 scott Chacon 1194549652 -0800 commit: again 2e939fd37bbd2da971faa27c3e3de7d5aad40507 cf7135368cc3bf4920ceeaeebd083e098cfad355 scott Chacon 1194549653 -0800 commit: again cf7135368cc3bf4920ceeaeebd083e098cfad355 631446ec50808846e31fff786c065e69da2c673b scott Chacon 1194549653 -0800 commit: again 631446ec50808846e31fff786c065e69da2c673b 70714b02913c1a249a5ab05021742f0bc7065df7 scott Chacon 1194549654 -0800 commit: again 70714b02913c1a249a5ab05021742f0bc7065df7 82d331cf4d3d4ee537c4f866cab2633b46a8d090 scott Chacon 1194549654 -0800 commit: again 82d331cf4d3d4ee537c4f866cab2633b46a8d090 5c16fb8b958b51f6008f9722b279b1fde0defb76 scott Chacon 1194549654 -0800 commit: again 5c16fb8b958b51f6008f9722b279b1fde0defb76 8b00d915a0ee5aeb32e0b166e1054c2901338c9d scott Chacon 1194549655 -0800 commit: again 8b00d915a0ee5aeb32e0b166e1054c2901338c9d 478e5ee111572790b248eaa99140c5a8f728abc7 scott Chacon 1194549655 -0800 commit: again 478e5ee111572790b248eaa99140c5a8f728abc7 feb2ccf88397c2d93f381176067be2727eba330b scott Chacon 1194549656 -0800 commit: again feb2ccf88397c2d93f381176067be2727eba330b b98f4909807c8c84a1dc1b62b4a339ae1777f369 scott Chacon 1194549656 -0800 commit: again b98f4909807c8c84a1dc1b62b4a339ae1777f369 87c56502c73149f006631129f85dff697e000356 scott Chacon 1194549657 -0800 commit: again 87c56502c73149f006631129f85dff697e000356 291b6be488d6abc586d3ee03ca61238766625a75 scott Chacon 1194549657 -0800 commit: again 291b6be488d6abc586d3ee03ca61238766625a75 545c81a2e8d1112d5f7356f840a22e8f6abcef8f scott Chacon 1194549657 -0800 commit: again 545c81a2e8d1112d5f7356f840a22e8f6abcef8f 00ea60e1331b184386392037a7267dfb4a7c7d86 scott Chacon 1194549658 -0800 commit: again 00ea60e1331b184386392037a7267dfb4a7c7d86 4b7c90536eaa830d8c1f6ff49a7885b581d6acef scott Chacon 1194549658 -0800 commit: again 4b7c90536eaa830d8c1f6ff49a7885b581d6acef 4ce44a75510cbfe200b131fdbcc56a86f1b2dc08 scott Chacon 1194549659 -0800 commit: again 4ce44a75510cbfe200b131fdbcc56a86f1b2dc08 7f5625f6b3c7213287a12c89017361248ed88936 scott Chacon 1194549659 -0800 commit: again 7f5625f6b3c7213287a12c89017361248ed88936 5e392652a881999392c2757cf9b783c5d47b67f7 scott Chacon 1194549659 -0800 commit: again 5e392652a881999392c2757cf9b783c5d47b67f7 5e392652a881999392c2757cf9b783c5d47b67f7 scott Chacon 1194560922 -0800 checkout: moving from master to test 5e392652a881999392c2757cf9b783c5d47b67f7 546bec6f8872efa41d5d97a369f669165ecda0de scott Chacon 1194560957 -0800 commit: test 546bec6f8872efa41d5d97a369f669165ecda0de 1cc8667014381e2788a94777532a788307f38d26 scott Chacon 1194561188 -0800 commit: test 1cc8667014381e2788a94777532a788307f38d26 1cc8667014381e2788a94777532a788307f38d26 scott Chacon 1194563974 -0800 checkout: moving from test to test_object 1cc8667014381e2788a94777532a788307f38d26 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194569841 -0800 commit: cool test 3a9f195756f5bd26b67c5e1fffd92d68d61be14e 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194627522 -0800 checkout: moving from test_object to test_branches 3a9f195756f5bd26b67c5e1fffd92d68d61be14e 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194632890 -0800 checkout: moving from test_branches to git_grep 3a9f195756f5bd26b67c5e1fffd92d68d61be14e a3db7143944dcfa006fefe7fb49c48793cb29ade scott Chacon 1194632954 -0800 commit: added search file a3db7143944dcfa006fefe7fb49c48793cb29ade 34a566d193dc4702f03149969a2aad1443231560 scott Chacon 1194632975 -0800 commit: modified to not show up 34a566d193dc4702f03149969a2aad1443231560 935badc874edd62a8629aaf103418092c73f0a56 scott Chacon 1194633382 -0800 commit: more search help 935badc874edd62a8629aaf103418092c73f0a56 5e53019b3238362144c2766f02a2c00d91fcc023 scott Chacon 1194720731 -0800 commit: diff test ruby-git-1.2.8/tests/files/working/dot_git/logs/refs/000077500000000000000000000000001236651770500225605ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/logs/refs/heads/000077500000000000000000000000001236651770500236445ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/logs/refs/heads/git_grep000066400000000000000000000016001236651770500253640ustar00rootroot000000000000000000000000000000000000000000000000000000 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194632890 -0800 branch: Created from HEAD 3a9f195756f5bd26b67c5e1fffd92d68d61be14e a3db7143944dcfa006fefe7fb49c48793cb29ade scott Chacon 1194632954 -0800 commit: added search file a3db7143944dcfa006fefe7fb49c48793cb29ade 34a566d193dc4702f03149969a2aad1443231560 scott Chacon 1194632975 -0800 commit: modified to not show up 34a566d193dc4702f03149969a2aad1443231560 935badc874edd62a8629aaf103418092c73f0a56 scott Chacon 1194633382 -0800 commit: more search help 935badc874edd62a8629aaf103418092c73f0a56 5e53019b3238362144c2766f02a2c00d91fcc023 scott Chacon 1194720731 -0800 commit: diff test ruby-git-1.2.8/tests/files/working/dot_git/logs/refs/heads/master000066400000000000000000000252251236651770500250700ustar00rootroot000000000000000000000000000000000000000000000000000000 545ffc79786f268524c35e1e05b1770c7c74faf1 scott Chacon 1194483057 -0800 commit (initial): example git repo 545ffc79786f268524c35e1e05b1770c7c74faf1 6270c7f48ca41e6fb41b745ddc1bffe521d83194 scott Chacon 1194549616 -0800 commit: again 6270c7f48ca41e6fb41b745ddc1bffe521d83194 0d2c47f07277b3ea30b0884f8e3acd68440507c8 scott Chacon 1194549634 -0800 commit: again 0d2c47f07277b3ea30b0884f8e3acd68440507c8 e36f723934fd1d67c7d21538751f0b1e941141db scott Chacon 1194549635 -0800 commit: again e36f723934fd1d67c7d21538751f0b1e941141db a44a5e945176ff31be83ffca3e7c68a8b6a45ea5 scott Chacon 1194549635 -0800 commit: again a44a5e945176ff31be83ffca3e7c68a8b6a45ea5 81d4d5e9b6db474d0f432aa31d44bf690d841e94 scott Chacon 1194549636 -0800 commit: again 81d4d5e9b6db474d0f432aa31d44bf690d841e94 71894b736711ea0a5def4f536009364d07ee4db3 scott Chacon 1194549636 -0800 commit: again 71894b736711ea0a5def4f536009364d07ee4db3 b1b18f5bea24648a1b08e5bba88728c15ec3cb50 scott Chacon 1194549637 -0800 commit: again b1b18f5bea24648a1b08e5bba88728c15ec3cb50 4ade99433ac3e4bcc874cd7de488de29399e9096 scott Chacon 1194549637 -0800 commit: again 4ade99433ac3e4bcc874cd7de488de29399e9096 ae21cabd23aee99a719fc828977c0df9e8b19363 scott Chacon 1194549637 -0800 commit: again ae21cabd23aee99a719fc828977c0df9e8b19363 d5b9587b65731e25216743b0caca72051a760211 scott Chacon 1194549638 -0800 commit: again d5b9587b65731e25216743b0caca72051a760211 a788a1cba299638a2c898fcfaae1f69a1549853d scott Chacon 1194549638 -0800 commit: again a788a1cba299638a2c898fcfaae1f69a1549853d 0f845a0a981bc2f61354fcdd2b6eafe2b2c55c2d scott Chacon 1194549639 -0800 commit: again 0f845a0a981bc2f61354fcdd2b6eafe2b2c55c2d f125480ee106989ec4d86554c0d5a1487ad4336a scott Chacon 1194549639 -0800 commit: again f125480ee106989ec4d86554c0d5a1487ad4336a a6b25c4b27ee99f93fd611154202af5f9e3c99de scott Chacon 1194549639 -0800 commit: again a6b25c4b27ee99f93fd611154202af5f9e3c99de 9ae1fbd7636c99d34fdd395cf9bb21ad51417ce7 scott Chacon 1194549640 -0800 commit: again 9ae1fbd7636c99d34fdd395cf9bb21ad51417ce7 88cf23d06f519bec7b824acd52b87a729555f2e7 scott Chacon 1194549640 -0800 commit: again 88cf23d06f519bec7b824acd52b87a729555f2e7 36fe213c328fd280f33abe00069c4b92eb5a88d1 scott Chacon 1194549640 -0800 commit: again 36fe213c328fd280f33abe00069c4b92eb5a88d1 53a72df554e585e239e41cb1fc498d5aee9bb164 scott Chacon 1194549641 -0800 commit: again 53a72df554e585e239e41cb1fc498d5aee9bb164 4d35ba97a858072c240d327e3ce30c28b333a1b0 scott Chacon 1194549641 -0800 commit: again 4d35ba97a858072c240d327e3ce30c28b333a1b0 324968b9dc40253f2c52a8e3856398c761dea856 scott Chacon 1194549642 -0800 commit: again 324968b9dc40253f2c52a8e3856398c761dea856 6c2d312ebd67eed4c7e97e3923b3667764e7360e scott Chacon 1194549642 -0800 commit: again 6c2d312ebd67eed4c7e97e3923b3667764e7360e d14cbc09cc34fb6450b2e96432102be51c8292b8 scott Chacon 1194549642 -0800 commit: again d14cbc09cc34fb6450b2e96432102be51c8292b8 a3c1f067074cdc9aa998cb5f3cad46a6f17aab2d scott Chacon 1194549643 -0800 commit: again a3c1f067074cdc9aa998cb5f3cad46a6f17aab2d f5501de98279c6454f510188873476f3ead0cee6 scott Chacon 1194549643 -0800 commit: again f5501de98279c6454f510188873476f3ead0cee6 8125fbe8605d2884e732a185c9a24abcc0d12a1f scott Chacon 1194549644 -0800 commit: again 8125fbe8605d2884e732a185c9a24abcc0d12a1f e576bdfc9ed4627ac954f9390cf7a6151ad2a73e scott Chacon 1194549644 -0800 commit: again e576bdfc9ed4627ac954f9390cf7a6151ad2a73e b6153b8fe540288d66b974ae05113338ab1a61f0 scott Chacon 1194549644 -0800 commit: again b6153b8fe540288d66b974ae05113338ab1a61f0 a51546fabf88ddef5a9fd91b3989dd8ccae2edf3 scott Chacon 1194549645 -0800 commit: again a51546fabf88ddef5a9fd91b3989dd8ccae2edf3 81f545324202466d44115656ea463a5bb114345f scott Chacon 1194549645 -0800 commit: again 81f545324202466d44115656ea463a5bb114345f 0d519ca9c2eddc44431efe135d0fc8df00e0b975 scott Chacon 1194549646 -0800 commit: again 0d519ca9c2eddc44431efe135d0fc8df00e0b975 f2ff401fb3fc81f8abb3ca15247aadc1e22b6288 scott Chacon 1194549646 -0800 commit: again f2ff401fb3fc81f8abb3ca15247aadc1e22b6288 d6f31c35d7e010e50568c0d605227028aa7bac66 scott Chacon 1194549646 -0800 commit: again d6f31c35d7e010e50568c0d605227028aa7bac66 5873a650a91eb238005444d2c637b451f687951b scott Chacon 1194549647 -0800 commit: again 5873a650a91eb238005444d2c637b451f687951b 547a4bae347658f0d9eed0d35d31b4561aea7cf8 scott Chacon 1194549647 -0800 commit: again 547a4bae347658f0d9eed0d35d31b4561aea7cf8 15378a1f3eafe4c5ab4f890883356df917ee5539 scott Chacon 1194549648 -0800 commit: again 15378a1f3eafe4c5ab4f890883356df917ee5539 8dae07ab9d98b5fe04d4d7ed804cc36441b68dab scott Chacon 1194549648 -0800 commit: again 8dae07ab9d98b5fe04d4d7ed804cc36441b68dab e50fa6835cb99747346f19fea5f1ba939da4205f scott Chacon 1194549649 -0800 commit: again e50fa6835cb99747346f19fea5f1ba939da4205f 5b0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa scott Chacon 1194549649 -0800 commit: again 5b0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa 62bb94c53efae4d53fd0649d129baef4aca87af7 scott Chacon 1194549649 -0800 commit: again 62bb94c53efae4d53fd0649d129baef4aca87af7 beb14380ef26540efcad06bedcd0e302b6bce70e scott Chacon 1194549650 -0800 commit: again beb14380ef26540efcad06bedcd0e302b6bce70e f1410f8735f6f73d3599eb9b5cdd2fb70373335c scott Chacon 1194549650 -0800 commit: again f1410f8735f6f73d3599eb9b5cdd2fb70373335c b03003311ad3fa368b475df58390353868e13c91 scott Chacon 1194549651 -0800 commit: again b03003311ad3fa368b475df58390353868e13c91 9fa43bcd45af28e109e6f7b9a6ccd26e8e193a63 scott Chacon 1194549651 -0800 commit: again 9fa43bcd45af28e109e6f7b9a6ccd26e8e193a63 8ce3ee48a7e7ec697a99ee33700ec624548ad9e8 scott Chacon 1194549651 -0800 commit: again 8ce3ee48a7e7ec697a99ee33700ec624548ad9e8 a0b3f35b3c39cfb12c4cc819bffe1cf54efb3642 scott Chacon 1194549652 -0800 commit: again a0b3f35b3c39cfb12c4cc819bffe1cf54efb3642 2e939fd37bbd2da971faa27c3e3de7d5aad40507 scott Chacon 1194549652 -0800 commit: again 2e939fd37bbd2da971faa27c3e3de7d5aad40507 cf7135368cc3bf4920ceeaeebd083e098cfad355 scott Chacon 1194549653 -0800 commit: again cf7135368cc3bf4920ceeaeebd083e098cfad355 631446ec50808846e31fff786c065e69da2c673b scott Chacon 1194549653 -0800 commit: again 631446ec50808846e31fff786c065e69da2c673b 70714b02913c1a249a5ab05021742f0bc7065df7 scott Chacon 1194549654 -0800 commit: again 70714b02913c1a249a5ab05021742f0bc7065df7 82d331cf4d3d4ee537c4f866cab2633b46a8d090 scott Chacon 1194549654 -0800 commit: again 82d331cf4d3d4ee537c4f866cab2633b46a8d090 5c16fb8b958b51f6008f9722b279b1fde0defb76 scott Chacon 1194549654 -0800 commit: again 5c16fb8b958b51f6008f9722b279b1fde0defb76 8b00d915a0ee5aeb32e0b166e1054c2901338c9d scott Chacon 1194549655 -0800 commit: again 8b00d915a0ee5aeb32e0b166e1054c2901338c9d 478e5ee111572790b248eaa99140c5a8f728abc7 scott Chacon 1194549655 -0800 commit: again 478e5ee111572790b248eaa99140c5a8f728abc7 feb2ccf88397c2d93f381176067be2727eba330b scott Chacon 1194549656 -0800 commit: again feb2ccf88397c2d93f381176067be2727eba330b b98f4909807c8c84a1dc1b62b4a339ae1777f369 scott Chacon 1194549656 -0800 commit: again b98f4909807c8c84a1dc1b62b4a339ae1777f369 87c56502c73149f006631129f85dff697e000356 scott Chacon 1194549657 -0800 commit: again 87c56502c73149f006631129f85dff697e000356 291b6be488d6abc586d3ee03ca61238766625a75 scott Chacon 1194549657 -0800 commit: again 291b6be488d6abc586d3ee03ca61238766625a75 545c81a2e8d1112d5f7356f840a22e8f6abcef8f scott Chacon 1194549657 -0800 commit: again 545c81a2e8d1112d5f7356f840a22e8f6abcef8f 00ea60e1331b184386392037a7267dfb4a7c7d86 scott Chacon 1194549658 -0800 commit: again 00ea60e1331b184386392037a7267dfb4a7c7d86 4b7c90536eaa830d8c1f6ff49a7885b581d6acef scott Chacon 1194549658 -0800 commit: again 4b7c90536eaa830d8c1f6ff49a7885b581d6acef 4ce44a75510cbfe200b131fdbcc56a86f1b2dc08 scott Chacon 1194549659 -0800 commit: again 4ce44a75510cbfe200b131fdbcc56a86f1b2dc08 7f5625f6b3c7213287a12c89017361248ed88936 scott Chacon 1194549659 -0800 commit: again 7f5625f6b3c7213287a12c89017361248ed88936 5e392652a881999392c2757cf9b783c5d47b67f7 scott Chacon 1194549659 -0800 commit: again ruby-git-1.2.8/tests/files/working/dot_git/logs/refs/heads/test000066400000000000000000000010121236651770500245400ustar00rootroot000000000000000000000000000000000000000000000000000000 5e392652a881999392c2757cf9b783c5d47b67f7 scott Chacon 1194560919 -0800 branch: Created from master 5e392652a881999392c2757cf9b783c5d47b67f7 546bec6f8872efa41d5d97a369f669165ecda0de scott Chacon 1194560957 -0800 commit: test 546bec6f8872efa41d5d97a369f669165ecda0de 1cc8667014381e2788a94777532a788307f38d26 scott Chacon 1194561188 -0800 commit: test ruby-git-1.2.8/tests/files/working/dot_git/logs/refs/heads/test_branches000066400000000000000000000002661236651770500264170ustar00rootroot000000000000000000000000000000000000000000000000000000 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194627522 -0800 branch: Created from HEAD ruby-git-1.2.8/tests/files/working/dot_git/logs/refs/heads/test_object000066400000000000000000000005441236651770500260770ustar00rootroot000000000000000000000000000000000000000000000000000000 1cc8667014381e2788a94777532a788307f38d26 scott Chacon 1194563974 -0800 branch: Created from HEAD 1cc8667014381e2788a94777532a788307f38d26 3a9f195756f5bd26b67c5e1fffd92d68d61be14e scott Chacon 1194569841 -0800 commit: cool test ruby-git-1.2.8/tests/files/working/dot_git/logs/refs/remotes/000077500000000000000000000000001236651770500242365ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/logs/refs/remotes/working/000077500000000000000000000000001236651770500257165ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/logs/refs/remotes/working/master000066400000000000000000000002701236651770500271330ustar00rootroot000000000000000000000000000000000000000000000000000000 545ffc79786f268524c35e1e05b1770c7c74faf1 Scott Chacon 1194627183 -0800 fetch working: storing head ruby-git-1.2.8/tests/files/working/dot_git/objects/000077500000000000000000000000001236651770500223065ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/00/000077500000000000000000000000001236651770500225255ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/00/62cdf4c1e63069eececf54325535e91fd57c42000066400000000000000000000001301236651770500277440ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØ6/ëlûÓŸ‚>Ï"¸9ã>²Võ?Ý ûÊ"]ruby-git-1.2.8/tests/files/working/dot_git/objects/00/ea60e1331b184386392037a7267dfb4a7c7d86000066400000000000000000000002531236651770500274430ustar00rootroot00000000000000x­Ž]j1 „ûìSø þ“£…P=‰V–š}Øuð*ÐãÇô }›˜û¾oæS­6D|fͰ¶XXASk×UD±.Ø®!h¦Q€Ý“†æ¡c¤$ØbŒ©^3TÅ(ÍQ+­<ïêèe>üÉÝÌ?ˆûáo'ÿ…;ýPëãœLÛøu^¸çe±íw¶ýËǸ(KôŸCpsæ&ÿÉtSd;ÜÕY ruby-git-1.2.8/tests/files/working/dot_git/objects/01/000077500000000000000000000000001236651770500225265ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/01/0b7b79019cb510d8c5849704fd10541655916d000066400000000000000000000000241236651770500273010ustar00rootroot00000000000000xKÊÉOR°0a0ä¢>aD Úruby-git-1.2.8/tests/files/working/dot_git/objects/01/dd46ebe07fc30c10c85c2e926c70f2d7058a6b000066400000000000000000000001301236651770500300050ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a0î;ÍØ|•ݳëí¶ÌíÓ¶ü|ÑÁÏñÉ"ruby-git-1.2.8/tests/files/working/dot_git/objects/02/000077500000000000000000000000001236651770500225275ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/02/b2a02844d00574c234d17bec6294e832f3c4c1000066400000000000000000000001301236651770500274730ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(apc-eÛ§ðZ”qÉǨ g-Wv¾KÙ‡!=ruby-git-1.2.8/tests/files/working/dot_git/objects/06/000077500000000000000000000000001236651770500225335ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/06/f4e8a840d23fc0ab94895a5d16827a19f75fb7000066400000000000000000000000241236651770500277030ustar00rootroot00000000000000xKÊÉOR05`0ä" ,èruby-git-1.2.8/tests/files/working/dot_git/objects/0b/000077500000000000000000000000001236651770500226075ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/0b/2fe00801b62b7760c23d554796b05abc16af92000066400000000000000000000001301236651770500275570ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aÐ~–~ñF_éæ_ü³¶=ºñÿ²–(‚#Cruby-git-1.2.8/tests/files/working/dot_git/objects/0b/5262f6ee3552a99b7081a317e8289d6a4d8e72000066400000000000000000000000251236651770500275440ustar00rootroot00000000000000xKÊÉOR044c0ä¢?1¶ruby-git-1.2.8/tests/files/working/dot_git/objects/0b/c0d846cf80b079e763e35c3af273171bf01fca000066400000000000000000000001301236651770500300060ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(ax6÷ÑìM¯9{wk®+ºqèIOðD x#Éruby-git-1.2.8/tests/files/working/dot_git/objects/0d/000077500000000000000000000000001236651770500226115ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/0d/2c47f07277b3ea30b0884f8e3acd68440507c8000066400000000000000000000002531236651770500276070ustar00rootroot00000000000000x­ŽAn! E»æ\ ž1†HQ©'1Æ4³˜!b©Çêºûï/žžô}ßÌ/D6T=6 a))7%bMº†[”ȈTjÈÅ=yèaž–$5ÌÂJ­ ”„±VÒšÆj^኎_öèßÒÍü÷ƒ¥þvÊ߸ó×>Îé´M^çEúx^†²ØØ~'í_¦$â•VôŸ!‡àæ;ËMÿÓéfÈv¸7ç­Xruby-git-1.2.8/tests/files/working/dot_git/objects/0d/519ca9c2eddc44431efe135d0fc8df00e0b975000066400000000000000000000002521236651770500301570ustar00rootroot00000000000000x­Ž[jÃ0Eû­Uh1ifdC(¬d¬Gã[AC—Ñ5ôï>àpRÛ÷M­gþÒ^ŠÅè*Ë«äì©r^]ÅèIJˆqŒ¸bó–^µ3TB ½óÈ<^bâ"ÈAh]0 U#—¾Z·gjªöù’Ô{?Ó_xÈäÖÏÁÔ-]ç”ZO½HÒ¾ý޶[€ F¶77;gÆ:̵ü'Ó ‘í0§cV_ruby-git-1.2.8/tests/files/working/dot_git/objects/0f/000077500000000000000000000000001236651770500226135ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/0f/845a0a981bc2f61354fcdd2b6eafe2b2c55c2d000066400000000000000000000002501236651770500302270ustar00rootroot00000000000000x­ŽA E]s .`…ÂcâIÆaj»hi`šx|‰gp÷ß_¼<*Û¶ŠC¸HeÖ92xÏLnÌÑ£Ë.’'6¬ƒ0[ã¦Ô•wÑÐÒ Ç”‚ Ì4#²CB;ù“Ë OYJÕŠˆ~.He×·F¿ñÀ7æR[wÊJg¨Ôc¨Œ$uýtÚîÚÚä»+¸¤¯ŒQýíåÂÿtª²îê ¸X-ruby-git-1.2.8/tests/files/working/dot_git/objects/0f/f4a0357c3d7221a2ef1e4c6b7d5c46d97fe250000066400000000000000000000001301236651770500300150ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aðÒ~0ÅoRë‹Jb'7ìX~ùìeQõÈ"åruby-git-1.2.8/tests/files/working/dot_git/objects/12/000077500000000000000000000000001236651770500225305ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/12/eb889f49f1464b32a51424d7724fb16f6c3a31000066400000000000000000000001301236651770500275220ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a°Î{wóœó«N›/½j¶+M<Þ®›/ýU"Pruby-git-1.2.8/tests/files/working/dot_git/objects/15/000077500000000000000000000000001236651770500225335ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/15/34a65657edf4e5caaa5ce35652dca5e4c7d316000066400000000000000000000001301236651770500300770ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(axÉûB­¹øÉߨÆÛKbÝ߈5Úö¾!xruby-git-1.2.8/tests/files/working/dot_git/objects/15/378a1f3eafe4c5ab4f890883356df917ee5539000066400000000000000000000002511236651770500277170ustar00rootroot00000000000000x­ŽQ Â0DýÎ)r%i7éDO²Ùl´mJº‚Ç7xÿf†áñ¸®ë¢vˆñ¤MÄ&? L"D‘‹䑿&Ì ýU(!NÌNM6µ&‚D2—g‘ìòòè„èIh₆ÞúªÍ\UíãE\7{=øîô¤\ÛÑ™ºðû¸pmû¥ ±¶åÓÛz³ÞÏ`Ž€öìÐ9Ó×n®òO¦é"Ëf¾Ü{Yruby-git-1.2.8/tests/files/working/dot_git/objects/16/000077500000000000000000000000001236651770500225345ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/16/9e6db43d4c09cd610179a7b9826483b4d94123000066400000000000000000000001301236651770500274530ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a`ä®®dœ³UàÆÑ–é,BÄB'æÖú©ruby-git-1.2.8/tests/files/working/dot_git/objects/16/d1f96acfd92d09c4f1f56d3441ac55dd30500e000066400000000000000000000000241236651770500300140ustar00rootroot00000000000000xKÊÉOR0¶`0ä"µQŒruby-git-1.2.8/tests/files/working/dot_git/objects/16/ee5335538f11b4ffcc17b051f8d5db7570a055000066400000000000000000000000241236651770500276570ustar00rootroot00000000000000xKÊÉOR03a0ä¢ ˆÉ Šruby-git-1.2.8/tests/files/working/dot_git/objects/17/000077500000000000000000000000001236651770500225355ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/17/9ef0e0209e90af00f544ff414e0674dfb5f5c7000066400000000000000000000000241236651770500277500ustar00rootroot00000000000000xKÊÉOR01`0ä"Á°Àruby-git-1.2.8/tests/files/working/dot_git/objects/19/000077500000000000000000000000001236651770500225375ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/19/9d2f8e60fddd1bb2a1b0bddedde35e5aa8b03f000066400000000000000000000001301236651770500305230ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(açž¾2ÀýTœe¸ÈŒ¨_o7¶}9 ãc"ruby-git-1.2.8/tests/files/working/dot_git/objects/1c/000077500000000000000000000000001236651770500226115ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/1c/c8667014381e2788a94777532a788307f38d26000066400000000000000000000002521236651770500272030ustar00rootroot00000000000000x­ŽAŠÃ0 EgíSøìÔ–e(CaN¢HÊ$‹ÔÅVaŽßÐ3t÷ß[<>·ãØÍÏ¿¬«úšç‚%ëÌ$ .Œ’X¤†°ÆJTá’¸¸u½›Ï eXˬ+¥(Yj¡ Ô FÈÊBAÔÑÓ¶Öýàfæ7âv÷×Áïq£?’ÖÇÙ´ŸcâÖSWbëûÿIDZ¦ 1"úï€!¸ÓžÏM?Ùt¦ÃÜ e>X²ruby-git-1.2.8/tests/files/working/dot_git/objects/1c/fcfba04eb4e461e9f930d22f528023ab1ddefc000066400000000000000000000000251236651770500303050ustar00rootroot00000000000000xKÊÉOR044a0ä¢7Ëyruby-git-1.2.8/tests/files/working/dot_git/objects/1d/000077500000000000000000000000001236651770500226125ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/1d/7be4117ded4534789d85c42ab579644cd3fa12000066400000000000000000000001301236651770500276720ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¸|±PI®}1ëÜä~ÑøÎ©Sofå{ ¾ruby-git-1.2.8/tests/files/working/dot_git/objects/1d/9e4767a95047ca5e395714985afaedb186f4cd000066400000000000000000000000231236651770500277730ustar00rootroot00000000000000xKÊÉOR06`0ä‚ݘruby-git-1.2.8/tests/files/working/dot_git/objects/1f/000077500000000000000000000000001236651770500226145ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/1f/09f2edb9c0d9275d15960771b363ca6940fbe3000066400000000000000000000000461236651770500276760ustar00rootroot00000000000000xKÊÉOR02b(J-ÈILNU(Ï,ÉPÈK-W(I­(á›È 5ruby-git-1.2.8/tests/files/working/dot_git/objects/1f/691b879df15cf6742502ffc59833b4a40e7aef000066400000000000000000000001661236651770500277740ustar00rootroot00000000000000x+)JMU040a01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(açüôvç›ê±¢ÓØ 7'ŸÊtøýbNqr~I ƒž‚°^ÿžÍ/”<&ΘÀkø±1 é´-}ruby-git-1.2.8/tests/files/working/dot_git/objects/23/000077500000000000000000000000001236651770500225325ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/23/751ef6c1fed1304ae1d07020aa73da6f2b93b0000066400000000000000000000000231236651770500277630ustar00rootroot00000000000000xKÊÉOR0²`0ä xˆdruby-git-1.2.8/tests/files/working/dot_git/objects/24/000077500000000000000000000000001236651770500225335ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/24/5582a71306d7360e40c07cd7d849a1aa14a31e000066400000000000000000000001301236651770500274760ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aab°ˆ±æÖœSÕþæëœ•>F¿÷ÍÐ ­ruby-git-1.2.8/tests/files/working/dot_git/objects/26/000077500000000000000000000000001236651770500225355ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/26/3e3c527004e7b742ed1f747c1bfb7e11825d7a000066400000000000000000000001301236651770500276550ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a°IñWÚ¹ã톼:;S'žK $~î!¬ruby-git-1.2.8/tests/files/working/dot_git/objects/27/000077500000000000000000000000001236651770500225365ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/27/c0c003dda3e59ba236f53f6661faaf74432b5c000066400000000000000000000001301236651770500300030ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aˆÙËô\³~¶Éå"ç¥ w$—â* éruby-git-1.2.8/tests/files/working/dot_git/objects/29/000077500000000000000000000000001236651770500225405ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/29/1b6be488d6abc586d3ee03ca61238766625a75000066400000000000000000000002511236651770500276200ustar00rootroot00000000000000x­ŽA E]s .`3 1ÆÄ“Ðé ]´4tšx|‰gp÷ß_¼<ªëºˆ/Ò˜5“a;;ÇMœ§2åaò„D–1DV{n¼‰Žè+DÕß^.üO§ê!˦¾¯øW~ruby-git-1.2.8/tests/files/working/dot_git/objects/2a/000077500000000000000000000000001236651770500226105ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/2a/f6f7d51b7afdd404a871581ebb3b6ac07fb8cc000066400000000000000000000001301236651770500303130ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aðܤ9ÝôïâÅÆÇæ$‹wóØþâê žruby-git-1.2.8/tests/files/working/dot_git/objects/2c/000077500000000000000000000000001236651770500226125ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/2c/ef51480d44dcc262d16be2812c692d940d5f29000066400000000000000000000001301236651770500276610ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¸73wÁ{Ûsu½Ÿä¼ÊN5n‡êV A# ruby-git-1.2.8/tests/files/working/dot_git/objects/2e/000077500000000000000000000000001236651770500226145ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/2e/20132e8fd40cb3e82248919a10900d31f1816a000066400000000000000000000000651236651770500274240ustar00rootroot00000000000000x+)JMU06c040031Q(I­(Ñ+©(aXùèævéÄTÃ^©ë¢§k/½øéôdQ§9ruby-git-1.2.8/tests/files/working/dot_git/objects/2e/939fd37bbd2da971faa27c3e3de7d5aad40507000066400000000000000000000002531236651770500302450ustar00rootroot00000000000000x­ŽAnà E»æ\ 0€AŠªH9É0 6K=~PÏÐÝñô¨ïû&ÚÅø%ƒY¯ E,ÑÓêkp-¯Pm¢j3Ø„©fdÇêƒÑh 42µby¢dsi-µà¹ˆÞ)¼äÕ‡>©‹èç ©ú~ÒßxàÖ>Îé”®s¡>ÞË`$Ûï¤ý[[›}ð9§o&£æ;Ë…ÿÓ©fÈv¨°*X÷ruby-git-1.2.8/tests/files/working/dot_git/objects/2f/000077500000000000000000000000001236651770500226155ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/2f/53e667d1d88e75b3fa300f9ab6e2d8ffd32a15000066400000000000000000000000241236651770500301130ustar00rootroot00000000000000xKÊÉOR01c0ä"íöwruby-git-1.2.8/tests/files/working/dot_git/objects/32/000077500000000000000000000000001236651770500225325ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/32/4968b9dc40253f2c52a8e3856398c761dea856000066400000000000000000000002531236651770500274770ustar00rootroot00000000000000x­ŽKnÃ0 »Ö)t2õ5r’¢/l2 ôøz†îÞ›Å`¸íû¦RúÒ.b#B‘µÂÊkŒ”)¡ÌœÅJŧyP"óÆ.‡ÚP}$\2–X\†àª‡,žÅ;†BÞ{œÉ¼ôÕº=¹©Úç ¹ö~òßxàÖÖÏáÔ¯sâÖßSdíÛïxû·ç%ݤöæŠsfÐQ®òŸN3B¶Ã|‰OXƒruby-git-1.2.8/tests/files/working/dot_git/objects/33/000077500000000000000000000000001236651770500225335ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/33/8ecb0183d507498aedb669b796b4f9e8880f00000066400000000000000000000000241236651770500276350ustar00rootroot00000000000000xKÊÉOR01b0ä"Ïôýruby-git-1.2.8/tests/files/working/dot_git/objects/33/edabb4334cbe849a477a0d2893cdb768fa3091000066400000000000000000000001301236651770500300220ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aX(êhÊ8e¾?g£üÅUo>š:~Ú½!ruby-git-1.2.8/tests/files/working/dot_git/objects/34/000077500000000000000000000000001236651770500225345ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/34/a566d193dc4702f03149969a2aad1443231560000066400000000000000000000002701236651770500272710ustar00rootroot00000000000000x­ÎMn…0 à®9…/ЧüB¤ªªÔ“Ç., (1ê;þC=Cw3³ø4\÷}33¾Y¯SöËœrQ?²N Ãè‚*yŽqAB'‰D‡“šË’<ÆŒXXɹIE%é‚™ñf"/!S‘.[kƒÎÕ ¾WâzÀGç¿ðE?Tjë·i_ýÁµ&ÄÖ¶çÝöOð>ãCN#¼»Ù¹á^ïç&ÿi{-›nRÀ*Õ ¯õ®sxÒ_€ruby-git-1.2.8/tests/files/working/dot_git/objects/36/000077500000000000000000000000001236651770500225365ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/36/fe213c328fd280f33abe00069c4b92eb5a88d1000066400000000000000000000002521236651770500277350ustar00rootroot00000000000000x­Ž] à „ûì)¼@ƒZ×(¥Ð“¬«i|H f=~¥gèÛÌ0||ÔÖµ²4Î]¸—" 8PÉ&@k5èiNJg›C&JŒÑIìØËÆ2šÍ-+7c*äS0)ƒIÁ£7fS¼À“—ÖåAY¾¤¶ÉûA¿ðÄ7æÖÁäJç1QëûÔ ÷úm}H­£Uòª‚Rb¬ÃœË?™bˆÔM|O"Xcruby-git-1.2.8/tests/files/working/dot_git/objects/39/000077500000000000000000000000001236651770500225415ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/39/66e9fa0e0b9fe9d3ef2fdaa6933f3d0bb82bc3000066400000000000000000000000241236651770500303340ustar00rootroot00000000000000xKÊÉOR°4b0ä¢Ä+ Åruby-git-1.2.8/tests/files/working/dot_git/objects/3a/000077500000000000000000000000001236651770500226115ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/3a/9f195756f5bd26b67c5e1fffd92d68d61be14e000066400000000000000000000002531236651770500301400ustar00rootroot00000000000000x­ŽQ Â0Dýî)öʦI³ ˆžd»Iµ`MIVðøÏàß¼yŒ”m[Fƒ֜af±v’9&Á)°#Jè$eë)™…0¿Ìqع旂 ÞgƒÉ#…À±h²#w°H‹ iô¿õQ*4)ªp{°”œ›ü•ïœJmÝ©«¼ÛIJÝO5³h]?¶ ÝäcpއÞöçšÿéìÒòÍM‡/ÎhX·ruby-git-1.2.8/tests/files/working/dot_git/objects/3a/ac4b445017a8fc07502670ec2dbf744213dd48000066400000000000000000000000311236651770500276400ustar00rootroot00000000000000xKÊÉOR046`0äHhÄeIJQruby-git-1.2.8/tests/files/working/dot_git/objects/3b/000077500000000000000000000000001236651770500226125ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/3b/6eeed9ce43ea893cf48d263da93448edae9f1c000066400000000000000000000000251236651770500303530ustar00rootroot00000000000000xKÊÉOR040`0ä¢=@ ×ruby-git-1.2.8/tests/files/working/dot_git/objects/3c/000077500000000000000000000000001236651770500226135ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/3c/644f22b9b8edb06e7e298ecac8e71b133061f1000066400000000000000000000000241236651770500300230ustar00rootroot00000000000000xKÊÉOR05c0ä"?žŸruby-git-1.2.8/tests/files/working/dot_git/objects/3c/c71b13d906e445da52785ddeff40dad1163d49000066400000000000000000000001121236651770500300170ustar00rootroot00000000000000xMËA €@@ÑÖžÂg&,Ña4º~¶kù>ü®Þqß&U‡d ”€†§([~w"Ó¬àÔæÁèöW>æu۵ ‹Fruby-git-1.2.8/tests/files/working/dot_git/objects/3c/f35bd14cf5f2dd08bbeef8698d700f3a038e5c000066400000000000000000000001301236651770500302460ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a“Œûa7OáTéÝ{’ÙŒÿ4$¼ïÆ!âruby-git-1.2.8/tests/files/working/dot_git/objects/3d/000077500000000000000000000000001236651770500226145ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/3d/331db92a8ead0565679efb76f328ae69ed1b77000066400000000000000000000000251236651770500300500ustar00rootroot00000000000000xKÊÉOR042`0änÚ'ruby-git-1.2.8/tests/files/working/dot_git/objects/44/000077500000000000000000000000001236651770500225355ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/44/88516c3c936db58ea485ec2213dab9d13e6628000066400000000000000000000000241236651770500276170ustar00rootroot00000000000000xKÊÉOR°°`0ä¢ “b Truby-git-1.2.8/tests/files/working/dot_git/objects/44/987dd95c338fb573726541f270f1a7b55c9d51000066400000000000000000000000251236651770500274730ustar00rootroot00000000000000xKÊÉOR040b0ä¢\ýruby-git-1.2.8/tests/files/working/dot_git/objects/45/000077500000000000000000000000001236651770500225365ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/45/20c29b885e9db9b0df3c7bab7870157e1d00c3000066400000000000000000000001231236651770500277410ustar00rootroot00000000000000x+)JMU07d040031QÈK-OËÌIeˆuckb7c±Ÿ÷V+Ù,M6cÒ …¥P%%©%z%% 6Ç¥…o²=q½T{ï¿Ã­‹b¶žÔ<µruby-git-1.2.8/tests/files/working/dot_git/objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057000066400000000000000000000000221236651770500301740ustar00rootroot00000000000000xKÊÉOR0fÈÈä£Îruby-git-1.2.8/tests/files/working/dot_git/objects/46/000077500000000000000000000000001236651770500225375ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/46/00557506be20eb1501a4f15a52e684d4b9ee61000066400000000000000000000000241236651770500275040ustar00rootroot00000000000000xKÊÉOR0³`0䢱W ruby-git-1.2.8/tests/files/working/dot_git/objects/46/a60232117527e7b57ac0dd5ea4af2cd3fdb696000066400000000000000000000001271236651770500300170ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(að’³se˜¦cf¸¤²(ûÓ–ÌHŸ]ÌÓqruby-git-1.2.8/tests/files/working/dot_git/objects/47/000077500000000000000000000000001236651770500225405ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/47/0f6a87fa51dd25f6db0f4725ae37791d449356000066400000000000000000000001301236651770500276220ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aXÓï±{ûf™)ÑË–ü~6•—aVls1ü$".ruby-git-1.2.8/tests/files/working/dot_git/objects/47/2650d42fa9454e2e61e3da9f5c158b8af6d298000066400000000000000000000001661236651770500277140ustar00rootroot00000000000000x+)JMU040a01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(açüôvç›ê±¢ÓØ 7'ŸÊtøýbNqr~I ƒ«Â¡Ùqswn¸oS½º¢@´N–á0.ßruby-git-1.2.8/tests/files/working/dot_git/objects/47/8e5ee111572790b248eaa99140c5a8f728abc7000066400000000000000000000002531236651770500276220ustar00rootroot00000000000000x­ŽKnÃ0 »Ö)tÔ‡´E€ž„¢˜Æ [Ì=~„ž¡»7o1éû¾™D6T}&&ˆ)†°`\t©¸°@k¨œù¥¥{«TÈ=yèa~­­dPEÖš¢B D³Ä!¥UJsü²Gþ”næ¿,ýð×SþƸõqN§mò:/ÒÇó2”ÅÆö;iÿò!”Œ¹¢ÿ„ÀÍw–›þ§ÓÍípoßbWíruby-git-1.2.8/tests/files/working/dot_git/objects/48/000077500000000000000000000000001236651770500225415ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/48/bbf0db7e813affab7d8dd2842b8455ff9876be000066400000000000000000000001661236651770500303020ustar00rootroot00000000000000x+)JMU040a01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aè=>ëybÖ~9]ߨéWÓ>múvî3Äœâäü’W…C³;âæîÜpߦzuEh,Ãa;ò0)ruby-git-1.2.8/tests/files/working/dot_git/objects/49/000077500000000000000000000000001236651770500225425ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/49/b352299735fda3a333c69c6273178b0c3dfa08000066400000000000000000000000251236651770500275320ustar00rootroot00000000000000xKÊÉOR040a0ä¢zeQruby-git-1.2.8/tests/files/working/dot_git/objects/4a/000077500000000000000000000000001236651770500226125ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/4a/1e3e4500962c3631a479726bf2e40469594cba000066400000000000000000000000251236651770500274430ustar00rootroot00000000000000xKÊÉOR040c0䢘KŽruby-git-1.2.8/tests/files/working/dot_git/objects/4a/2bee50944e9285e8f82216c9b0b8a7d3cdd315000066400000000000000000000000241236651770500277520ustar00rootroot00000000000000xKÊÉOR°4c0ä¢-ú ?ruby-git-1.2.8/tests/files/working/dot_git/objects/4a/4e676afe275afecf23130390fe96d0e6d00057000066400000000000000000000000241236651770500277410ustar00rootroot00000000000000xKÊÉOR01a0ä"Þ¶:ruby-git-1.2.8/tests/files/working/dot_git/objects/4a/de99433ac3e4bcc874cd7de488de29399e9096000066400000000000000000000002541236651770500300760ustar00rootroot00000000000000x­ŽQjÄ0 DûíSø]ìIJ-X–BO")J7‰ƒ£…=~MÏP˜™axŒ´}ßÌO9XWõ –•‡hJ…€ŒE1Ìi’51f àNêz˜çȱ®À:æ9UŠª3ÕZ¦*TfaŽ^ölÝ_ÒÌü÷“¤þ~ÉŸù¢ZZ¿Ó6y]7iý¼u%±¾½GÚ>FL0Ïņ‚íxnúŸL7Žl‡û2äXIruby-git-1.2.8/tests/files/working/dot_git/objects/4b/000077500000000000000000000000001236651770500226135ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/4b/7c90536eaa830d8c1f6ff49a7885b581d6acef000066400000000000000000000002541236651770500301340ustar00rootroot00000000000000x­ŽAŠÃ0 E»ö)|)r,Ë6”a`N¢(J›Eââ¨0ÇÓ3t÷ß_<ž´}ßÌODëª>Ç9ä€ 2 2Æk]KAœ(–º* ,)¸'w=Ì(hˆ1Ì¡`,ë1sž(/댜%/…¿ìѺ?¥™ùßK;üí”÷øá;/­ŸÃi›¼Î«´þ¼ve±¾ý Ú¿}VJÅApã妟tº²î~*Vfruby-git-1.2.8/tests/files/working/dot_git/objects/4c/000077500000000000000000000000001236651770500226145ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/4c/411dc8e6ea6fcba0ed56e84aa7707f881d24c7000066400000000000000000000001301236651770500301670ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a»ø3ëüM]Î#¿æš8® ½kÀýŽ!áruby-git-1.2.8/tests/files/working/dot_git/objects/4c/ce9432b2f80461324a61611f6143f8544cd80f000066400000000000000000000000231236651770500274350ustar00rootroot00000000000000xKÊÉOR06a0ä"›ruby-git-1.2.8/tests/files/working/dot_git/objects/4c/e44a75510cbfe200b131fdbcc56a86f1b2dc08000066400000000000000000000002511236651770500301330ustar00rootroot00000000000000x­Ž[ à Eûí*Ü@ƒã+ ¥º’qÔ6‰ÁL Ë¯t ý»îáR[×…¥öþ½‰ÆëlTvµ€Ò@˜ÈRTUÍ&¡vÙ¡5bÇ^6–6Í£vÆÄ0v úZmÄ9—\€ì‘Jxò»uyPc–Ï7RÛäí Ÿxà sëÇ`òBç1QëûÔ ÷å3Üz—Ñ:½‹òª‚Rb¤ã9—2Å8²lâ Q*XŠruby-git-1.2.8/tests/files/working/dot_git/objects/4d/000077500000000000000000000000001236651770500226155ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/4d/35ba97a858072c240d327e3ce30c28b333a1b0000066400000000000000000000002511236651770500275570ustar00rootroot00000000000000x­ŽKÂ0 Yç¹UÜ:? !$Nâ:.tÑ¥FâøDœÝ›· ×m[ÕŽ!œ´‰Xd(œ$……grR|„D1º¸¤eDŽæEMvµ~¢8–Å{Ÿ¼ŒSžaaÌ©xÉó  ½õY›=¸ªÚû“¸îörðoÜèA¥¶£;uå÷1pm¯¡ ±¶õÓi»Z€Œs@°g—œ3ýíå*ÿtš²îæ ´GXÕruby-git-1.2.8/tests/files/working/dot_git/objects/4d/ff9ef38ef09cbf0e36031bbee22b7cf0c7a8fc000066400000000000000000000000231236651770500304660ustar00rootroot00000000000000xKÊÉOR02a0äÂcêruby-git-1.2.8/tests/files/working/dot_git/objects/4e/000077500000000000000000000000001236651770500226165ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/4e/aafb1d843aec4f8f1612d03de46a08c2143ea9000066400000000000000000000001301236651770500301420ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aàJúöÎ4håì‚ÆÅâ/4æfùöë¸!>ruby-git-1.2.8/tests/files/working/dot_git/objects/4e/ebc1b62c53241b7fbf7fb33b5230362595bfdd000066400000000000000000000001301236651770500300670ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¸À2ño]ô¶_GÅì6Ú±•-x®/úc!íruby-git-1.2.8/tests/files/working/dot_git/objects/4f/000077500000000000000000000000001236651770500226175ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/4f/4065121cb78fe6116ae7e3075f5c5a446bd08b000066400000000000000000000001301236651770500276560ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aÈ»Ôx<|eæÿGú¶ç—6ó«TWý‘!ßruby-git-1.2.8/tests/files/working/dot_git/objects/50/000077500000000000000000000000001236651770500225325ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/50/3d77289b054742f507d8a8ce7cc51d3841d5b9000066400000000000000000000001301236651770500275400ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØ®ònB®jâ!Ž]“¼îr®žzf3æ±!Fruby-git-1.2.8/tests/files/working/dot_git/objects/52/000077500000000000000000000000001236651770500225345ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/52/4038b20b297f40d78e7d83e04e38049457312b000066400000000000000000000001301236651770500273050ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aøÝWÑÂ[ɵ?àíë¯;¯m·{ðÛýÍ#µruby-git-1.2.8/tests/files/working/dot_git/objects/53/000077500000000000000000000000001236651770500225355ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/53/a72df554e585e239e41cb1fc498d5aee9bb164000066400000000000000000000002541236651770500300460ustar00rootroot00000000000000x­ŽKŠÃ0g­Sè1ú¶%C 'iµZ/l¹ süˆ9Ãì^½EQÔ÷}í¾d0ëµ%¨ظ„¶¦`s"À¹åÒV¬…WbõÆÁ‡hõä]jÕ%Ó¼ÇÂÆÈJv\"¦T­ÂK^}蓺ˆ~¾ú¡ï'ýþ`íãœNÙè:êã½ F’±ýNÚ¿µµ9Ä!X}3É5ßY.üŸN5C¶C}YÞX{ruby-git-1.2.8/tests/files/working/dot_git/objects/54/000077500000000000000000000000001236651770500225365ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/54/0200385c3b0b299c7a87ecf59ca94c32fbbe99000066400000000000000000000000241236651770500277540ustar00rootroot00000000000000xKÊÉOR07a0ä¢ï2 ²ruby-git-1.2.8/tests/files/working/dot_git/objects/54/5c81a2e8d1112d5f7356f840a22e8f6abcef8f000066400000000000000000000002511236651770500300330ustar00rootroot00000000000000x­Ž] à „ûì)¼@ƒ¿¥z’uÝ´>$5ÐãWz†¾Í |CeÛr—àÒ+³tŒ¸F‚³ÈäÖ°jÐ&)›Øª@F;˸ˆ+ï\t„È.„ÉH–YYÂÙ0€ñ8{g—*•ÞåóTvykô |a*µ gÏt¶‰J=¦ÊH½æÏhÛ]j½8ï𳼪 ”ëxÞùŸN1Žä]|EÞX;ruby-git-1.2.8/tests/files/working/dot_git/objects/54/5ffc79786f268524c35e1e05b1770c7c74faf1000066400000000000000000000002251236651770500276330ustar00rootroot00000000000000x­Q à Dûí)¼@Óh ”BO²Ù¬i VY äø•ž¡3ïcxC)ƽ꾟/U˜5,«& p3»É²Ébè5Î,L TxÔW](ÕªŸ/¤ôÑ·B¿ðÀ ×$%£ÔŽÒQ’Ü #UÙÏÖâ]3ƒ·0:} m&•ÿ¹©øÄ˜ß¬·öQ8'õÌÒN£ruby-git-1.2.8/tests/files/working/dot_git/objects/54/6bec6f8872efa41d5d97a369f669165ecda0de000066400000000000000000000002501236651770500301400ustar00rootroot00000000000000x­ŽQ Â0DýÎ)re›t›,ˆžd»Ýj?j$YÁã<ƒóæ1Rö}3&Í£FêãÀ9DÔABÂ$+Í)GÁeLó”ÖäømR}“bæo–òôç&¿på;/¥¶î´MÞí$¥¾NUY¬nŸNûÅ8aòGÈ®·ý¹é?δ™û…pVuruby-git-1.2.8/tests/files/working/dot_git/objects/54/7a4bae347658f0d9eed0d35d31b4561aea7cf8000066400000000000000000000002511236651770500301110ustar00rootroot00000000000000x­Ž] Â0„}Î)rK²ÙüˆàI6ÛTûÐFÒ<¾Á3ø63ðÍ ·m[EC'éµjÈ@BœñÎ6–Ê2Öä`qŒlÕ‹zÝEûo(ÛZÀ¥á`ƒ‹½]BŠÙÛ¢è-ÏÖõÁMDߟÄm×—ƒâFš[?F§¬ü>&ný5õJ,}ý ·]µµ=æ€QŸÍ˜Q#Ï¥þ³S#뮾~âVKruby-git-1.2.8/tests/files/working/dot_git/objects/56/000077500000000000000000000000001236651770500225405ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/56/195ef83e9e20ca75dddef0630633fc8060ed11000066400000000000000000000000251236651770500277470ustar00rootroot00000000000000xKÊÉOR04´`0äQÝóruby-git-1.2.8/tests/files/working/dot_git/objects/57/000077500000000000000000000000001236651770500225415ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/57/7ddd894033c46a5fcf2c6f3c4e71cc72f86909000066400000000000000000000000731236651770500300000ustar00rootroot00000000000000xKÊÉOR0±`ÈHÍÉÉç*ÉÈ,VÈ,æJTHËÌIrK@܂҅ŒÔ" @¾BqjbQr ”ruby-git-1.2.8/tests/files/working/dot_git/objects/58/000077500000000000000000000000001236651770500225425ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/58/501cbd0fc5ce832f6b34d37243a520dc19a6cc000066400000000000000000000000231236651770500300030ustar00rootroot00000000000000xKÊÉOR06b0äÂ޽Õruby-git-1.2.8/tests/files/working/dot_git/objects/58/73a650a91eb238005444d2c637b451f687951b000066400000000000000000000002511236651770500273110ustar00rootroot00000000000000x­Ž] Â0„}Î)rË6?›DO²Ùlµm$]Áã<ƒo3ÃðñqݶU­Cö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aŸ÷ἠ뾺üwôc+¹¿õëqöÈ"Ôruby-git-1.2.8/tests/files/working/dot_git/objects/5b/000077500000000000000000000000001236651770500226145ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/5b/0be7da7cc9ecdb6c2de5f818c30a42fbd2c9fa000066400000000000000000000002541236651770500305440ustar00rootroot00000000000000x­ŽKn! D³æ\ #æciEÊI m2½èfD{¤?(gÈ®ª¯^DZ«õ)½é±Ñ#„R=TO¹#l¹HÞJ@ 0æà|5Ožrª•S ±U¢Œ9`ꎺpì®2Ú=Änø¥1íÕ†ªýzp§½_í/|ò7oc^‹©{{]·6æó6…›ÎýgµãÃ:·®‘’}‡`ÖºÌUþ“i–È~š_û¾Wruby-git-1.2.8/tests/files/working/dot_git/objects/5c/000077500000000000000000000000001236651770500226155ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/5c/16fb8b958b51f6008f9722b279b1fde0defb76000066400000000000000000000002531236651770500300500ustar00rootroot00000000000000x­ŽAnÄ E»æ\ #ƒÒ¨ªÔ“ãt²HÔãõ ÝýÿOOúqìæÑ› UO” ” ¡†²VmU—ˆº­¹´ &LÙ=yèi>‡†¸È¶¨šp•¸e"á±FâÜ €ã—=úð—t3ÿõ`é§¿_ò7>ù›[×tÚ.¯ë&}¼>n·Í fü°C2¶¦ž[ ‰T©Fæˆ96ÌË¢Z±¬MÜ?²Ô´4âŽ% ó ×X‰4ø”ú{IêiYÝí:˜}˜Áï•úØágöW\èxóiÚÖïóû´]>ÏBÍ%ú’|yôÞõ×®ÉÛãML¦¹à°P°ruby-git-1.2.8/tests/files/working/dot_git/objects/62/000077500000000000000000000000001236651770500225355ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/62/70c7f48ca41e6fb41b745ddc1bffe521d83194000066400000000000000000000002531236651770500300310ustar00rootroot00000000000000x­ŽM à …»ö^ Á¿ÑJ)ô$:[‰A'ÐãWz†.¼÷Öm+,÷nDÒ%ÔÉkœN!§ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a(<¹È¢ò?׉#³']dÿücN®´î$("¶ruby-git-1.2.8/tests/files/working/dot_git/objects/63/000077500000000000000000000000001236651770500225365ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/63/1446ec50808846e31fff786c065e69da2c673b000066400000000000000000000002511236651770500275520ustar00rootroot00000000000000x­ŽM Â0F]ç¹€2ùo@Dð$ÓÉD»hSÒ<¾Á3¸ûÞ·xøƒÓg˜ÔxG¹ð?j„,›ú³‰X÷ruby-git-1.2.8/tests/files/working/dot_git/objects/64/000077500000000000000000000000001236651770500225375ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/64/d0c52ac4c061cf1705e3005dfd86fb70374a14000066400000000000000000000001301236651770500276350ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(ax!aÏúõvÆæÉ~“¿ìÏ~«½-åÁVúc#Iruby-git-1.2.8/tests/files/working/dot_git/objects/66/000077500000000000000000000000001236651770500225415ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/66/80a909b0e02b297bedbe143ef789d297235358000066400000000000000000000001301236651770500275420ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(ap™Q{3ƸkqQªã§‚Ë·ÆÌ ó…"Jruby-git-1.2.8/tests/files/working/dot_git/objects/6b/000077500000000000000000000000001236651770500226155ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/6b/790ddc5eab30f18cabdd0513e8f8dac0d2d3ed000066400000000000000000000000631236651770500304500ustar00rootroot00000000000000x+)JMU06a040031QH­Ð+©(ax6÷ÑìM¯9{wk®+ºqèIOðD@ºúruby-git-1.2.8/tests/files/working/dot_git/objects/6c/000077500000000000000000000000001236651770500226165ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/6c/2d312ebd67eed4c7e97e3923b3667764e7360e000066400000000000000000000002531236651770500277160ustar00rootroot00000000000000x­ŽKnÃ0 D»Ö)tõ±E€œ„¦èÆ [L=~„ž¡»y³x3Üö}S‹)}i±àj Iyeì€sd”‚‰gX±Î3¥Å¼©Ë¡Öc()/¥rŒ~EŽHY|ŽÉ—ÌsrUh€¡K_­Û“›ª}¾ˆÛaï'ÿ…ýPmýNÝø:'ný=u!Ö¾ýÚ¿­s%ıÐÞ ˜ÑŽç*ÿé4ãÈv˜šWruby-git-1.2.8/tests/files/working/dot_git/objects/6d/000077500000000000000000000000001236651770500226175ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/6d/e8fb35c2e4a69addd030f2dbb4f73fd4742b5b000066400000000000000000000000241236651770500303200ustar00rootroot00000000000000xKÊÉOR°´`0ä¢5Ö |ruby-git-1.2.8/tests/files/working/dot_git/objects/6e/000077500000000000000000000000001236651770500226205ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/6e/d281c757a969ffe22f3dcfa5830c532479c726000066400000000000000000000000231236651770500277120ustar00rootroot00000000000000xKÊÉOR0a0ä2äÖjruby-git-1.2.8/tests/files/working/dot_git/objects/70/000077500000000000000000000000001236651770500225345ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/70/714b02913c1a249a5ab05021742f0bc7065df7000066400000000000000000000002511236651770500274110ustar00rootroot00000000000000x­ŽKÂ0 DYç¹U¾®+!„ÄI7….ÚT‰+q|"ÎÀnfo—m[E;€‹Ôœ5á„ ’ Þ"ç|bË”LŠËm©ƒjÞEƒ·!@æhÐ öäí²,#ˆ¦™Ãè“¢SÞ¥êÆED?ßÄe×·Æ¿ð Í¥¶Î”•Ï6p©ÇP3±ÔõÓÛv×ÖN!† bÐ×þeT_»¹ä2UYwõ-ÎW%ruby-git-1.2.8/tests/files/working/dot_git/objects/71/000077500000000000000000000000001236651770500225355ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/71/894b736711ea0a5def4f536009364d07ee4db3000066400000000000000000000002501236651770500276070ustar00rootroot00000000000000x­ŽQ Â0DýÎ)r%i¶k"‚'Ùl¶Ú6’®àñ]<ƒ_3ó†á¶®‹úñ ]ÄsQdÆ™"ÕSLgÆ2Å:*æÐ½¨Ë¦Þ0ÔQrÁZà 5Ì¢dÊlå:A” ŽÞúlÝïÜTýýIÜ6Ùùgnô Úún›ºð{?që¯SbíËÇÒzõ1f!cB SΨ=Wù禳#Ëæ¾9ÇX=ruby-git-1.2.8/tests/files/working/dot_git/objects/71/c9a23879ff0ac8c49b92d107f3f89c6d1b2d92000066400000000000000000000000231236651770500277660ustar00rootroot00000000000000xKÊÉOR02c0äÂm’'ruby-git-1.2.8/tests/files/working/dot_git/objects/73/000077500000000000000000000000001236651770500225375ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/73/b171450704ea4350f9f884426389fe04c6cd51000066400000000000000000000001301236651770500273720ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a°5–ݩշ–55}Þï²Ïë2ßJ—ßí ýruby-git-1.2.8/tests/files/working/dot_git/objects/74/000077500000000000000000000000001236651770500225405ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/74/32b657191a10587335e74ae6f0966a7eed2976000066400000000000000000000000251236651770500274110ustar00rootroot00000000000000xKÊÉOR04°`0䢶¯Ëruby-git-1.2.8/tests/files/working/dot_git/objects/79/000077500000000000000000000000001236651770500225455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/79/e5b9e6ee5a1e6c52676a6332fe9163adaa92cb000066400000000000000000000000241236651770500301200ustar00rootroot00000000000000xKÊÉOR07`0ä¢ÃÔ 8ruby-git-1.2.8/tests/files/working/dot_git/objects/7c/000077500000000000000000000000001236651770500226175ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/7c/076f209839d7f910e8c84e41cc94898287ef45000066400000000000000000000001301236651770500275170ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¨ßÿn~GÓÚ…o\LŠ^æy3ÇK â"¹ruby-git-1.2.8/tests/files/working/dot_git/objects/7c/60c6ab64c74d52f973d18cd1933318a8d9ae2e000066400000000000000000000001301236651770500277540ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a°L{ù‹{þËËïõo-›lo˽Cû0ø}"ruby-git-1.2.8/tests/files/working/dot_git/objects/7c/ac4f8d519d524ed025732ee220f6451665a770000066400000000000000000000001301236651770500275230ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¸~c¹Tá<-Ÿ¥Œ3¥Ònm©ýÁòm-ò>"ruby-git-1.2.8/tests/files/working/dot_git/objects/7f/000077500000000000000000000000001236651770500226225ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/7f/5625f6b3c7213287a12c89017361248ed88936000066400000000000000000000002541236651770500272540ustar00rootroot00000000000000x­ŽAnà E»æ\ Ö` RTEÊI†aÜxaá±Ôãõ Ýý÷OÛ¾ojç¿´‹Xï¥R)è=r‘„™pYꜲçZ–˜VòyS—C-² Ò‚.«ÌÅy·ÖÂ"¥¸º2W†dèÒWëöä¦jŸ/âvØûÉãA?T[?‡S7¾Î‰[O]ˆµo¿ƒöoë\Æ€9†loÌxG¹Ê:ÍÙó†°Xºruby-git-1.2.8/tests/files/working/dot_git/objects/7f/86d16e0254f64f784198c6a55ef9bf7adbe7ce000066400000000000000000000001271236651770500301520ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¸U]Ñ-Z:9˹‘•M`q¹ùqîÐàT—ruby-git-1.2.8/tests/files/working/dot_git/objects/7f/bfee9f8882ada1ec45c4925baf5649d96c4a16000066400000000000000000000000251236651770500302160ustar00rootroot00000000000000xKÊÉOR044b0ä¢/ðð<ruby-git-1.2.8/tests/files/working/dot_git/objects/81/000077500000000000000000000000001236651770500225365ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/81/25fbe8605d2884e732a185c9a24abcc0d12a1f000066400000000000000000000002511236651770500277320ustar00rootroot00000000000000x­ŽA Â0E]ç¹€’´3“DO’N¦ÚE›’Žàñ žÁÝñx\×uQ;´‰Ø"a(¢§™ H:㔇iÑÌž›ljgD狤8„Ä3zçcŒa„@ó(¹8!“ßúªÍ\Uí㕹nözðoÜó3—ÚŽîÔ…ßÇ…kÛ/M2k[>Ö›õ>u{"{vÑ9Óß^®òO§é!Ëf¾y¥Wiruby-git-1.2.8/tests/files/working/dot_git/objects/81/d4d5e9b6db474d0f432aa31d44bf690d841e94000066400000000000000000000002511236651770500277510ustar00rootroot00000000000000x­ŽKÂ0 DYç¹UÒü\ !$Nâ:tѦJ]‰ãqvófñf¨®ë"zŒñ"Yç)$d,9;ÛÁ1ì\KG˜'ËjÇÆ›hôO>ØKqvfp¥:NaŽècPxÊ»6}PÑÏ7RÝôí _xà smGwÊBç1PmûÐIÚòé´Þµµ}ÄOÑE}5`Œêm.üO§êG–M}€ñX½ruby-git-1.2.8/tests/files/working/dot_git/objects/81/f545324202466d44115656ea463a5bb114345f000066400000000000000000000002521236651770500272110ustar00rootroot00000000000000x­Ž] Â0„}Î)rKó×& "x’ínVûЦ$[ðøÏ ÌÃÌ0 –m[EÛiºHÍYÇÙOD³OÏ]ÖŒÁDdŽÎ.Áͳ: æ]4|_.#Qæ‰)™Å¥˜ˆ""d›‰‚SÞ¥ê†ED?߀e×·†?ó€P©­ÊŠg°Ôc¨Pêúéi»kc’Ê}ã8ªÞvrÉÿüTdÝÕCGYµruby-git-1.2.8/tests/files/working/dot_git/objects/82/000077500000000000000000000000001236651770500225375ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/82/d331cf4d3d4ee537c4f866cab2633b46a8d090000066400000000000000000000002531236651770500277500ustar00rootroot00000000000000x­ŽAnÄ E»æ\ #Û1¤QU©'1t²HÔãõ Ýý÷OOûqìæ)Æ7µz¤ZÖ57Î 9rYH2ñ–q+[ÔEtOõ4Ÿ ! Œ‹¢g R abjP4A [KN^öèÃ_ÚÍü×C´Ÿþ~éßø”oÙú¸¦Óv}]7íãyUÔÆþ3éøðˆ™çؿà àæ;Ë­þ§ÓÍýt¿Ã4Vžruby-git-1.2.8/tests/files/working/dot_git/objects/83/000077500000000000000000000000001236651770500225405ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/83/c6a1f0d7d8df18a9d9bfe917707aec37868418000066400000000000000000000001271236651770500300060ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a˜ñ;+#5yšu]¨nIaÄÚ=2Ú×îC!ruby-git-1.2.8/tests/files/working/dot_git/objects/85/000077500000000000000000000000001236651770500225425ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/85/8f46dd7496faf7af72102ca15cccff832b5377000066400000000000000000000001301236651770500300430ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØl¦3ÁáËQµ„ÍŸç=Ð9w. ïh"oruby-git-1.2.8/tests/files/working/dot_git/objects/87/000077500000000000000000000000001236651770500225445ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/87/c56502c73149f006631129f85dff697e000356000066400000000000000000000002521236651770500272430ustar00rootroot00000000000000x­ŽQ Â0DýÎ)rKÒ¦Ù,ˆžd»ÝØ~´‘toô þÍ ÇpÙ¶UmãI«ˆvsï0 8CFï$q <3†„©O 9ŒæIUvµ¦°áø ’ŸÙO±Ÿ ’xÈCDC/]JµU{_ˆËn/ÿÂ4—z4§®ü::.õÙU!Öº¾[Û®Ö{ cÀ8‚=»äœik{®òO§iGÖÝ|8|W3ruby-git-1.2.8/tests/files/working/dot_git/objects/88/000077500000000000000000000000001236651770500225455ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/88/cf23d06f519bec7b824acd52b87a729555f2e7000066400000000000000000000002511236651770500277710ustar00rootroot00000000000000x­ŽM F]s .`Ãï ‰1&ždÀvÑÒÐiâñ%žÁÝ÷¾ÅË£¶® Kpá^Š4)esF[|Lh,To+èŠXƒsÖ$ObÇ^6–‹®)°@1fëjÎ6zª1%£1{ít ž<·.jÌò5#µMÞú'¾1·~ '/tµ¾O½ q_>ƒÖ‡Ô::ï"8%¯ê¦”ï(çòO§!Ë&¾’îXÁruby-git-1.2.8/tests/files/working/dot_git/objects/8a/000077500000000000000000000000001236651770500226165ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/8a/3fb747983bf2a7f4ef136af4bfcf7993a19307000066400000000000000000000000251236651770500300540ustar00rootroot00000000000000xKÊÉOR042c0äHÕjÞruby-git-1.2.8/tests/files/working/dot_git/objects/8b/000077500000000000000000000000001236651770500226175ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/8b/00d915a0ee5aeb32e0b166e1054c2901338c9d000066400000000000000000000002511236651770500276370ustar00rootroot00000000000000x­ŽM F]s .`XþcL<É̶‹–¦‰Ç—xwß÷/ê¶­,sn9KÅŸ¬F%¥Yͼ¶AgÄ: å "q@Ë;KKÚ €Ñ´º8¥B‰Þ4>¢.)«” z'àä¥6Ù©2Ë×TwyïôOxCª­'¯tö‰j;¦–¸­Ÿñ¶‡Ô:ÎvŽÎZyUA)1è(çüO§!ë.¾ý‚Y6ruby-git-1.2.8/tests/files/working/dot_git/objects/8c/000077500000000000000000000000001236651770500226205ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/8c/e3ee48a7e7ec697a99ee33700ec624548ad9e8000066400000000000000000000002501236651770500300710ustar00rootroot00000000000000x­ŽM Â0F]ç¹€%& "x’Étª]´)É<¾Á3¸û¾·x<*Û¶Šv©ÌzôˆÙ³™,@Œ90xÀd9€ >8kâÕ•wÑiÁà3ÍaÄÅE¶&1,SND³î(y¯ð”w©ºQÑÏ7RÙõ­Ño<ð…s©­;e¥³ Tê1TF’º~úÛîÚÚÆ`´új¢1ªÓ^.üO§ê!뮾ÿØXruby-git-1.2.8/tests/files/working/dot_git/objects/8d/000077500000000000000000000000001236651770500226215ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/8d/ae07ab9d98b5fe04d4d7ed804cc36441b68dab000066400000000000000000000002511236651770500302540ustar00rootroot00000000000000x­Ž] Â0„}Î)rKþ6M@Dð$ëvcûЦ¤[ðøÏàÛÌÀ||T×uíb¼HcÖÆDGS d9z331ÞxàlË#§vl¼‰¶àÇ„¶xÆÂ_¡¤lRòâT²™û3+4F’¶|z[ïÚÚ ä’¾šdŒêk7þ'Su‘eS_ñÜWüruby-git-1.2.8/tests/files/working/dot_git/objects/8d/c79ae7616abf1e2d4d5d97d566f2b2f6cee043000066400000000000000000000000601236651770500302030ustar00rootroot00000000000000xKÊÉOR06a(J-ÈILNU(Ï,ÉPÈK-W(I­(QÐUHÉLK²‹K¸/Ðruby-git-1.2.8/tests/files/working/dot_git/objects/92/000077500000000000000000000000001236651770500225405ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/92/4dec9203af851c3b3e564697ab3004b35b3c2f000066400000000000000000000000251236651770500276530ustar00rootroot00000000000000xKÊÉOR042b0ä(Œdruby-git-1.2.8/tests/files/working/dot_git/objects/93/000077500000000000000000000000001236651770500225415ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/93/06c056ba3ef9dca6f6365af38148c71196533a000066400000000000000000000001301236651770500276110ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a˜i{sãÙW[í "ÚNÊîÙÓ©ùþ“‘"øruby-git-1.2.8/tests/files/working/dot_git/objects/93/5badc874edd62a8629aaf103418092c73f0a56000066400000000000000000000002631236651770500276700ustar00rootroot00000000000000x­ŽAjÄ0 E»ö)t¶$;6 ¥Ð“¨²Òšq°=Ðã7ô Ýý÷¯í8ö ¸,/³›/˜¢¯Œ«Žlh)U)kÔóg–5U,ÙÒí1XbJ5ªÊ‹ÇÕSàRR©™BLÞÉsn­ÃÐ6'|l¢í÷¡ã]¾¤¶>®æÜõ9nÚúyë&:ûþsÑñ!ND”^}öÞ]öz>í?›îhÝ`˜tÝ`³ïÓýÊGZÂruby-git-1.2.8/tests/files/working/dot_git/objects/94/000077500000000000000000000000001236651770500225425ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/94/c827875e2cadb8bc8d4cdd900f19aa9e8634c7000066400000000000000000000001271236651770500301350ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a°Zãí ¾â{€ZÁÝý%NÂw=Û°ôruby-git-1.2.8/tests/files/working/dot_git/objects/95/000077500000000000000000000000001236651770500225435ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/95/ef665df6ebd69842c5e74a24cb8a12225dee3e000066400000000000000000000001301236651770500301220ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aø¹çÅÌ@Îó«ÝcY¬joŠæÆ…û]÷Ù![ruby-git-1.2.8/tests/files/working/dot_git/objects/98/000077500000000000000000000000001236651770500225465ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/98/fb6a686563963b8f7e552d747158adbc1c2bd6000066400000000000000000000000221236651770500277150ustar00rootroot00000000000000xKÊÉOR°`0ä‚@ôäruby-git-1.2.8/tests/files/working/dot_git/objects/99/000077500000000000000000000000001236651770500225475ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/99/3dd9b1cdeab53e305886c91dbcbc8929eff22e000066400000000000000000000000231236651770500302660ustar00rootroot00000000000000xKÊÉOR02b0äÂY ­ruby-git-1.2.8/tests/files/working/dot_git/objects/9a/000077500000000000000000000000001236651770500226175ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/9a/e1fbd7636c99d34fdd395cf9bb21ad51417ce7000066400000000000000000000002511236651770500302050ustar00rootroot00000000000000x­ŽË Ã0DsVj FÿXB •¬V«Ø[FZCÊH 9ÌÌáñ°nÛÊÒ„páF$uŒÙ”™‚*9g’TÊ™F¬'0'e‹8 ÑÎB2]27¢K´%­µwF(¾D²8$àä¥6Ù±2Ë×Xwyïø+OxC®­&¯xö k;¦F€ÜÖÏXÛCjw18%¯jVJŒw˜3ý“)†Èº‹/~¬Y²ruby-git-1.2.8/tests/files/working/dot_git/objects/9b/000077500000000000000000000000001236651770500226205ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/9b/5149aa4ace4ef69461803b0ccbb21139e12626000066400000000000000000000001301236651770500276440ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aðòKÏú§õï¼²0ó„Ó.<»ÀëÁ!°ruby-git-1.2.8/tests/files/working/dot_git/objects/9d/000077500000000000000000000000001236651770500226225ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/9d/3ad2f09cb7a1d4f4c91182c96f2be537fbc4ff000066400000000000000000000000641236651770500302600ustar00rootroot00000000000000x+)JMU06c040031Q(I­(Ñ+©(a¯½Ûé`|$+þ¼N¾_ᙢ™œ?á#ruby-git-1.2.8/tests/files/working/dot_git/objects/9d/6f937544dc3b936d6ee1466d6e216ba18d5686000066400000000000000000000001271236651770500276440ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a(1Ú.)%QlúÜëÙ‡iYuo5ËÜh Èruby-git-1.2.8/tests/files/working/dot_git/objects/9f/000077500000000000000000000000001236651770500226245ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/9f/a43bcd45af28e109e6f7b9a6ccd26e8e193a63000066400000000000000000000002521236651770500302040ustar00rootroot00000000000000x­ŽA E]s .`3ÃBbŒ‰'¡µ]´4tšx|‰gp÷ß_¼<®ëºˆ6Þ_¤•¢ —É¡ ­ÍÌÆ›Œ~,& aM޲›LT{je=!¦LS"F{syr"£àCAâˆ*2צ®"ú5'®›¾üÏôN¹¶£;eáó¸¶}h%±´åÓi}hÄhÞ¡¾BPýíåRþéT=dÙÔôVÜruby-git-1.2.8/tests/files/working/dot_git/objects/a0/000077500000000000000000000000001236651770500226065ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/a0/b3f35b3c39cfb12c4cc819bffe1cf54efb3642000066400000000000000000000002471236651770500303210ustar00rootroot00000000000000x­ŽQ Â0DýÎ)r˶i’ ˆždÙnl?ÚH²oð þÍ›ÇpÙ÷MíÂE«ˆ•Åû‘(ÎÀ!ÑMSÊ”3 .lÞTåP‹,NdFŠ…CŠ”’ˆs ã4û>-IÐЩk©¶qQµÏ•¸öÖøô¢¥ÔÖºñÙ.õ=T!Öº}:íw;Ž©ËR𓽘Þöç*ÿtš~d;ÌÒ¯Xúruby-git-1.2.8/tests/files/working/dot_git/objects/a1/000077500000000000000000000000001236651770500226075ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/a1/15413501949f4f09811fd1aaecf136c012c7d7000066400000000000000000000000251236651770500275630ustar00rootroot00000000000000xKÊÉOR042a0ä8²¼¡ruby-git-1.2.8/tests/files/working/dot_git/objects/a1/a3069efcc64330fb6c66004e69b870da3d6186000066400000000000000000000000241236651770500276600ustar00rootroot00000000000000xKÊÉOR03b0ä¢u? Mruby-git-1.2.8/tests/files/working/dot_git/objects/a3/000077500000000000000000000000001236651770500226115ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/a3/62d30d5fe1021cabc4c90f073ba2511d5a43a1000066400000000000000000000001301236651770500277440ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a˜äûfóúVk»0·é« X6GÛèáburuby-git-1.2.8/tests/files/working/dot_git/objects/a3/c1f067074cdc9aa998cb5f3cad46a6f17aab2d000066400000000000000000000002521236651770500303170ustar00rootroot00000000000000x­ÎÁ à …áž™‚HªªR'ÁirHˆÀ‘:~igèÍχO?çm[E£÷))i œÀ†<Ò0x`ì'çì<‹ÄÆÇ9 :bI»èÉX&†ÀÜÛ™¼u HÁÛ %gxÄ€4ªxÊ’‹®œEôs‰œw}«ü;ñ§\j3eå³vœËÑ•YÊúnk»kc‚uö+ëkËÕ¾­\Ò?MÕBÖ]}b~WTruby-git-1.2.8/tests/files/working/dot_git/objects/a3/db7143944dcfa006fefe7fb49c48793cb29ade000066400000000000000000000002621236651770500302630ustar00rootroot00000000000000x­ŽKjÄ0³Ö)úÔÖÇ„ÈIÚý‰ ñh4ãÇä Ù½ªEñ¸ç1aYËËìª`E+ç5–0"²—­úM¢zB žØÌ»u½OT kZS¶´É’·¼rR43©‹ä"7Å¨Žžso·9ás'nwxü7>苤õq5çÁÏqãÖ·®Ä³?ï€XcKM^}ñÞ]öz>õ?›ŽDT`(uÞÁŽou¿vd\¯ruby-git-1.2.8/tests/files/working/dot_git/objects/a4/000077500000000000000000000000001236651770500226125ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/a4/4a5e945176ff31be83ffca3e7c68a8b6a45ea5000066400000000000000000000002541236651770500302040ustar00rootroot00000000000000x­ŽAnÄ E»æ\ #iTUêIÛt²HÔãõ Ýý÷Oûqìæ—œßl¨ú9´ (EªR·¦’rÄ’K‚âž4ô4¯17\b© HFFY`×)Ù@kH ›£—=úðw3ÿõ î§¿_ü7>雤k:mç×uã>ž·¡Ä6öŸILJ¨iM5ÇÕ¿‡‚›ï,7ýO§›!ûé~´;W˜ruby-git-1.2.8/tests/files/working/dot_git/objects/a5/000077500000000000000000000000001236651770500226135ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/a5/1546fabf88ddef5a9fd91b3989dd8ccae2edf3000066400000000000000000000002511236651770500305170ustar00rootroot00000000000000x­ŽM Â0F]ç¹€%“ÿ‚ˆàI&Ó©vѦ¤SðøÏàî}ßâñ¨®ë"ÚÆx‘ÆÜÁ±£`“1žSIÞòsò‰ Ì%1@¶aJ¨vl¼‰.‚+yæàÍyбŒÉ#›àœËX#ÌFá)ïÚôAUD?ßHuÓ·ƒ~ðÀNµÝ) Ç@µíCc$i˧¯õ®Fü}ÐW“QýíåÂÿtª²lê N3W<ruby-git-1.2.8/tests/files/working/dot_git/objects/a6/000077500000000000000000000000001236651770500226145ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/a6/b25c4b27ee99f93fd611154202af5f9e3c99de000066400000000000000000000002521236651770500300470ustar00rootroot00000000000000x­ŽA E]s .`Ì@!1ÆÄ“LÐ.Z /ñ îþû‹—ÇmÛVÑ.„“ôR4{‚š€j¼[bµs&ŽÀ` Î!:*.¤^ÔË.ºZç1šR¬ )¦Â˜cðÙdOãL)z˳u}pÑ÷'qÛõåà߸уrëÇpÊÊïcâÖ_S/ÄÒ×Ï íª­Mè1Húl¢1j¼£\Ê?j„¬»úµÈW¦ruby-git-1.2.8/tests/files/working/dot_git/objects/a7/000077500000000000000000000000001236651770500226155ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/a7/88a1cba299638a2c898fcfaae1f69a1549853d000066400000000000000000000002521236651770500300560ustar00rootroot00000000000000x­ŽAÂ0 9çù(‰k'‘Bâ%®›BmªÔH<Ÿˆ7pÛÝÃìH]×Em :i+Åfp$id(sž„i& ä’’Dï3!›[ÙÔN8fLq$ŒàKÀà)0:aázŽä‚÷†ßúªÍRUíãÅR7{=äîüä©¶£3u‘÷q‘ÚöK+,Ú–OoëÍöã‡LìÙ%çL_»¹–2MY6óîHV³ruby-git-1.2.8/tests/files/working/dot_git/objects/a8/000077500000000000000000000000001236651770500226165ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/a8/98e8a6b143188022863bc1cab0b5f7514624ba000066400000000000000000000001301236651770500275700ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aÈ}ñÛôГe³î^0øt{Ëwû+%ÚÑ¥$Žruby-git-1.2.8/tests/files/working/dot_git/objects/a8/b607b221454c4cd7bc7831b2d19712bb4ff888000066400000000000000000000000251236651770500276650ustar00rootroot00000000000000xKÊÉOR044`0ä¢'Ñ¢ÿruby-git-1.2.8/tests/files/working/dot_git/objects/a9/000077500000000000000000000000001236651770500226175ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/a9/e2d9b71b616531f04a65ae5b972ba5d1f2cb93000066400000000000000000000000721236651770500300210ustar00rootroot00000000000000xKÊÉOR01gÈHÍÉÉç*ÉÈ,VÈ,æJTHËÌIrK@܂҅ŒÔ" @¾BqjbQ2÷ë+ruby-git-1.2.8/tests/files/working/dot_git/objects/a9/e2f17562ae78a75dc855bb3dc9e87364195dcf000066400000000000000000000000231236651770500300550ustar00rootroot00000000000000xKÊÉOR04b0äB@/…ruby-git-1.2.8/tests/files/working/dot_git/objects/ab/000077500000000000000000000000001236651770500226705ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/ab/16bc1812fd6226780a841300a2432dfd0c6719000066400000000000000000000001301236651770500274720ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aø³eþÊ)!?X*g qMz»gI{åjþµ"§ruby-git-1.2.8/tests/files/working/dot_git/objects/ac/000077500000000000000000000000001236651770500226715ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/ac/8f48bbb7b31c945ba6a4fbe6950d009a5d8373000066400000000000000000000000241236651770500301040ustar00rootroot00000000000000xKÊÉOR03`0ä"b3 ruby-git-1.2.8/tests/files/working/dot_git/objects/ae/000077500000000000000000000000001236651770500226735ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/ae/21cabd23aee99a719fc828977c0df9e8b19363000066400000000000000000000002471236651770500301360ustar00rootroot00000000000000x­ŽM Â0F]ç¹€%íÄ$"‚'™NFí¢MI¦àñ žÁÝ÷Çe]µS'­"Vx S¤@˜ ÄìÎ^ÓLOÈ3D„ÌNU6µžr¿<1ˆŸ™SôœcŸR– QÐa0tè»TÛ¸¨ÚÇ›¸löÚøîô¢\jëL]øh—ºUˆµ.ŸÞÖ›Gô¢=»äœék7Wù'Ót‘e3_ø«Xruby-git-1.2.8/tests/files/working/dot_git/objects/b0/000077500000000000000000000000001236651770500226075ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/b0/3003311ad3fa368b475df58390353868e13c91000066400000000000000000000002531236651770500273600ustar00rootroot00000000000000x­ŽM Â0F]ç¹€’éä§"‚'I&‰vѦ¤#x|ƒgp÷½oñxÜÖu=y’^ŠOÅçd1[6ÄÙƒ@1$š'ogL6“… Õ{ÙDW°`êÐU_ftD%QrœóTS0ѱŠoyµ®n"úñŠÜ6}=ø7îñsëÇpÊÂïã­ï—^"K_>ƒÖ› ë,yúlfcÔxG¹”:ÕY6õ:¿W.ruby-git-1.2.8/tests/files/working/dot_git/objects/b0/ee249c5e5cc9464f3bc0034ab05632dcb87a23000066400000000000000000000001301236651770500300010ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØ6£ú ‚ÔÅé%GløV°÷ç^Ï> ï!!zruby-git-1.2.8/tests/files/working/dot_git/objects/b1/000077500000000000000000000000001236651770500226105ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/b1/288f8beeaa6cf048c3a9f578d4e266fab8820e000066400000000000000000000001301236651770500302020ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a¨|ºóÙ»(¹œ ô¬d£“×®štþÖ"îruby-git-1.2.8/tests/files/working/dot_git/objects/b1/5336206c9040f4c52660b3f3c76ee02ccece56000066400000000000000000000000241236651770500276470ustar00rootroot00000000000000xKÊÉOR0µ`0ä"QÀÜruby-git-1.2.8/tests/files/working/dot_git/objects/b1/b18f5bea24648a1b08e5bba88728c15ec3cb50000066400000000000000000000002531236651770500300720ustar00rootroot00000000000000x­ŽAnÄ E»æ\ #ˆiTUêIãt²HÔãõ ÝýÿOOúqìæÑ› UÏ+Ò*X0lB \€KÂÀ!ÅжB«{òÐÓ|ÆRÓšãd¨ ¼4ÝÒ¶D¨‘Rƒ¬šÚ¿ìч¿¤›ù¯K?ýý’¿ñÉßÜú¸¦Óvy]7éãyÊbcÿ™ïøðˆ5-©RÌþ €›t–›þ§ÓÍýt¿ÎWruby-git-1.2.8/tests/files/working/dot_git/objects/b4/000077500000000000000000000000001236651770500226135ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/b4/5724ee906d2561901208ba924add09ab95ccb3000066400000000000000000000000241236651770500276520ustar00rootroot00000000000000xKÊÉOR°0b0ä¢6Hò ruby-git-1.2.8/tests/files/working/dot_git/objects/b5/000077500000000000000000000000001236651770500226145ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/b5/d8fc3cb740eb643c66eb5f4a97345fdb806259000066400000000000000000000001271236651770500300460ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aøÄtº4ÐôŠšig‚zóÿÍZìs;å Eruby-git-1.2.8/tests/files/working/dot_git/objects/b6/000077500000000000000000000000001236651770500226155ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/b6/153b8fe540288d66b974ae05113338ab1a61f0000066400000000000000000000002471236651770500275210ustar00rootroot00000000000000x­ŽAÂ0 9çù¨il‡H!ñã¸ÐC›*5Ï'â Üvç0©Ë2›‰ÖT}ÀLH˜´L (ÌŒ¢±“±£‚¤¹›®æ=Ê$Y ИX2”cdJL—‘STÇo{Õæw©fþþb©«¿ìò7~r©mïN›å½Ÿ¤¶íÔ”ÅÚüéo¹ú2 dðÇá< ®Ó^núO§ë!óê¾§UXÖruby-git-1.2.8/tests/files/working/dot_git/objects/b6/987bc1201ad19774c43c0ea8078f6f51d76bcb000066400000000000000000000000241236651770500277470ustar00rootroot00000000000000xKÊÉOR03c0ä¢œÑ Çruby-git-1.2.8/tests/files/working/dot_git/objects/b6/9e6acd87e5f9114ce6580b095ef1057a8fe5bb000066400000000000000000000000241236651770500301250ustar00rootroot00000000000000xKÊÉOR07b0ä¢ÙD uruby-git-1.2.8/tests/files/working/dot_git/objects/b9/000077500000000000000000000000001236651770500226205ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/b9/8f4909807c8c84a1dc1b62b4a339ae1777f369000066400000000000000000000002521236651770500276340ustar00rootroot00000000000000x­ŽK 1D]ç¹€’ÿDOÒétt32-x|ƒgpQPU‹Çþ® K‰‘ÄêLÖκµT|Äæ½VP+¦¬Š.‘ØaÐÆ²Q1ˆ-%›#ššm³IëTˆ…L4‘ X«Š€7¿úvfùxöM^ü•;<¡öqL&/ø>.ØÇ~Ècù̵ޤÖÙy—ƒò¬’Rb¾ÓœéŸL1E–M|9 XKruby-git-1.2.8/tests/files/working/dot_git/objects/ba/000077500000000000000000000000001236651770500226705ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/ba/492c62b6227d7f3507b4dcc6e6d5f13790eabf000066400000000000000000000000271236651770500301100ustar00rootroot00000000000000xKÊÉOR04²`0äHhÄø˜ruby-git-1.2.8/tests/files/working/dot_git/objects/ba/c335cb9dc058a477d04cde34c07d1f70d16fb9000066400000000000000000000001301236651770500301520ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(açüôvç›ê±¢ÓØ 7'ŸÊtøýðF"(ruby-git-1.2.8/tests/files/working/dot_git/objects/bb/000077500000000000000000000000001236651770500226715ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/bb/0850568bb43049031a38b01ddb60e4a487f823000066400000000000000000000000231236651770500275010ustar00rootroot00000000000000xKÊÉOR0´`0äB‡GY<ruby-git-1.2.8/tests/files/working/dot_git/objects/be/000077500000000000000000000000001236651770500226745ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/be/b14380ef26540efcad06bedcd0e302b6bce70e000066400000000000000000000002531236651770500303570ustar00rootroot00000000000000x­ŽKn!½æ\ ÍoÉŠ"å$ìYÌ`1m)Çò¼{¯¥â¾ï›hãEF­º!:²m!äLÁ¡ ¸”P2ÅRΑª/«zbÔCt´9'ÏÁՆɃkÅDŸ Ù”Q›c]Ð…—<úÐ'wýû÷CßN~ÜQú8§S6~Wîãy,cû›oÿÖDÉŸb0úˬƨIg¹ÔO:Õ ÙõïLY<ruby-git-1.2.8/tests/files/working/dot_git/objects/c1/000077500000000000000000000000001236651770500226115ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/c1/3142dd26a1f6f38403a17f6c411cb621b9a1cd000066400000000000000000000000241236651770500277070ustar00rootroot00000000000000xKÊÉOR05b0ä"Ô%ruby-git-1.2.8/tests/files/working/dot_git/objects/c1/8b4e9b0829411705d7fa9a1570a20d88780817000066400000000000000000000000231236651770500273700ustar00rootroot00000000000000xKÊÉOR04c0äB…>Çÿruby-git-1.2.8/tests/files/working/dot_git/objects/c5/000077500000000000000000000000001236651770500226155ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/c5/a3fdb33f052b8f17dac83c533b62244226f4ba000066400000000000000000000001301236651770500300000ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aP.•ûvðßE¯‡ VßÊמ¼ù"Œruby-git-1.2.8/tests/files/working/dot_git/objects/c6/000077500000000000000000000000001236651770500226165ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/c6/567e2feccce3893ae0aaac2bf97807338aa8d4000066400000000000000000000001301236651770500302500ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aX¸˜mÞŸcοsÒü2wܲMló!ˆruby-git-1.2.8/tests/files/working/dot_git/objects/cb/000077500000000000000000000000001236651770500226725ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/cb/45eef6fa1ad913137d91c6b81d2b42d69094a6000066400000000000000000000001301236651770500300210ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aXùèciÒºŠå±'BwÛž|Qœ"{é# ruby-git-1.2.8/tests/files/working/dot_git/objects/cd/000077500000000000000000000000001236651770500226745ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/cd/0d59357b36a447ff27a7c176b46e0a319b42df000066400000000000000000000000241236651770500277450ustar00rootroot00000000000000xKÊÉOR°4`0䢩ó ˆruby-git-1.2.8/tests/files/working/dot_git/objects/cd/4291452a61ff8b57cf5510addc8ddc5630748e000066400000000000000000000001301236651770500300260ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aX±}“¢«Ïõ=†›.NÚíÿ£ë—!Èruby-git-1.2.8/tests/files/working/dot_git/objects/cf/000077500000000000000000000000001236651770500226765ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/cf/7135368cc3bf4920ceeaeebd083e098cfad355000066400000000000000000000002511236651770500302510ustar00rootroot00000000000000x­ŽK 1D]ç¹€’_§ ˆž¤íîÑYÌdÈDðøÏப ë²Ì݆œ½©Zdâ4|IÅÀTCpSNàsBtf£¦ë8j‰e’ˆ‡¡‚~" ÈQ£( IràÐл¿j³;×ÞíýE\W{Ùùnô$©mÌ>ó{?qmÛ©)qoóg´åj½/ RÉíÑ3cæ]ÿÉ4Cd^ÍX7ruby-git-1.2.8/tests/files/working/dot_git/objects/cf/b9952c3a28831144a0fac7ea5a2d8517f466c4000066400000000000000000000001301236651770500277410ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a{lÜ/¸åÿñ ?®Þ.-X ïõ"Yruby-git-1.2.8/tests/files/working/dot_git/objects/d0/000077500000000000000000000000001236651770500226115ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/d0/0491fd7e5bb6fa28c517a0bb32b8b506539d4d000066400000000000000000000000211236651770500300060ustar00rootroot00000000000000xKÊÉOR0b0ä-ruby-git-1.2.8/tests/files/working/dot_git/objects/d1/000077500000000000000000000000001236651770500226125ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/d1/4cbc09cc34fb6450b2e96432102be51c8292b8000066400000000000000000000002501236651770500276450ustar00rootroot00000000000000x­ŽKÂ0 Yç¹(ã !$N⸺hS%®Äñ‰8»7o1®Ë2« ˆm"6—³‡LÄòÄ è/.Ç\Jð>fñšš¬j‘Ã}2a™€“ä$1‡X"bJ’":1´ë»6Û¹ªÚÇ›¸®öÚù7îô¢©¶>œ:óÞO\ÛvjB¬mþ ZnÖû gÈÁÝÅ93ÞQ®òO§!ój¾¼,W­ruby-git-1.2.8/tests/files/working/dot_git/objects/d3/000077500000000000000000000000001236651770500226145ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/d3/d171221e87a30e059d638f155f899595d96b71000066400000000000000000000000231236651770500274140ustar00rootroot00000000000000xKÊÉOR02`0ä„O¤pruby-git-1.2.8/tests/files/working/dot_git/objects/d5/000077500000000000000000000000001236651770500226165ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/d5/b9587b65731e25216743b0caca72051a760211000066400000000000000000000002521236651770500273440ustar00rootroot00000000000000x­ŽA Â0E]ç¹€ÒIÒ$"‚'™N¦ÚE›’Žàñ žÁÝñx\×uQëbö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(apé̱™œ»µoIë%á[;/Ú¥iêµ!Cruby-git-1.2.8/tests/files/working/dot_git/objects/d6/f31c35d7e010e50568c0d605227028aa7bac66000066400000000000000000000002511236651770500275640ustar00rootroot00000000000000x­ŽA Â0E]ç¹€’I'i "‚'™L3ÚE›’Žàñ žÁÝñx\×uQëc^Äu³×ƒãNOšk;ºS~®m¿´B¬mùtZo`€SÄhÏ.9gúÛ˵üÓizȲ™/‰NX»ruby-git-1.2.8/tests/files/working/dot_git/objects/d7/000077500000000000000000000000001236651770500226205ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/d7/875788aeafdd8e317880c00e3372f683cad91e000066400000000000000000000001301236651770500277710ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aHª˜~vñ¦Çk³—\.×ál}øßdú "½ruby-git-1.2.8/tests/files/working/dot_git/objects/d7/d8a71a719e2a4ca501991a66dab47df804f6ad000066400000000000000000000000241236651770500301040ustar00rootroot00000000000000xKÊÉOR°4a0ä¢%Þá ruby-git-1.2.8/tests/files/working/dot_git/objects/d7/e844eec32d74a3d37c4ce02d7138658e1035d6000066400000000000000000000001301236651770500276670ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aðý?ïs߇9ûù̘¥÷=Ò®ùp|ÅÛ#{ruby-git-1.2.8/tests/files/working/dot_git/objects/da/000077500000000000000000000000001236651770500226725ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/da/597fb7fba247a5b59d917e90342cf4b9695905000066400000000000000000000001271236651770500277220ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a8Øí7›CÓQœõú¯Y¢‹x;*8ÄÝ`Bruby-git-1.2.8/tests/files/working/dot_git/objects/da/7b788b1575936a4381050610a37737c70b55a0000066400000000000000000000000231236651770500272750ustar00rootroot00000000000000xKÊÉOR06c0ä" §÷Oruby-git-1.2.8/tests/files/working/dot_git/objects/de/000077500000000000000000000000001236651770500226765ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/de/996da0ef3dcee1a28aef9243aa3e255eb825b5000066400000000000000000000000241236651770500303250ustar00rootroot00000000000000xKÊÉOR°0c0ä¢z ruby-git-1.2.8/tests/files/working/dot_git/objects/de/d54b45e4d49816f6d4256e74d45ba2bb351357000066400000000000000000000001301236651770500276720ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a`ûòb…Ã%û«§tFÅŠ5UI~ßø—"ruby-git-1.2.8/tests/files/working/dot_git/objects/e3/000077500000000000000000000000001236651770500226155ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/e3/6f723934fd1d67c7d21538751f0b1e941141db000066400000000000000000000002521236651770500275300ustar00rootroot00000000000000x­ŽM Â0F]ç¹€eÒL~Á“L'‰í¢MI§àñ žÁÝ÷¾Åãq]×EôèýEZÎÚcv#12xÃÅpÙ¸TRôe `’AµSË›hH#c(Æ&›ÉÂ1b‰Ù'ÁAà¨è”¹6}pѯ™¸nú~ðo<éM©¶£;eáó¸¶}h™XÚòé´>´17txóÖé+DÕß^.ùŸNÕC–M}tžWcruby-git-1.2.8/tests/files/working/dot_git/objects/e3/ebef76525fe9e6e8dc739934a08512dff777c0000066400000000000000000000000241236651770500300650ustar00rootroot00000000000000xKÊÉOR°0`0ä¢.1 `ruby-git-1.2.8/tests/files/working/dot_git/objects/e5/000077500000000000000000000000001236651770500226175ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/e5/0fa6835cb99747346f19fea5f1ba939da4205f000066400000000000000000000002511236651770500277700ustar00rootroot00000000000000x­Ž] Â0„}Î)reÓnó"‚'Ùî®Ú‡6’®àñ žÁ·™aøø¸®ëb~ˆñ`MÕ8My Fˆ’ÆŠÀX’d,ˆÒÔ½¨éf> )$š‹”ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(að97ÅhÓ–D#¯ÄDùDç!>7øäï 0ruby-git-1.2.8/tests/files/working/dot_git/objects/e5/76bdfc9ed4627ac954f9390cf7a6151ad2a73e000066400000000000000000000002511236651770500301260ustar00rootroot00000000000000x­ŽK Ã0 »ö)|dGR =‰¢(m‰ƒ£@_Ó3t÷Þ,†á²®‹ÚóE«ˆû4G™¢“h`£`ò%c˜"y ³S•M-úæQ0»4D>ò˜x 42»É70:õ]ª=¸¨Ú相lövðo<èES©GsêÂçÑq©{W…Xëòio½[ïH0d{uèœi´•«üÓiZȲ™/†§W’ruby-git-1.2.8/tests/files/working/dot_git/objects/e6/000077500000000000000000000000001236651770500226205ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391000066400000000000000000000000171236651770500300450ustar00rootroot00000000000000xKÊÉOR0` °ðruby-git-1.2.8/tests/files/working/dot_git/objects/e7/000077500000000000000000000000001236651770500226215ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/e7/ea5938f9c009d32235050bca991d0b9533e440000066400000000000000000000001301236651770500275170ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØå©“´M©¶Þ”}ËcÏ®~4Ÿðj?í†"Ôruby-git-1.2.8/tests/files/working/dot_git/objects/e8/000077500000000000000000000000001236651770500226225ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/e8/183f05f5db68b3934e93f4bf6bed2bb664e0b5000066400000000000000000000000221236651770500301170ustar00rootroot00000000000000xKÊÉOR0c0äA&§ruby-git-1.2.8/tests/files/working/dot_git/objects/e8/bd03b163f82fba4560c11839d49361a78dec85000066400000000000000000000001301236651770500276700ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aè²ßî>ÃúÓò/ï…³¾ì?_9yádvÿÈ#ruby-git-1.2.8/tests/files/working/dot_git/objects/e9/000077500000000000000000000000001236651770500226235ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/e9/0de8268373e4fd5ab13310b7745d47ec16813c000066400000000000000000000000241236651770500276100ustar00rootroot00000000000000xKÊÉOR05a0ä"-úbruby-git-1.2.8/tests/files/working/dot_git/objects/ec/000077500000000000000000000000001236651770500226755ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/ec/16a327a6a98367d03369b4e998baf3db379313000066400000000000000000000001301236651770500276200ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aØÍÖ½ÅÀ“YÊbƒìí„'KÚ(Ú iruby-git-1.2.8/tests/files/working/dot_git/objects/ec/1e3d44e160e18dbfbaa80b5b0780ccc03e678e000066400000000000000000000001301236651770500302230ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(aùó{ß–'‰/\ÒjP^-{ï„#eruby-git-1.2.8/tests/files/working/dot_git/objects/ed/000077500000000000000000000000001236651770500226765ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/ed/551aa66cf0c6f1a078832f80899faff0ae88dc000066400000000000000000000001301236651770500302010ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a8ËiZm¶Äý¿úòƒe[ò¸ g;Ýäò âruby-git-1.2.8/tests/files/working/dot_git/objects/f1/000077500000000000000000000000001236651770500226145ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/f1/25480ee106989ec4d86554c0d5a1487ad4336a000066400000000000000000000002531236651770500275370ustar00rootroot00000000000000x­ŽAn! E»æ\ p@ŠªH=‰1¦™Å ãH=~PÏÐÝÿoñôxìû¦?tŠX.!øÞ¥\kÅs¯×‚j\¬yðÌ“¦j]Ï1‘£’}eèèCŠ[ƒŠB] §ÄÐ ½ô1¦=y¨Úïñ8ìíä¿q§jcžË©¿Î ù¼L!Ö¹ý®·YïKL±`(öÓeçÌ¢«\å?f…l‡ydX®ruby-git-1.2.8/tests/files/working/dot_git/objects/f1/410f8735f6f73d3599eb9b5cdd2fb70373335c000066400000000000000000000002501236651770500277050ustar00rootroot00000000000000x­Ž[ Â0EýÎ*²Ë䂈àJ’ÉTûѦ$Spù×à×}À=\¬Û¶²ÔÞ_¸I¦„ ãœÁÙ`õâ ”˜"R@tª˜hUqyGj´³Ì”•5hÑÞÙ!˜ øL }S ‘N~×&;Vfù|'¬»¼uü™Gz¥R[L^ñìÖvLr[?#mw©Ôl½y… F;ž3ý“)Æ‘u_9Xˆruby-git-1.2.8/tests/files/working/dot_git/objects/f2/000077500000000000000000000000001236651770500226155ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/f2/02cb755135d4263589602783b04fb32a079d88000066400000000000000000000000241236651770500273070ustar00rootroot00000000000000xKÊÉOR0±`0ä" ý´´ruby-git-1.2.8/tests/files/working/dot_git/objects/f2/ff401fb3fc81f8abb3ca15247aadc1e22b6288000066400000000000000000000002511236651770500302250ustar00rootroot00000000000000x­ŽM Â0F]ç¹€eÒü4Á“L'í¢MI§àñ žÁÝ÷¾ÅãQ]×EôÂE³¦àÃÄca"b“ED¤q.iŠ0YcvjÇÆ›hÈÞ$ÂD#çLÎ9k¸°±>C¡˜ Ü&¯ð”wmú *¢Ÿo¤ºéÛA¿ñÀæÚŽî”…Îc Úö¡1’´åÓi½kc’ó.ô"€êo/þ§SõeS_$…Y[ruby-git-1.2.8/tests/files/working/dot_git/objects/f5/000077500000000000000000000000001236651770500226205ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/f5/501de98279c6454f510188873476f3ead0cee6000066400000000000000000000002511236651770500275560ustar00rootroot00000000000000x­ŽQ à Dûí)¼@ƒ‰ºF(¥Ð“¬«¶~$Ý@_éú73 GuÛ ËàÂ-%l\3i ΨÀhHÁfƒÞics «‚Åzq`K;KÔ4gN9C‘<¢÷+¿&ŒòìÞü®MvªÌòùFª»¼uú…¾0ÖÖ“ }¢ÚŽ©%$nå3Úv—óì5~É«Z•cæœþÉC¤ìâ çóY-ruby-git-1.2.8/tests/files/working/dot_git/objects/f7/000077500000000000000000000000001236651770500226225ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/f7/5f313ca30e534aa9c42463e85108e682d3a14a000066400000000000000000000001301236651770500275670ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(a8hètWmá·Ï-Ì ëse¶)î\xóH!ðruby-git-1.2.8/tests/files/working/dot_git/objects/f8/000077500000000000000000000000001236651770500226235ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/f8/e9c6748331411c0d3511f90bd4e0a1a30acff0000066400000000000000000000001671236651770500277250ustar00rootroot00000000000000x+)JMU040a01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(açüôvç›ê±¢ÓØ 7'ŸÊtøýbNqr~I Ã\«Kæl_xåËIÁ¦“ùÚOÍù#é2ƒruby-git-1.2.8/tests/files/working/dot_git/objects/f9/000077500000000000000000000000001236651770500226245ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/f9/bce8995109cfab475d043a7dd9156d5e574ed3000066400000000000000000000000241236651770500300530ustar00rootroot00000000000000xKÊÉOR0·`0ä¢&— ,ruby-git-1.2.8/tests/files/working/dot_git/objects/fa/000077500000000000000000000000001236651770500226745ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/fa/6312f71abb153ada6a0399ad710d21bb61e4d8000066400000000000000000000001301236651770500300460ustar00rootroot00000000000000x+)JMU07b01…ÔŠø”Ì"†ìJÞ;q« >ö¬¾Ë*üâÇ­—.¿540031ªHÌ-ÈIÕ+©(axüú}YPüËg/îÏ4YÐ*tÿ{ù0$¼ruby-git-1.2.8/tests/files/working/dot_git/objects/fb/000077500000000000000000000000001236651770500226755ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/fb/8e78840d79085abf50edebf5b9d6b73ee0fb4c000066400000000000000000000000241236651770500303470ustar00rootroot00000000000000xKÊÉOR07c0䢭 ïruby-git-1.2.8/tests/files/working/dot_git/objects/fc/000077500000000000000000000000001236651770500226765ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/fc/b49fa99454f804799a12095292edbca48779ab000066400000000000000000000000231236651770500277170ustar00rootroot00000000000000xKÊÉOR04a0äB†6³Âruby-git-1.2.8/tests/files/working/dot_git/objects/fe/000077500000000000000000000000001236651770500227005ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/objects/fe/b2ccf88397c2d93f381176067be2727eba330b000066400000000000000000000002511236651770500277560ustar00rootroot00000000000000x­ŽM …]s .  $Ƙx’é0µ]´4tL<¾è\½Ÿ¼|yT×uíNÒ˜u.0å!ï c ³õðUgaD›J€jÇÆ›h‡¾°6D³OŒ˜³õ†¦)º„#E…/™kÓUý˜‘ꦯýÌŸXj;:Szªm¿4F’¶¼{ZoÚÚìƒÏ@ŸM2Fõ¶?þ'Sõ#˦>uqWuruby-git-1.2.8/tests/files/working/dot_git/refs/000077500000000000000000000000001236651770500216145ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/refs/heads/000077500000000000000000000000001236651770500227005ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/refs/heads/git_grep000066400000000000000000000000511236651770500244170ustar00rootroot000000000000005e53019b3238362144c2766f02a2c00d91fcc023 ruby-git-1.2.8/tests/files/working/dot_git/refs/heads/master000066400000000000000000000000511236651770500241120ustar00rootroot000000000000005e392652a881999392c2757cf9b783c5d47b67f7 ruby-git-1.2.8/tests/files/working/dot_git/refs/heads/test000066400000000000000000000000511236651770500235760ustar00rootroot000000000000001cc8667014381e2788a94777532a788307f38d26 ruby-git-1.2.8/tests/files/working/dot_git/refs/heads/test_branches000066400000000000000000000000511236651770500254430ustar00rootroot000000000000003a9f195756f5bd26b67c5e1fffd92d68d61be14e ruby-git-1.2.8/tests/files/working/dot_git/refs/heads/test_object000066400000000000000000000000511236651770500251240ustar00rootroot000000000000003a9f195756f5bd26b67c5e1fffd92d68d61be14e ruby-git-1.2.8/tests/files/working/dot_git/refs/remotes/000077500000000000000000000000001236651770500232725ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/refs/remotes/working/000077500000000000000000000000001236651770500247525ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/refs/remotes/working/master000066400000000000000000000000511236651770500261640ustar00rootroot00000000000000545ffc79786f268524c35e1e05b1770c7c74faf1 ruby-git-1.2.8/tests/files/working/dot_git/refs/tags/000077500000000000000000000000001236651770500225525ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/dot_git/refs/tags/gitsearch1000066400000000000000000000000511236651770500245230ustar00rootroot00000000000000935badc874edd62a8629aaf103418092c73f0a56 ruby-git-1.2.8/tests/files/working/dot_git/refs/tags/v2.5000066400000000000000000000000511236651770500231630ustar00rootroot00000000000000546bec6f8872efa41d5d97a369f669165ecda0de ruby-git-1.2.8/tests/files/working/dot_git/refs/tags/v2.6000066400000000000000000000000511236651770500231640ustar00rootroot000000000000003a9f195756f5bd26b67c5e1fffd92d68d61be14e ruby-git-1.2.8/tests/files/working/dot_git/refs/tags/v2.7000066400000000000000000000000511236651770500231650ustar00rootroot000000000000003a9f195756f5bd26b67c5e1fffd92d68d61be14e ruby-git-1.2.8/tests/files/working/dot_git/refs/tags/v2.8000066400000000000000000000000511236651770500231660ustar00rootroot000000000000005e53019b3238362144c2766f02a2c00d91fcc023 ruby-git-1.2.8/tests/files/working/ex_dir/000077500000000000000000000000001236651770500204765ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/ex_dir/ex.txt000066400000000000000000000000001236651770500216410ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/example.txt000066400000000000000000000000421236651770500214140ustar00rootroot00000000000000replace with new text - diff test ruby-git-1.2.8/tests/files/working/scott/000077500000000000000000000000001236651770500203605ustar00rootroot00000000000000ruby-git-1.2.8/tests/files/working/scott/newfile000066400000000000000000000000251236651770500217310ustar00rootroot00000000000000you can't search me! ruby-git-1.2.8/tests/files/working/scott/text.txt000066400000000000000000000001131236651770500221000ustar00rootroot00000000000000hello this is a file that is put here to search one to search two nothing! ruby-git-1.2.8/tests/test_helper.rb000066400000000000000000000040401236651770500173030ustar00rootroot00000000000000require 'date' require 'fileutils' require 'logger' require 'test/unit' require "#{File.expand_path(File.dirname(__FILE__))}/../lib/git" class Test::Unit::TestCase def set_file_paths cwd = `pwd`.chomp if File.directory?(File.join(cwd, 'files')) @test_dir = File.join(cwd, 'files') elsif File.directory?(File.join(cwd, '..', 'files')) @test_dir = File.join(cwd, '..', 'files') elsif File.directory?(File.join(cwd, 'tests', 'files')) @test_dir = File.join(cwd, 'tests', 'files') end @wdir_dot = File.expand_path(File.join(@test_dir, 'working')) @wbare = File.expand_path(File.join(@test_dir, 'working.git')) @index = File.expand_path(File.join(@test_dir, 'index')) @wdir = create_temp_repo(@wdir_dot) end teardown def git_teardown if @tmp_path FileUtils.rm_r(@tmp_path) end end def create_temp_repo(clone_path) filename = 'git_test' + Time.now.to_i.to_s + rand(300).to_s.rjust(3, '0') @tmp_path = File.join("/tmp/", filename) FileUtils.mkdir_p(@tmp_path) FileUtils.cp_r(clone_path, @tmp_path) tmp_path = File.join(@tmp_path, 'working') Dir.chdir(tmp_path) do FileUtils.mv('dot_git', '.git') end tmp_path end def in_temp_dir(remove_after = true) # :yields: the temporary dir's path tmp_path = nil while tmp_path.nil? || File.directory?(tmp_path) filename = 'git_test' + Time.now.to_i.to_s + rand(300).to_s.rjust(3, '0') tmp_path = File.join("/tmp/", filename) end FileUtils.mkdir(tmp_path) Dir.chdir tmp_path do yield tmp_path end FileUtils.rm_r(tmp_path) if remove_after end def create_file(path, content) File.open(path,'w') do |file| file.puts(content) end end def update_file(path, content) create_file(path,content) end def delete_file(path) File.delete(path) end def new_file(name, contents) create_file(name,contents) end def append_file(name, contents) File.open(name, 'a') do |f| f.puts contents end end end ruby-git-1.2.8/tests/units/000077500000000000000000000000001236651770500156045ustar00rootroot00000000000000ruby-git-1.2.8/tests/units/test_archive.rb000066400000000000000000000027041236651770500206140ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestArchive < Test::Unit::TestCase def setup set_file_paths @git = Git.open(@wdir) end def tempfile Tempfile.new('archive-test').path end def test_archive f = @git.archive('v2.6', tempfile) assert(File.exist?(f)) f = @git.object('v2.6').archive(tempfile) # writes to given file assert(File.exist?(f)) f = @git.object('v2.6').archive # returns path to temp file assert(File.exist?(f)) f = @git.object('v2.6').archive(nil, :format => 'tar') # returns path to temp file assert(File.exist?(f)) lines = `cd /tmp; tar xvpf #{f}`.split("\n") assert_equal('ex_dir/', lines[0]) assert_equal('example.txt', lines[2]) f = @git.object('v2.6').archive(tempfile, :format => 'zip') assert(File.file?(f)) f = @git.object('v2.6').archive(tempfile, :format => 'tgz', :prefix => 'test/') assert(File.exist?(f)) f = @git.object('v2.6').archive(tempfile, :format => 'tar', :prefix => 'test/', :path => 'ex_dir/') assert(File.exist?(f)) lines = `cd /tmp; tar xvpf #{f}`.split("\n") assert_equal('test/', lines[0]) assert_equal('test/ex_dir/ex.txt', lines[2]) in_temp_dir do c = Git.clone(@wbare, 'new') c.chdir do f = @git.remote('origin').branch('master').archive(tempfile, :format => 'tgz') assert(File.exist?(f)) end end end endruby-git-1.2.8/tests/units/test_bare.rb000066400000000000000000000024661236651770500201110ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestBare < Test::Unit::TestCase def setup set_file_paths @git = Git.bare(@wbare) end def test_commit o = @git.object('1cc8667014381') assert(o.is_a?(Git::Object::Commit)) assert_equal('94c827875e2cadb8bc8d4cdd900f19aa9e8634c7', o.gtree.to_s) assert_equal('546bec6f8872efa41d5d97a369f669165ecda0de', o.parent.sha) assert_equal(1, o.parents.size) assert_equal('scott Chacon', o.author.name) assert_equal('schacon@agadorsparticus.corp.reactrix.com', o.author.email) assert_equal('11-08-07', o.author.date.getutc.strftime("%m-%d-%y")) assert_equal('11-08-07', o.author_date.getutc.strftime("%m-%d-%y")) assert_equal('scott Chacon', o.committer.name) assert_equal('11-08-07', o.committer_date.getutc.strftime("%m-%d-%y")) assert_equal('11-08-07', o.date.getutc.strftime("%m-%d-%y")) assert_equal('test', o.message) assert_equal('tags/v2.5', o.parent.name) assert_equal('master', o.parent.parent.name) assert_equal('master~1', o.parent.parent.parent.name) o = @git.object('HEAD') assert(o.is_a?(Git::Object::Commit)) assert(o.commit?) o = @git.object('test_object') assert(o.is_a?(Git::Object::Commit)) assert(o.commit?) end endruby-git-1.2.8/tests/units/test_base.rb000066400000000000000000000064141236651770500201070ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestBase < Test::Unit::TestCase def setup set_file_paths end def test_add in_temp_dir do |path| git = Git.clone(@wdir, 'test_add') create_file('test_add/test_file_1', 'content tets_file_1') create_file('test_add/test_file_2', 'content test_file_2') create_file('test_add/test_file_3', 'content test_file_3') create_file('test_add/test_file_4', 'content test_file_4') create_file('test_add/test file with \' quote', 'content test_file_4') assert(!git.status.added.assoc('test_file_1')) # Adding a single file, usign String git.add('test_file_1') assert(git.status.added.assoc('test_file_1')) assert(!git.status.added.assoc('test_file_2')) # Adding a single file, using Array git.add(['test_file_2']) assert(git.status.added.assoc('test_file_2')) assert(!git.status.added.assoc('test_file_3')) assert(!git.status.added.assoc('test_file_4')) # Adding multiple files, using Array git.add(['test_file_3','test_file_4', 'test file with \' quote']) assert(git.status.added.assoc('test_file_3')) assert(git.status.added.assoc('test_file_4')) assert(git.status.added.assoc('test file with \' quote')) git.commit('test_add commit #1') assert(git.status.added.empty?) delete_file('test_add/test_file_3') update_file('test_add/test_file_4', 'content test_file_4 update #1') create_file('test_add/test_file_5', 'content test_file_5') # Adding all files (new, updated or deleted), using :all git.add(:all => true) assert(git.status.deleted.assoc('test_file_3')) assert(git.status.changed.assoc('test_file_4')) assert(git.status.added.assoc('test_file_5')) git.commit('test_add commit #2') assert(git.status.deleted.empty?) assert(git.status.changed.empty?) assert(git.status.added.empty?) delete_file('test_add/test_file_4') update_file('test_add/test_file_5', 'content test_file_5 update #1') create_file('test_add/test_file_6', 'content test_fiile_6') # Adding all files (new or updated), without params git.add assert(git.status.deleted.assoc('test_file_4')) assert(git.status.changed.assoc('test_file_5')) assert(git.status.added.assoc('test_file_6')) git.commit('test_add commit #3') assert(!git.status.deleted.empty?) assert(git.status.changed.empty?) assert(git.status.added.empty?) end end def test_commit in_temp_dir do |path| git = Git.clone(@wdir, 'test_commit') create_file('test_commit/test_file_1', 'content tets_file_1') create_file('test_commit/test_file_2', 'content test_file_2') git.add('test_file_1') git.add('test_file_2') base_commit_id = git.log[0].objectish git.commit("Test Commit") original_commit_id = git.log[0].objectish create_file('test_commit/test_file_3', 'content test_file_3') git.add('test_file_3') git.commit(nil, :amend => true) assert(git.log[0].objectish != original_commit_id) assert(git.log[1].objectish == base_commit_id) end end end ruby-git-1.2.8/tests/units/test_branch.rb000066400000000000000000000054271236651770500204350ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestBranch < Test::Unit::TestCase def setup set_file_paths @git = Git.open(@wdir) @commit = @git.object('1cc8667014381') @tree = @git.object('1cc8667014381^{tree}') @blob = @git.object('v2.5:example.txt') @branches = @git.branches end def test_branches_all assert(@git.branches[:master].is_a?(Git::Branch)) assert(@git.branches.size > 5) end def test_branches_local bs = @git.branches.local assert(bs.size > 4) end def test_branches_remote bs = @git.branches.remote assert_equal(1, bs.size) end def test_branches_single branch = @git.branches[:test_object] assert_equal('test_object', branch.name) %w{working/master remotes/working/master}.each do |branch_name| branch = @git.branches[branch_name] assert_equal('master', branch.name) assert_equal('remotes/working/master', branch.full) assert_equal('working', branch.remote.name) assert_equal('+refs/heads/*:refs/remotes/working/*', branch.remote.fetch_opts) assert_equal('../working.git', branch.remote.url) end end def test_branch_commit assert_equal(270, @git.branches[:test_branches].gcommit.size) end def test_branch_create_and_switch in_temp_dir do |path| g = Git.clone(@wbare, 'branch_test') Dir.chdir('branch_test') do assert(!g.branch('new_branch').current) g.branch('other_branch').create g.branch('new_branch').checkout assert(g.branch('new_branch').current) assert_equal(1, g.branches.select { |b| b.name == 'new_branch' }.size) new_file('test-file1', 'blahblahblah1') new_file('test-file2', 'blahblahblah2') new_file('.test-dot-file1', 'blahblahblahdot1') assert(g.status.untracked.assoc('test-file1')) assert(g.status.untracked.assoc('.test-dot-file1')) g.add(['test-file1', 'test-file2']) assert(!g.status.untracked.assoc('test-file1')) g.reset assert(g.status.untracked.assoc('test-file1')) assert(!g.status.added.assoc('test-file1')) assert_raise Git::GitExecuteError do g.branch('new_branch').delete end assert_equal(1, g.branches.select { |b| b.name == 'new_branch' }.size) g.branch('master').checkout g.branch('new_branch').delete assert_equal(0, g.branches.select { |b| b.name == 'new_branch' }.size) g.checkout('other_branch') assert(g.branch('other_branch').current) g.checkout('master') assert(!g.branch('other_branch').current) g.checkout(g.branch('other_branch')) assert(g.branch('other_branch').current) end end end end ruby-git-1.2.8/tests/units/test_config.rb000066400000000000000000000013061236651770500204350ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestConfig < Test::Unit::TestCase def setup set_file_paths @git = Git.open(@wdir) end def test_config c = @git.config assert_equal('Scott Chacon', c['user.name']) assert_equal('false', c['core.bare']) end def test_read_config assert_equal('Scott Chacon', @git.config('user.name')) assert_equal('false', @git.config('core.bare')) end def test_set_config in_temp_dir do |path| g = Git.clone(@wbare, 'bare') assert_not_equal('bully', g.config('user.name')) g.config('user.name', 'bully') assert_equal('bully', g.config('user.name')) end end endruby-git-1.2.8/tests/units/test_diff.rb000066400000000000000000000044001236651770500200760ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestDiff < Test::Unit::TestCase def setup set_file_paths @git = Git.open(@wdir) @diff = @git.diff('gitsearch1', 'v2.5') end #def test_diff # g.diff # assert(1, d.size) #end def test_diff_tags d = @git.diff('gitsearch1', 'v2.5') assert_equal(3, d.size) assert_equal(74, d.lines) assert_equal(10, d.deletions) assert_equal(64, d.insertions) end def test_diff_path d = @git.diff('gitsearch1', 'v2.5').path('scott/') assert_equal(d.from, 'gitsearch1') assert_equal(d.to, 'v2.5') assert_equal(2, d.size) assert_equal(9, d.lines) assert_equal(9, d.deletions) assert_equal(0, d.insertions) end def test_diff_objects d = @git.diff('gitsearch1', @git.gtree('v2.5')) assert_equal(3, d.size) end def test_object_diff d = @git.gtree('v2.5').diff('gitsearch1') assert_equal(3, d.size) assert_equal(74, d.lines) assert_equal(10, d.insertions) assert_equal(64, d.deletions) d = @git.gtree('v2.6').diff(@git.gtree('gitsearch1')) assert_equal(2, d.size) assert_equal(9, d.lines) end def test_diff_stats s = @diff.stats assert_equal(3, s[:total][:files]) assert_equal(74, s[:total][:lines]) assert_equal(10, s[:total][:deletions]) assert_equal(64, s[:total][:insertions]) # per file assert_equal(1, s[:files]["scott/newfile"][:deletions]) end def test_diff_hashkey assert_equal('5d46068', @diff["scott/newfile"].src) assert_nil(@diff["scott/newfile"].blob(:dst)) assert(@diff["scott/newfile"].blob(:src).is_a?(Git::Object::Blob)) end def test_patch p = @git.diff('v2.8^', 'v2.8').patch diff = "diff --git a/example.txt b/example.txt\nindex 1f09f2e..8dc79ae 100644\n--- a/example.txt\n+++ b/example.txt\n@@ -1 +1 @@\n-replace with new text\n+replace with new text - diff test" assert_equal(diff, p) end def test_diff_each files = {} @diff.each do |d| files[d.path] = d end assert(files['example.txt']) assert_equal('100644', files['scott/newfile'].mode) assert_equal('deleted', files['scott/newfile'].type) assert_equal(160, files['scott/newfile'].patch.size) end end ruby-git-1.2.8/tests/units/test_each_conflict.rb000066400000000000000000000020231236651770500217460ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestEachConflict < Test::Unit::TestCase def setup set_file_paths #@git = Git.open(@wdir, :log => Logger.new(STDOUT)) @git = Git.open(@wdir) end def test_conflicts in_temp_dir do |path| g = Git.clone(@wbare, 'branch_merge_test') Dir.chdir('branch_merge_test') do g.branch('new_branch').in_branch('test') do new_file('example.txt', "1\n2\n3") g.add true end g.branch('new_branch2').in_branch('test') do new_file('example.txt', "1\n4\n3") g.add true end g.merge('new_branch') begin g.merge('new_branch2') rescue end g.each_conflict do |file, your, their| assert_equal('example.txt', file) assert_equal("1\n2\n3\n", File.read(your)) assert_equal("1\n4\n3\n", File.read(their)) end end end end endruby-git-1.2.8/tests/units/test_git_path.rb000066400000000000000000000020321236651770500207640ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestGitPath < Test::Unit::TestCase def setup set_file_paths @git = Git.open(@wdir) end def test_initalize_with_good_path_and_check_path path = Git::Path.new(@git.index.to_s, true) assert_equal @git.index.to_s, path.to_s end def test_initialize_with_bad_path_and_check_path assert_raises ArgumentError do Git::Path.new('/this path does not exist', true) end end def test_initialize_with_bad_path_and_no_check path = Git::Path.new('/this path does not exist', false) assert_equal '/this path does not exist', path.to_s end def test_readables assert(@git.dir.readable?) assert(@git.index.readable?) assert(@git.repo.readable?) end def test_readables_in_temp_dir in_temp_dir do |dir| FileUtils.cp_r(@wdir, 'test') g = Git.open(File.join(dir, 'test')) assert(g.dir.writable?) assert(g.index.writable?) assert(g.repo.writable?) end end endruby-git-1.2.8/tests/units/test_index_ops.rb000066400000000000000000000105721236651770500211650ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestIndexOps < Test::Unit::TestCase def setup set_file_paths @git = Git.open(@wdir) end def test_add in_temp_dir do |path| g = Git.clone(@wbare, 'new') Dir.chdir('new') do assert_equal('100644', g.status['example.txt'].mode_index) new_file('test-file', 'blahblahblah') assert(g.status.untracked.assoc('test-file')) g.add assert(g.status.added.assoc('test-file')) assert(!g.status.untracked.assoc('test-file')) assert(!g.status.changed.assoc('example.txt')) new_file('example.txt', 'hahahaha') assert(g.status.changed.assoc('example.txt')) g.add assert(g.status.changed.assoc('example.txt')) g.commit('my message') assert(!g.status.changed.assoc('example.txt')) assert(!g.status.added.assoc('test-file')) assert(!g.status.untracked.assoc('test-file')) assert_equal('hahahaha', g.status['example.txt'].blob.contents) end end end def test_clean in_temp_dir do |path| g = Git.clone(@wbare, 'clean_me') Dir.chdir('clean_me') do new_file('test-file', 'blahblahbal') new_file('ignored_file', 'ignored file contents') new_file('.gitignore', 'ignored_file') g.add g.commit("first commit") new_file('file-to-clean', 'blablahbla') FileUtils.mkdir_p("dir_to_clean") Dir.chdir('dir_to_clean') do new_file('clean-me-too', 'blablahbla') end assert(File.exist?('file-to-clean')) assert(File.exist?('dir_to_clean')) assert(File.exist?('ignored_file')) g.clean(:force => true) assert(!File.exist?('file-to-clean')) assert(File.exist?('dir_to_clean')) assert(File.exist?('ignored_file')) new_file('file-to-clean', 'blablahbla') g.clean(:force => true, :d => true) assert(!File.exist?('file-to-clean')) assert(!File.exist?('dir_to_clean')) assert(File.exist?('ignored_file')) g.clean(:force => true, :x => true) assert(!File.exist?('ignored_file')) end end end def test_revert in_temp_dir do |path| g = Git.clone(@wbare, 'new') Dir.chdir('new') do new_file('test-file', 'blahblahbal') g.add g.commit("first commit") first_commit = g.gcommit('HEAD') new_file('test-file2', 'blablahbla') g.add g.commit("second-commit") g.gcommit('HEAD') commits = g.log(1e4).count g.revert(first_commit.sha) assert_equal(commits + 1, g.log(1e4).count) assert(!File.exist?('test-file2')) end end end def test_add_array in_temp_dir do |path| g = Git.clone(@wbare, 'new') Dir.chdir('new') do new_file('test-file1', 'blahblahblah1') new_file('test-file2', 'blahblahblah2') assert(g.status.untracked.assoc('test-file1')) g.add(['test-file1', 'test-file2']) assert(g.status.added.assoc('test-file1')) assert(g.status.added.assoc('test-file1')) assert(!g.status.untracked.assoc('test-file1')) g.commit('my message') assert(!g.status.added.assoc('test-file1')) assert(!g.status.untracked.assoc('test-file1')) assert_equal('blahblahblah1', g.status['test-file1'].blob.contents) end end end def test_remove in_temp_dir do |path| g = Git.clone(@wbare, 'remove_test') Dir.chdir('remove_test') do assert(g.status['example.txt']) g.remove('example.txt') assert(g.status.deleted.assoc('example.txt')) g.commit('deleted file') assert(!g.status['example.txt']) end end end def test_reset in_temp_dir do |path| g = Git.clone(@wbare, 'reset_test') Dir.chdir('reset_test') do new_file('test-file1', 'blahblahblah1') new_file('test-file2', 'blahblahblah2') assert(g.status.untracked.assoc('test-file1')) g.add(['test-file1', 'test-file2']) assert(!g.status.untracked.assoc('test-file1')) g.reset assert(g.status.untracked.assoc('test-file1')) assert(!g.status.added.assoc('test-file1')) end end end end ruby-git-1.2.8/tests/units/test_init.rb000066400000000000000000000047011236651770500201350ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestInit < Test::Unit::TestCase def setup set_file_paths end def test_open_simple g = Git.open(@wdir) assert_equal(g.dir.path, @wdir) assert_equal(g.repo.path, File.join(@wdir, '.git')) assert_equal(g.index.path, File.join(@wdir, '.git', 'index')) end def test_open_opts g = Git.open @wdir, :repository => @wbare, :index => @index assert_equal(g.repo.path, @wbare) assert_equal(g.index.path, @index) end def test_git_bare g = Git.bare @wbare assert_equal(g.repo.path, @wbare) end #g = Git.init # Git.init('project') # Git.init('/home/schacon/proj', # { :git_dir => '/opt/git/proj.git', # :index_file => '/tmp/index'} ) def test_git_init in_temp_dir do |path| repo = Git.init(path) assert(File.directory?(File.join(path, '.git'))) assert(File.exist?(File.join(path, '.git', 'config'))) assert_equal('false', repo.config('core.bare')) end end def test_git_init_bare in_temp_dir do |path| repo = Git.init(path, :bare => true) assert(File.directory?(File.join(path, '.git'))) assert(File.exist?(File.join(path, '.git', 'config'))) assert_equal('true', repo.config('core.bare')) end end def test_git_init_remote_git in_temp_dir do |dir| assert(!File.exist?(File.join(dir, 'config'))) in_temp_dir do |path| Git.init(path, :repository => dir) assert(File.exist?(File.join(dir, 'config'))) end end end def test_git_clone in_temp_dir do |path| g = Git.clone(@wbare, 'bare-co') assert(File.exist?(File.join(g.repo.path, 'config'))) assert(g.dir) end end def test_git_clone_bare in_temp_dir do |path| g = Git.clone(@wbare, 'bare.git', :bare => true) assert(File.exist?(File.join(g.repo.path, 'config'))) assert_nil(g.dir) end end def test_git_clone_config in_temp_dir do |path| g = Git.clone(@wbare, 'config.git', :config => "receive.denyCurrentBranch=ignore") assert_equal('ignore', g.config['receive.denycurrentbranch']) assert(File.exist?(File.join(g.repo.path, 'config'))) assert(g.dir) end end # trying to open a git project using a bare repo - rather than using Git.repo def test_git_open_error assert_raise ArgumentError do Git.open @wbare end end end ruby-git-1.2.8/tests/units/test_lib.rb000066400000000000000000000146341236651770500177460ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' # tests all the low level git communication # # this will be helpful if we ever figure out how # to either build these in pure ruby or get git bindings working # because right now it forks for every call class TestLib < Test::Unit::TestCase def setup set_file_paths @lib = Git.open(@wdir).lib end def test_commit_data data = @lib.commit_data('1cc8667014381') assert_equal('scott Chacon 1194561188 -0800', data['author']) assert_equal('94c827875e2cadb8bc8d4cdd900f19aa9e8634c7', data['tree']) assert_equal("test\n", data['message']) assert_equal(["546bec6f8872efa41d5d97a369f669165ecda0de"], data['parent']) end # takes parameters, returns array of appropriate commit objects # :count # :since # :between # :object def test_log_commits a = @lib.log_commits :count => 10 assert(a.first.is_a?(String)) assert_equal(10, a.size) a = @lib.log_commits :count => 20, :since => "#{Date.today.year - 2007} years ago" assert(a.first.is_a?(String)) assert_equal(20, a.size) a = @lib.log_commits :count => 20, :since => '1 second ago' assert_equal(0, a.size) a = @lib.log_commits :count => 20, :between => ['v2.5', 'v2.6'] assert_equal(2, a.size) a = @lib.log_commits :count => 20, :path_limiter => 'ex_dir/' assert_equal(1, a.size) a = @lib.full_log_commits :count => 20 assert_equal(20, a.size) end def test_revparse assert_equal('1cc8667014381e2788a94777532a788307f38d26', @lib.revparse('1cc8667014381')) # commit assert_equal('94c827875e2cadb8bc8d4cdd900f19aa9e8634c7', @lib.revparse('1cc8667014381^{tree}')) #tree assert_equal('ba492c62b6227d7f3507b4dcc6e6d5f13790eabf', @lib.revparse('v2.5:example.txt')) #blob end def test_object_type assert_equal('commit', @lib.object_type('1cc8667014381')) # commit assert_equal('tree', @lib.object_type('1cc8667014381^{tree}')) #tree assert_equal('blob', @lib.object_type('v2.5:example.txt')) #blob assert_equal('commit', @lib.object_type('v2.5')) end def test_object_size assert_equal(265, @lib.object_size('1cc8667014381')) # commit assert_equal(72, @lib.object_size('1cc8667014381^{tree}')) #tree assert_equal(128, @lib.object_size('v2.5:example.txt')) #blob assert_equal(265, @lib.object_size('v2.5')) end def test_object_contents commit = "tree 94c827875e2cadb8bc8d4cdd900f19aa9e8634c7\n" commit << "parent 546bec6f8872efa41d5d97a369f669165ecda0de\n" commit << "author scott Chacon 1194561188 -0800\n" commit << "committer scott Chacon 1194561188 -0800\n" commit << "\ntest" assert_equal(commit, @lib.object_contents('1cc8667014381')) # commit tree = "040000 tree 6b790ddc5eab30f18cabdd0513e8f8dac0d2d3ed\tex_dir\n" tree << "100644 blob 3aac4b445017a8fc07502670ec2dbf744213dd48\texample.txt" assert_equal(tree, @lib.object_contents('1cc8667014381^{tree}')) #tree blob = "1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n2" assert_equal(blob, @lib.object_contents('v2.5:example.txt')) #blob end def test_object_contents_with_block commit = "tree 94c827875e2cadb8bc8d4cdd900f19aa9e8634c7\n" commit << "parent 546bec6f8872efa41d5d97a369f669165ecda0de\n" commit << "author scott Chacon 1194561188 -0800\n" commit << "committer scott Chacon 1194561188 -0800\n" commit << "\ntest" @lib.object_contents('1cc8667014381') do |f| assert_equal(commit, f.read.chomp) end # commit tree = "040000 tree 6b790ddc5eab30f18cabdd0513e8f8dac0d2d3ed\tex_dir\n" tree << "100644 blob 3aac4b445017a8fc07502670ec2dbf744213dd48\texample.txt" @lib.object_contents('1cc8667014381^{tree}') do |f| assert_equal(tree, f.read.chomp) #tree end blob = "1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n2" @lib.object_contents('v2.5:example.txt') do |f| assert_equal(blob, f.read.chomp) #blob end end # returns Git::Branch object array def test_branches_all branches = @lib.branches_all assert(branches.size > 0) assert(branches.select { |b| b[1] }.size > 0) # has a current branch assert(branches.select { |b| /\//.match(b[0]) }.size > 0) # has a remote branch assert(branches.select { |b| !/\//.match(b[0]) }.size > 0) # has a local branch assert(branches.select { |b| /master/.match(b[0]) }.size > 0) # has a master branch end def test_config_remote config = @lib.config_remote('working') assert_equal('../working.git', config['url']) assert_equal('+refs/heads/*:refs/remotes/working/*', config['fetch']) end def test_ls_tree tree = @lib.ls_tree('94c827875e2cadb8bc8d4cdd900f19aa9e8634c7') assert_equal("3aac4b445017a8fc07502670ec2dbf744213dd48", tree['blob']['example.txt'][:sha]) assert_equal("100644", tree['blob']['example.txt'][:mode]) assert(tree['tree']) end # options this will accept # :treeish # :path_limiter # :ignore_case (bool) # :invert_match (bool) def test_grep match = @lib.grep('search', :object => 'gitsearch1') assert_equal('to search one', match['gitsearch1:scott/text.txt'].assoc(6)[1]) assert_equal(2, match['gitsearch1:scott/text.txt'].size) assert_equal(2, match.size) match = @lib.grep('search', :object => 'gitsearch1', :path_limiter => 'scott/new*') assert_equal("you can't search me!", match["gitsearch1:scott/newfile"].first[1]) assert_equal(1, match.size) match = @lib.grep('SEARCH', :object => 'gitsearch1') assert_equal(0, match.size) match = @lib.grep('SEARCH', :object => 'gitsearch1', :ignore_case => true) assert_equal("you can't search me!", match["gitsearch1:scott/newfile"].first[1]) assert_equal(2, match.size) match = @lib.grep('search', :object => 'gitsearch1', :invert_match => true) assert_equal(6, match['gitsearch1:scott/text.txt'].size) assert_equal(2, match.size) end end ruby-git-1.2.8/tests/units/test_log.rb000066400000000000000000000040741236651770500177560ustar00rootroot00000000000000#!/usr/bin/env ruby require 'logger' require File.dirname(__FILE__) + '/../test_helper' class TestLog < Test::Unit::TestCase def setup set_file_paths #@git = Git.open(@wdir, :log => Logger.new(STDOUT)) @git = Git.open(@wdir) end def test_get_fisrt_and_last_entries log = @git.log assert(log.first.is_a?(Git::Object::Commit)) assert_equal('5e53019b3238362144c2766f02a2c00d91fcc023', log.first.objectish) assert(log.last.is_a?(Git::Object::Commit)) assert_equal('f1410f8735f6f73d3599eb9b5cdd2fb70373335c', log.last.objectish) end def test_get_log_entries assert_equal(30, @git.log.size) assert_equal(50, @git.log(50).size) assert_equal(10, @git.log(10).size) end def test_get_log_to_s assert_equal(@git.log.to_s.split("\n").first, @git.log.first.sha) end def test_log_skip three1 = @git.log(3).to_a[-1] three2 = @git.log(2).skip(1).to_a[-1] three3 = @git.log(1).skip(2).to_a[-1] assert_equal(three2.sha, three3.sha) assert_equal(three1.sha, three2.sha) end def test_get_log_since l = @git.log.since("2 seconds ago") assert_equal(0, l.size) l = @git.log.since("#{Date.today.year - 2007} years ago") assert_equal(30, l.size) end def test_get_log_grep l = @git.log.grep("search") assert_equal(2, l.size) end def test_get_log_author l = @git.log(5).author("chacon") assert_equal(5, l.size) l = @git.log(5).author("lazySusan") assert_equal(0, l.size) end def test_get_log_since_file l = @git.log.object('example.txt') assert_equal(30, l.size) l = @git.log.between('v2.5', 'test').path('example.txt') assert_equal(1, l.size) end def test_get_log_path log = @git.log.path('example.txt') assert_equal(30, log.size) log = @git.log.path('example*') assert_equal(30, log.size) log = @git.log.path(['example.txt','scott/text.txt']) assert_equal(30, log.size) end def test_log_file_noexist assert_raise Git::GitExecuteError do @git.log.object('no-exist.txt').size end end end ruby-git-1.2.8/tests/units/test_logger.rb000066400000000000000000000015251236651770500204520ustar00rootroot00000000000000#!/usr/bin/env ruby require 'logger' require File.dirname(__FILE__) + '/../test_helper' class TestLogger < Test::Unit::TestCase def setup set_file_paths end def test_logger log = Tempfile.new('logfile') log.close logger = Logger.new(log.path) logger.level = Logger::DEBUG @git = Git.open(@wdir, :log => logger) @git.branches.size logc = File.read(log.path) assert(/INFO -- : git branch '-a'/.match(logc)) assert(/DEBUG -- : \* git_grep/.match(logc)) log = Tempfile.new('logfile') log.close logger = Logger.new(log.path) logger.level = Logger::INFO @git = Git.open(@wdir, :log => logger) @git.branches.size logc = File.read(log.path) assert(/INFO -- : git branch '-a'/.match(logc)) assert(!/DEBUG -- : \* git_grep/.match(logc)) end end ruby-git-1.2.8/tests/units/test_merge.rb000066400000000000000000000054651236651770500203010ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestMerge < Test::Unit::TestCase def setup set_file_paths end def test_branch_and_merge in_temp_dir do |path| g = Git.clone(@wbare, 'branch_merge_test') Dir.chdir('branch_merge_test') do g.branch('new_branch').in_branch('test') do assert_equal('new_branch', g.current_branch) new_file('new_file_1', 'hello') new_file('new_file_2', 'hello') g.add true end assert_equal('master', g.current_branch) new_file('new_file_3', 'hello') g.add assert(!g.status['new_file_1']) # file is not there assert(g.branch('new_branch').merge) assert(g.status['new_file_1']) # file has been merged in end end end def test_branch_and_merge_two in_temp_dir do |path| g = Git.clone(@wbare, 'branch_merge_test') Dir.chdir('branch_merge_test') do g.branch('new_branch').in_branch('test') do assert_equal('new_branch', g.current_branch) new_file('new_file_1', 'hello') new_file('new_file_2', 'hello') g.add true end g.branch('new_branch2').in_branch('test') do assert_equal('new_branch2', g.current_branch) new_file('new_file_3', 'hello') new_file('new_file_4', 'hello') g.add true end g.branch('new_branch').merge('new_branch2') assert(!g.status['new_file_3']) # still in master branch g.branch('new_branch').checkout assert(g.status['new_file_3']) # file has been merged in g.branch('master').checkout g.merge(g.branch('new_branch')) assert(g.status['new_file_3']) # file has been merged in end end end def test_branch_and_merge_multiple in_temp_dir do |path| g = Git.clone(@wbare, 'branch_merge_test') Dir.chdir('branch_merge_test') do g.branch('new_branch').in_branch('test') do assert_equal('new_branch', g.current_branch) new_file('new_file_1', 'hello') new_file('new_file_2', 'hello') g.add true end g.branch('new_branch2').in_branch('test') do assert_equal('new_branch2', g.current_branch) new_file('new_file_3', 'hello') new_file('new_file_4', 'hello') g.add true end assert(!g.status['new_file_1']) # still in master branch assert(!g.status['new_file_3']) # still in master branch g.merge(['new_branch', 'new_branch2']) assert(g.status['new_file_1']) # file has been merged in assert(g.status['new_file_3']) # file has been merged in end end end endruby-git-1.2.8/tests/units/test_object.rb000066400000000000000000000102471236651770500204420ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestObject < Test::Unit::TestCase def setup set_file_paths @git = Git.open(@wdir) @commit = @git.gcommit('1cc8667014381') @tree = @git.gtree('1cc8667014381^{tree}') @blob = @git.gblob('v2.5:example.txt') end def test_commit o = @git.gcommit('1cc8667014381') assert(o.is_a?(Git::Object::Commit)) assert(o.commit?) assert(!o.tag?) assert_equal('94c827875e2cadb8bc8d4cdd900f19aa9e8634c7', o.gtree.to_s) assert_equal('546bec6f8872efa41d5d97a369f669165ecda0de', o.parent.sha) assert_equal(1, o.parents.size) assert_equal('scott Chacon', o.author.name) assert_equal('schacon@agadorsparticus.corp.reactrix.com', o.author.email) assert_equal('11-08-07', o.author.date.getutc.strftime("%m-%d-%y")) assert_equal('11-08-07', o.author_date.getutc.strftime("%m-%d-%y")) assert_equal('scott Chacon', o.committer.name) assert_equal('11-08-07', o.committer_date.getutc.strftime("%m-%d-%y")) assert_equal('11-08-07', o.date.getutc.strftime("%m-%d-%y")) assert_equal('test', o.message) assert_equal('tags/v2.5', o.parent.name) assert_equal('master', o.parent.parent.name) assert_equal('master~1', o.parent.parent.parent.name) o = @git.gcommit('HEAD') assert(o.is_a?(Git::Object::Commit)) assert(o.commit?) o = @git.gcommit('test_object') assert(o.is_a?(Git::Object::Commit)) assert(o.commit?) end def test_commit_contents o = @git.gcommit('1cc8667014381') assert_equal('tree 94c827875e2cadb8bc8d4cdd900f19aa9e8634c7', o.contents_array[0]) assert_equal('parent 546bec6f8872efa41d5d97a369f669165ecda0de', o.contents_array[1]) end def test_object_to_s assert_equal('1cc8667014381e2788a94777532a788307f38d26', @commit.sha) assert_equal('94c827875e2cadb8bc8d4cdd900f19aa9e8634c7', @tree.sha) assert_equal('ba492c62b6227d7f3507b4dcc6e6d5f13790eabf', @blob.sha) end def test_object_size assert_equal(265, @commit.size) assert_equal(72, @tree.size) assert_equal(128, @blob.size) end def test_tree o = @git.gtree('1cc8667014381^{tree}') assert(o.is_a?(Git::Object::Tree)) assert(o.tree?) o = @git.gtree('v2.7^{tree}') assert_equal(2, o.children.size) assert_equal(1, o.blobs.size) assert_equal(1, o.subtrees.size) assert_equal(1, o.trees['ex_dir'].blobs.size) assert_equal(2, o.full_tree.size) assert_equal("100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391\tex_dir/ex.txt", o.full_tree.first) assert_equal(2, o.depth) o = @git.gtree('94c827875e2cadb8bc8d4cdd900f19aa9e8634c7') assert(o.is_a?(Git::Object::Tree)) assert(o.tree?) end def test_tree_contents o = @git.gtree('1cc8667014381^{tree}') assert_equal('040000 tree 6b790ddc5eab30f18cabdd0513e8f8dac0d2d3ed ex_dir', o.contents_array.first) end def test_blob o = @git.gblob('ba492c62b6') assert(o.is_a?(Git::Object::Blob)) assert(o.blob?) o = @git.gblob('v2.5:example.txt') assert(o.is_a?(Git::Object::Blob)) assert(o.blob?) end def test_blob_contents o = @git.gblob('v2.6:example.txt') assert_equal('replace with new text', o.contents) assert_equal('replace with new text', o.contents) # this should be cached # make sure the block is called block_called = false o.contents do |f| block_called = true assert_equal('replace with new text', f.read.chomp) end assert(block_called) end def test_revparse sha = @git.revparse('v2.6:example.txt') assert_equal('1f09f2edb9c0d9275d15960771b363ca6940fbe3', sha) end def test_grep g = @git.gtree('a3db7143944dcfa0').grep('search') # there assert_equal(3, g.to_a.flatten.size) assert_equal(1, g.size) assert_equal({}, @git.gtree('a3db7143944dcfa0').grep('34a566d193')) # not there g = @git.gcommit('gitsearch1').grep('search') # there assert_equal(8, g.to_a.flatten.size) assert_equal(2, g.size) g = @git.gcommit('gitsearch1').grep('search', 'scott/new*') # there assert_equal(3, g.to_a.flatten.size) assert_equal(1, g.size) end end ruby-git-1.2.8/tests/units/test_remotes.rb000066400000000000000000000100771236651770500206530ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestRemotes < Test::Unit::TestCase def setup set_file_paths end def test_add_remote in_temp_dir do |path| local = Git.clone(@wbare, 'local') remote = Git.clone(@wbare, 'remote') local.add_remote('testremote', remote) assert(!local.branches.map{|b| b.full}.include?('testremote/master')) assert(local.remotes.map{|b| b.name}.include?('testremote')) local.add_remote('testremote2', remote, :fetch => true) assert(local.branches.map{|b| b.full}.include?('remotes/testremote2/master')) assert(local.remotes.map{|b| b.name}.include?('testremote2')) local.add_remote('testremote3', remote, :track => 'master') assert(local.branches.map{|b| b.full}.include?('master')) #We actually a new branch ('test_track') on the remote and track that one intead. assert(local.remotes.map{|b| b.name}.include?('testremote3')) end end def test_remove_remote_remove in_temp_dir do |path| local = Git.clone(@wbare, 'local') remote = Git.clone(@wbare, 'remote') local.add_remote('testremote', remote) local.remove_remote('testremote') assert(!local.remotes.map{|b| b.name}.include?('testremote')) local.add_remote('testremote', remote) local.remote('testremote').remove assert(!local.remotes.map{|b| b.name}.include?('testremote')) end end def test_remote_fun in_temp_dir do |path| loc = Git.clone(@wbare, 'local') rem = Git.clone(@wbare, 'remote') r = loc.add_remote('testrem', rem) Dir.chdir('remote') do new_file('test-file1', 'blahblahblah1') rem.add rem.commit('master commit') rem.branch('testbranch').in_branch('tb commit') do new_file('test-file3', 'blahblahblah3') rem.add true end end assert(!loc.status['test-file1']) assert(!loc.status['test-file3']) r.fetch r.merge assert(loc.status['test-file1']) loc.merge(loc.remote('testrem').branch('testbranch')) assert(loc.status['test-file3']) #puts loc.remotes.map { |r| r.to_s }.inspect #r.remove #puts loc.remotes.inspect end end def test_fetch in_temp_dir do |path| loc = Git.clone(@wbare, 'local') rem = Git.clone(@wbare, 'remote') r = loc.add_remote('testrem', rem) Dir.chdir('remote') do rem.branch('testbranch').in_branch('tb commit') do new_file('test-file', 'add file') rem.add true end rem.branch('testbranch').in_branch do rem.add_tag('test-tag-in-deleted-branch') false end rem.branch('testbranch').delete end r.fetch assert(!loc.tags.map(&:name).include?('test-tag-in-deleted-branch')) r.fetch :tags => true assert(loc.tags.map(&:name).include?('test-tag-in-deleted-branch')) end end def test_push in_temp_dir do |path| loc = Git.clone(@wbare, 'local') rem = Git.clone(@wbare, 'remote', :config => 'receive.denyCurrentBranch=ignore') loc.add_remote('testrem', rem) loc.chdir do new_file('test-file1', 'blahblahblah1') loc.add loc.commit('master commit') loc.add_tag('test-tag') loc.branch('testbranch').in_branch('tb commit') do new_file('test-file3', 'blahblahblah3') loc.add true end end assert(!rem.status['test-file1']) assert(!rem.status['test-file3']) loc.push('testrem') assert(rem.status['test-file1']) assert(!rem.status['test-file3']) assert_raise Git::GitTagNameDoesNotExist do rem.tag('test-tag') end loc.push('testrem', 'testbranch', true) rem.checkout('testbranch') assert(rem.status['test-file1']) assert(rem.status['test-file3']) assert(rem.tag('test-tag')) end end end ruby-git-1.2.8/tests/units/test_repack.rb000066400000000000000000000010631236651770500204350ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestRepack < Test::Unit::TestCase def setup set_file_paths end def test_repack in_temp_dir do |path| r1 = Git.clone(@wbare, 'repo1') r1.chdir do new_file('new_file', 'new content') end r1.add r1.commit('my commit') # see how big the repo is size1 = r1.repo_size r1.repack # see how big the repo is now, should be smaller assert(size1 > r1.repo_size) end end endruby-git-1.2.8/tests/units/test_stashes.rb000066400000000000000000000015141236651770500206430ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestStashes < Test::Unit::TestCase def setup set_file_paths end def test_stash_unstash in_temp_dir do |path| g = Git.clone(@wbare, 'stash_test') Dir.chdir('stash_test') do assert_equal(0, g.branch.stashes.size) new_file('test-file1', 'blahblahblah1') new_file('test-file2', 'blahblahblah2') assert(g.status.untracked.assoc('test-file1')) g.add assert(g.status.added.assoc('test-file1')) g.branch.stashes.save('testing') g.reset assert_nil(g.status.untracked.assoc('test-file1')) assert_nil(g.status.added.assoc('test-file1')) g.branch.stashes.apply assert(g.status.added.assoc('test-file1')) end end end endruby-git-1.2.8/tests/units/test_status.rb000066400000000000000000000011561236651770500205160ustar00rootroot00000000000000 #!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestStatus < Test::Unit::TestCase def setup set_file_paths end def test_dot_files_status in_temp_dir do |path| git = Git.clone(@wdir, 'test_dot_files_status') create_file('test_dot_files_status/test_file_1', 'content tets_file_1') create_file('test_dot_files_status/.test_file_2', 'content test_file_2') git.add('test_file_1') git.add('.test_file_2') assert(git.status.added.assoc('test_file_1')) assert(git.status.added.assoc('.test_file_2')) end end end ruby-git-1.2.8/tests/units/test_tags.rb000066400000000000000000000026131236651770500201300ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestTags < Test::Unit::TestCase def setup set_file_paths end def test_tags in_temp_dir do |path| r1 = Git.clone(@wbare, 'repo1') r2 = Git.clone(@wbare, 'repo2') assert_raise Git::GitTagNameDoesNotExist do r1.tag('first') end r1.add_tag('first') r1.chdir do new_file('new_file', 'new content') end r1.add r1.commit('my commit') r1.add_tag('second') assert(r1.tags.any?{|t| t.name == 'first'}) r2.add_tag('third') assert(r2.tags.any?{|t| t.name == 'third'}) assert(r2.tags.none?{|t| t.name == 'second'}) assert_raise RuntimeError do r2.add_tag('fourth', {:a => true}) end r2.add_tag('fourth', {:a => true, :m => 'test message'}) assert(r2.tags.any?{|t| t.name == 'fourth'}) r2.add_tag('fifth', r2.tags.detect{|t| t.name == 'third'}.objectish) assert(r2.tags.detect{|t| t.name == 'third'}.objectish == r2.tags.detect{|t| t.name == 'fifth'}.objectish) assert_raise Git::GitExecuteError do r2.add_tag('third') end r2.add_tag('third', {:f => true}) r2.delete_tag('third') assert_raise Git::GitTagNameDoesNotExist do r2.tag('third') end end end end ruby-git-1.2.8/tests/units/test_tree_ops.rb000066400000000000000000000073141236651770500210150ustar00rootroot00000000000000#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class TestTreeOps < Test::Unit::TestCase def setup set_file_paths @git = Git.open(@wdir) end def test_read_tree in_temp_dir do g = Git.clone(@wbare, 'test') g.chdir do g.branch('testbranch1').in_branch('tb commit 1') do new_file('test-file1', 'blahblahblah2') g.add true end g.branch('testbranch2').in_branch('tb commit 2') do new_file('test-file2', 'blahblahblah3') g.add true end g.branch('testbranch3').in_branch('tb commit 3') do new_file('test-file3', 'blahblahblah4') g.add true end # test some read-trees tr = g.with_temp_index do g.read_tree('testbranch1') g.read_tree('testbranch2', :prefix => 'b2/') g.read_tree('testbranch3', :prefix => 'b2/b3/') index = g.ls_files assert(index['b2/test-file2']) assert(index['b2/b3/test-file3']) g.write_tree end assert_equal('2423ef1b38b3a140bbebf625ba024189c872e08b', tr) # only prefixed read-trees tr = g.with_temp_index do g.add # add whats in our working tree g.read_tree('testbranch1', :prefix => 'b1/') g.read_tree('testbranch3', :prefix => 'b2/b3/') index = g.ls_files assert(index['example.txt']) assert(index['b1/test-file1']) assert(!index['b2/test-file2']) assert(index['b2/b3/test-file3']) g.write_tree end assert_equal('aa7349e1cdaf4b85cc6a6a0cf4f9b3f24879fa42', tr) # new working directory too tr = nil g.with_temp_working do tr = g.with_temp_index do begin g.add rescue Exception => e # Adding nothig is now validd on Git 1.7.x # If an error ocurres (Git 1.6.x) it MUST rise Git::GitExecuteError assert_equal(e.class, Git::GitExecuteError) end g.read_tree('testbranch1', :prefix => 'b1/') g.read_tree('testbranch3', :prefix => 'b1/b3/') index = g.ls_files assert(!index['example.txt']) assert(index['b1/test-file1']) assert(!index['b2/test-file2']) assert(index['b1/b3/test-file3']) g.write_tree end assert_equal('b40f7a9072cdec637725700668f8fdebe39e6d38', tr) end c = g.commit_tree(tr, :parents => 'HEAD') assert(c.commit?) assert_equal('b40f7a9072cdec637725700668f8fdebe39e6d38', c.gtree.sha) tmp = Tempfile.new('tesxt') tmppath = tmp.path tmp.close tmp.unlink g.with_index(tmppath) do g.read_tree('testbranch1', :prefix => 'b1/') g.read_tree('testbranch3', :prefix => 'b3/') index = g.ls_files assert(!index['b2/test-file2']) assert(index['b3/test-file3']) g.commit('hi') end assert(c.commit?) files = g.ls_files assert(!files['b1/example.txt']) g.branch('newbranch').update_ref(c) g.checkout('newbranch') assert(!files['b1/example.txt']) assert_equal('b40f7a9072cdec637725700668f8fdebe39e6d38', c.gtree.sha) g.with_temp_working do assert(!File.directory?('b1')) g.checkout_index assert(!File.directory?('b1')) g.checkout_index(:all => true) assert(File.directory?('b1')) end end end end end