Git Product home page Git Product logo

rugged's Introduction

libgit2 - the Git linkable library

Build Status
main branch CI builds CI Build
v1.8 branch CI builds CI Build
v1.7 branch CI builds CI Build
Nightly builds Nightly Build Coverity Scan Status

libgit2 is a portable, pure C implementation of the Git core methods provided as a linkable library with a solid API, allowing to build Git functionality into your application. Language bindings like Rugged (Ruby), LibGit2Sharp (.NET), pygit2 (Python) and NodeGit (Node) allow you to build Git tooling in your favorite language.

libgit2 is used to power Git GUI clients like GitKraken and GitButler and on Git hosting providers like GitHub, GitLab and Azure DevOps. We perform the merge every time you click "merge pull request".

libgit2 is licensed under a very permissive license (GPLv2 with a special Linking Exception). This means that you can link against the library with any kind of software without making that software fall under the GPL. Changes to libgit2 would still be covered under its GPL license. Additionally, the example code has been released to the public domain (see the separate license for more information).

Table of Contents

Using libgit2

Most of these instructions assume that you're writing an application in C and want to use libgit2 directly. If you're not using C, and you're writing in a different language or platform like .NET, Node.js, or Ruby, then there is probably a "language binding" that you can use to take care of the messy tasks of calling into native code.

But if you do want to use libgit2 directly - because you're building an application in C - then you may be able use an existing binary. There are packages for the vcpkg and conan package managers. And libgit2 is available in Homebrew and most Linux distributions.

However, these versions may be outdated and we recommend using the latest version if possible. Thankfully libgit2 is not hard to compile.

Quick Start

Prerequisites for building libgit2:

  1. CMake, and is recommended to be installed into your PATH.
  2. Python is used by our test framework, and should be installed into your PATH.
  3. C compiler: libgit2 is C90 and should compile on most compilers.
    • Windows: Visual Studio is recommended
    • Mac: Xcode is recommended
    • Unix: gcc or clang is recommended.

Build

  1. Create a build directory beneath the libgit2 source directory, and change into it: mkdir build && cd build
  2. Create the cmake build environment: cmake ..
  3. Build libgit2: cmake --build .

Trouble with these steps? Read our troubleshooting guide. More detailed build guidance is available below.

Getting Help

Chat with us

Getting Help

If you have questions about the library, please be sure to check out the API documentation. If you still have questions, reach out to us on Slack or post a question on StackOverflow (with the libgit2 tag).

Reporting Bugs

Please open a GitHub Issue and include as much information as possible. If possible, provide sample code that illustrates the problem you're seeing. If you're seeing a bug only on a specific repository, please provide a link to it if possible.

We ask that you not open a GitHub Issue for help, only for bug reports.

Reporting Security Issues

Please have a look at SECURITY.md.

What It Can Do

libgit2 provides you with the ability to manage Git repositories in the programming language of your choice. It's used in production to power many applications including GitHub.com, Plastic SCM and Azure DevOps.

It does not aim to replace the git tool or its user-facing commands. Some APIs resemble the plumbing commands as those align closely with the concepts of the Git system, but most commands a user would type are out of scope for this library to implement directly.

The library provides:

  • SHA conversions, formatting and shortening
  • abstracted ODB backend system
  • commit, tag, tree and blob parsing, editing, and write-back
  • tree traversal
  • revision walking
  • index file (staging area) manipulation
  • reference management (including packed references)
  • config file management
  • high level repository management
  • thread safety and reentrancy
  • descriptive and detailed error messages
  • ...and more (over 175 different API calls)

As libgit2 is purely a consumer of the Git system, we have to adjust to changes made upstream. This has two major consequences:

  • Some changes may require us to change provided interfaces. While we try to implement functions in a generic way so that no future changes are required, we cannot promise a completely stable API.
  • As we have to keep up with changes in behavior made upstream, we may lag behind in some areas. We usually to document these incompatibilities in our issue tracker with the label "git change".

Optional dependencies

While the library provides git functionality without the need for dependencies, it can make use of a few libraries to add to it:

  • pthreads (non-Windows) to enable threadsafe access as well as multi-threaded pack generation
  • OpenSSL (non-Windows) to talk over HTTPS and provide the SHA-1 functions
  • LibSSH2 to enable the SSH transport
  • iconv (OSX) to handle the HFS+ path encoding peculiarities

Initialization

The library needs to keep track of some global state. Call

git_libgit2_init();

before calling any other libgit2 functions. You can call this function many times. A matching number of calls to

git_libgit2_shutdown();

will free the resources. Note that if you have worker threads, you should call git_libgit2_shutdown after those threads have exited. If you require assistance coordinating this, simply have the worker threads call git_libgit2_init at startup and git_libgit2_shutdown at shutdown.

Threading

See threading for information

Conventions

See conventions for an overview of the external and internal API/coding conventions we use.

Building libgit2 - Using CMake

Building

libgit2 builds cleanly on most platforms without any external dependencies. Under Unix-like systems, like Linux, *BSD and Mac OS X, libgit2 expects pthreads to be available; they should be installed by default on all systems. Under Windows, libgit2 uses the native Windows API for threading.

The libgit2 library is built using CMake (version 2.8 or newer) on all platforms.

On most systems you can build the library using the following commands

$ mkdir build && cd build
$ cmake ..
$ cmake --build .

Alternatively you can point the CMake GUI tool to the CMakeLists.txt file and generate platform specific build project or IDE workspace.

If you're not familiar with CMake, a more detailed explanation may be helpful.

Running Tests

Once built, you can run the tests from the build directory with the command

$ ctest -V

Alternatively you can run the test suite directly using,

$ ./libgit2_tests

Invoking the test suite directly is useful because it allows you to execute individual tests, or groups of tests using the -s flag. For example, to run the index tests:

$ ./libgit2_tests -sindex

To run a single test named index::racy::diff, which corresponds to the test function test_index_racy__diff:

$ ./libgit2_tests -sindex::racy::diff

The test suite will print a . for every passing test, and an F for any failing test. An S indicates that a test was skipped because it is not applicable to your platform or is particularly expensive.

Note: There should be no failing tests when you build an unmodified source tree from a release, or from the main branch. Please contact us or open an issue if you see test failures.

Installation

To install the library you can specify the install prefix by setting:

$ cmake .. -DCMAKE_INSTALL_PREFIX=/install/prefix
$ cmake --build . --target install

Advanced Usage

For more advanced use or questions about CMake please read https://cmake.org/Wiki/CMake_FAQ.

The following CMake variables are declared:

  • CMAKE_INSTALL_BINDIR: Where to install binaries to.
  • CMAKE_INSTALL_LIBDIR: Where to install libraries to.
  • CMAKE_INSTALL_INCLUDEDIR: Where to install headers to.
  • BUILD_SHARED_LIBS: Build libgit2 as a Shared Library (defaults to ON)
  • BUILD_TESTS: Build the unit and integration test suites (defaults to ON)
  • USE_THREADS: Build libgit2 with threading support (defaults to ON)

To list all build options and their current value, you can do the following:

# Create and set up a build directory
$ mkdir build
$ cmake ..
# List all build options and their values
$ cmake -L

Compiler and linker options

CMake lets you specify a few variables to control the behavior of the compiler and linker. These flags are rarely used but can be useful for 64-bit to 32-bit cross-compilation.

  • CMAKE_C_FLAGS: Set your own compiler flags
  • CMAKE_FIND_ROOT_PATH: Override the search path for libraries
  • ZLIB_LIBRARY, OPENSSL_SSL_LIBRARY AND OPENSSL_CRYPTO_LIBRARY: Tell CMake where to find those specific libraries
  • LINK_WITH_STATIC_LIBRARIES: Link only with static versions of system libraries

MacOS X

If you want to build a universal binary for Mac OS X, CMake sets it all up for you if you use -DCMAKE_OSX_ARCHITECTURES="i386;x86_64" when configuring.

Android

Extract toolchain from NDK using, make-standalone-toolchain.sh script. Optionally, crosscompile and install OpenSSL inside of it. Then create CMake toolchain file that configures paths to your crosscompiler (substitute {PATH} with full path to the toolchain):

SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_VERSION Android)

SET(CMAKE_C_COMPILER   {PATH}/bin/arm-linux-androideabi-gcc)
SET(CMAKE_CXX_COMPILER {PATH}/bin/arm-linux-androideabi-g++)
SET(CMAKE_FIND_ROOT_PATH {PATH}/sysroot/)

SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

Add -DCMAKE_TOOLCHAIN_FILE={pathToToolchainFile} to cmake command when configuring.

MinGW

If you want to build the library in MinGW environment with SSH support enabled, you may need to pass -DCMAKE_LIBRARY_PATH="${MINGW_PREFIX}/${MINGW_CHOST}/lib/" flag to CMake when configuring. This is because CMake cannot find the Win32 libraries in MinGW folders by default and you might see an error message stating that CMake could not resolve ws2_32 library during configuration.

Another option would be to install msys2-w32api-runtime package before configuring. This package installs the Win32 libraries into /usr/lib folder which is by default recognized as the library path by CMake. Please note though that this package is meant for MSYS subsystem which is different from MinGW.

Language Bindings

Here are the bindings to libgit2 that are currently available:

If you start another language binding to libgit2, please let us know so we can add it to the list.

How Can I Contribute?

We welcome new contributors! We have a number of issues marked as "up for grabs" and "easy fix" that are good places to jump in and get started. There's much more detailed information in our list of outstanding projects.

Please be sure to check the contribution guidelines to understand our workflow, and the libgit2 coding conventions.

License

libgit2 is under GPL2 with linking exception. This means you can link to and use the library from any program, proprietary or open source; paid or gratis. However, if you modify libgit2 itself, you must distribute the source to your modified version of libgit2.

See the COPYING file for the full license text.

rugged's People

Contributors

adelcambre avatar albertsun avatar arrbee avatar arthurschreiber avatar barrbrain avatar bartkamphorst avatar brianmario avatar bryanhelms avatar carlosmn avatar charypar avatar cirosantilli avatar dawidjanczak avatar hnakamur avatar holman avatar hparker avatar isaac avatar jbranchaud avatar justinlove avatar mastahyeti avatar mmozuras avatar muff1nman avatar quirkey avatar schacon avatar spraints avatar sschuberth avatar stephengroat avatar tenderlove avatar tnm avatar tpickett66 avatar vmg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rugged's Issues

Why isn't this in FFI?

just curious, is there a reason it's not written with FFI? that would improve portability to other ruby implementations :)

Unicode Normalization issues on OS X

Under OS X, the "can list references with non 7-bit ASCII characters" is currently failing. I've been trying hard to find the issue of this, and I think it's a problem with the way OS X normalizes UTF-8 folder names.

The test that is failing is simply creating a refname with UTF-8 characters in it.

The refname has the following bytes:

"refs/heads/Ångström".bytes.to_a
# => [114, 101, 102, 115, 47, 104, 101, 97, 100, 115, 47, 195, 133, 110, 103, 115, 116, 114, 195, 182, 109]

Now, when getting all refnames using Rugged::Reference.each, the byte-sequence for that particular refname becomes:

# => [114, 101, 102, 115, 47, 104, 101, 97, 100, 115, 47, 65, 204, 138, 110, 103, 115, 116, 114, 111, 204, 136, 109]

OS X changes the normalization of UTF-8 characters for folders and filenames.

Is this something that should be fixed in libgit2?

Test fails if done offline

One of the tests fails when the tests are run offline. It attempts to resolve github.com and when offline, this fails to resolve.

Error converting hex_to_raw and back

Some commits seem to be converted to raw in such a way that converting back with raw_to_hex fails:

ruby-1.8.7-p352 :011 > Rugged.hex_to_raw '702f00394564b24052511cb69961164828bf5494'
 => "p/\0009Ed\262@RQ\034\266\231a\026H(\277T\224" 
ruby-1.8.7-p352 :012 > Rugged.raw_to_hex _
ArgumentError: string contains null byte
    from (irb):12:in `raw_to_hex'
    from (irb):12

Commit message should come out with UTF-8 instead of ASCII-8BIT encoding

1.9.3p125 :005 > c = GIT_REPOSITORY.lookup('0ab873465c8d333bbd7a5be5e04f8e6e8388c72d')
1.9.3p125 :006 > c.message.encoding
 => #<Encoding:ASCII-8BIT> 
1.9.3p125 :007 > Encoding.default_external
 => #<Encoding:UTF-8> 
1.9.3p125 :008 > Rugged::VERSION
 => "0.17.0b2"

The message includes for example ä. git-commit man page says:

Commit objects created with the above setting record the value of i18n.commitencoding in its encoding header. This is to help other people who look at them later. Lack of this header implies that the commit log message is encoded in UTF-8.

I think in my example the string should be in UTF-8 encoding.

Looking up a tree entry with [] sometimes fails

In some large directories, I have found a small % of cases where doing

tree['filename']  

returns nil, but:

tree.detect {|entry| entry[:name] == 'filename' }

correctly returns the entry, but is much slower. The entry is just a Blob like all the other files in the same directory

Rugged::Backend completely removed?

In the libgit2 docs it talks about using a class called Rugged::Backend to implement custom backends, but in b5ef9dd that was completely removed. Is that coming back anytime soon? Because that is genuinely really cool.

too few arguments to function ‘git_commit_create’

I'm using the 0.15.0 version of libgit2 and the HEAD version of rugged. Among some warnings, I get the error at the title:

$ rake compile
WARNING: 'require 'rake/rdoctask'' is deprecated.  Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
    at /home/rafael/.gem/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
cd tmp/i686-linux/rugged/1.9.3
gmake
compiling ../../../../ext/rugged/rugged_commit.c
../../../../ext/rugged/rugged_commit.c: In function ‘rb_git_commit_message_short_GET’:
../../../../ext/rugged/rugged_commit.c:49:2: warning: passing argument 1 of ‘rugged_str_new2’ makes pointer from integer without a cast
../../../../ext/rugged/rugged.h:201:21: note: expected ‘const char *’ but argument is of type ‘int’
../../../../ext/rugged/rugged_commit.c: In function ‘rb_git_commit_create’:
../../../../ext/rugged/rugged_commit.c:187:3: warning: passing argument 7 of ‘git_commit_create’ from incompatible pointer type
/usr/include/git2/commit.h:224:17: note: expected ‘const char *’ but argument is of type ‘struct git_tree *’
../../../../ext/rugged/rugged_commit.c:187:3: warning: passing argument 8 of ‘git_commit_create’ makes pointer from integer without a cast
/usr/include/git2/commit.h:224:17: note: expected ‘const struct git_tree *’ but argument is of type ‘int’
../../../../ext/rugged/rugged_commit.c:187:3: warning: passing argument 9 of ‘git_commit_create’ makes integer from pointer without a cast
/usr/include/git2/commit.h:224:17: note: expected ‘int’ but argument is of type ‘const struct git_commit **’
../../../../ext/rugged/rugged_commit.c:187:3: error: too few arguments to function ‘git_commit_create’
/usr/include/git2/commit.h:224:17: note: declared here
gmake: *** [rugged_commit.o] Error 1
rake aborted!
Command failed with status (2): [gmake...]

Tasks: TOP => compile => compile:i686-linux => compile:rugged:i686-linux => copy:rugged:i686-linux:1.9.3 => tmp/i686-linux/rugged/1.9.3/rugged.so
(See full trace by running task with --trace)

I checked that line and it's lacking either a message_encoding or a message variable. (I have no idea which one.)

Documentation update

The README mentions a method Rugged::Repository#exists?, however the method appears to be called Rugged::Repository#exists.

Rugged::Tree::Builder is broken (documentation/tests)

with ruby 1.9.2-p290, attempt to run the test_tree snippet:

File.new('test.txt') {|f| f.write("hello world")}
entry = {:type => :blob, :name => "file.txt", :oid => Digest::SHA1.hexdigest(File.read('test.txt')), :attribtes => File.stat('test.txt').mode}
builder = Rugged::Tree::Builder.new
builder << entry

result:

TypeError: wrong argument type nil (expected String)
from (irb):49:in <<' from (irb):49 from /Users/tom/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in

'

looks like "ext/rugged/rugged_tree.c" line 226 is expecting a "path" component. this makes perfect sense... except it's undocumented and the current test fails- because it omits the "path" as well.

easy to fix- it's simply a documentation / test issue. i'll fork and throw together a pull request.

tom

Self contained rugged gem

I'd really like to start experimenting with using rugged in a couple projects but I want a self-contained gem that includes the libgit2 source instead of requiring libgit2 be installed separately. Is that planned?

Git pull ?

Is it possible to do a simple git pull on the repo using this gem? Couldn't find it in docs anywhere.

Repository.refs returns Enumerator

According to the documentation Repository.refs should return an array of references.

But it returns Enumereator

irb(main):006:0> repo.refs
=> #<Enumerable::Enumerator:0xb76fb064>

This is not a big problem for me, but I would like to know, if it is a normal behavior for refs method ?

Thanks in advance!

git log master ^feature-branch

It's mentioned in the readme that you can use the Rugged::Walker class for this, but it is never explained how you might do this.

git_tree_create_from_index: Segmentation Fault

Below is a minimal program which crashed with a segmentation fault for me.
I'm using the latest version of libgit2 from the repositories.

My sample repository "repo" is an empty repository, containing the empty file "test"
which I want to add to the index and then commit later on.

int main() {
    git_repository *repo = NULL;    
    git_repository_open(&repo, "repo");

    git_index *index;
    git_repository_index(&index, repo); 
    git_index_read(index); 
    git_index_add(index, "test", 0);
    git_index_write(index);

    git_oid *oid;    
    git_tree_create_fromindex(oid, index);   //crash with a segmentation fault   
    [...]
}

I tried to find the exact line where it crashes, this is the order of calls:

  1. git_tree_create_fromindex
  2. write_tree
  3. git_treebuilder_write
  4. git_odb_write

And it crashes in line 612 in odb.c ("error = b->write(oid, b, data, len, type);").
If I comment out the b->write line including the if statement, the program crashes
on line 682 ("error = stream->finalize_write(oid, stream);").

Rugged::Commit.create Segmentation fault

The docblock for rb_git_commit_create in rugged_commit.c gives the following usage example:

author = {:email=>"[email protected]", :time=>Time.now, :name=>"Vicent Mart\303\255"}

Rugged::Commit.create(r,
    :author => author,
    :message => "Hello world\n\n",
    :committer => author,
    :parents => ["2cb831a8aea28b2c1b9c63385585b864e4d3bad1"],
    :tree => some_tree) #=> "f148106ca58764adc93ad4e2d6b1d168422b9796"

However it causes a segfault:

(pry):13: [BUG] Segmentation fault
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.3.0]

-- Control frame information -----------------------------------------------
c:0027 p:---- s:0096 b:0096 l:000095 d:000095 CFUNC  :create
c:0026 p:0047 s:0091 b:0091 l:002358 d:000090 EVAL   (pry):13
c:0025 p:---- s:0089 b:0089 l:000088 d:000088 FINISH
c:0024 p:---- s:0087 b:0087 l:000086 d:000086 CFUNC  :eval
c:0023 p:0222 s:0081 b:0081 l:000080 d:000080 METHOD /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:249
c:0022 p:0041 s:0073 b:0073 l:000072 d:000072 METHOD /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:216
c:0021 p:0022 s:0068 b:0068 l:000052 d:000067 BLOCK  /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:200
c:0020 p:---- s:0066 b:0066 l:000065 d:000065 FINISH
c:0019 p:---- s:0064 b:0064 l:000063 d:000063 CFUNC  :loop
c:0018 p:0009 s:0061 b:0061 l:000052 d:000060 BLOCK  /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:199
c:0017 p:---- s:0059 b:0059 l:000058 d:000058 FINISH
c:0016 p:---- s:0057 b:0057 l:000056 d:000056 CFUNC  :catch
c:0015 p:0067 s:0053 b:0053 l:000052 d:000052 METHOD /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:198
c:0014 p:0188 s:0047 b:0047 l:000046 d:000046 METHOD /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_class.rb:136
c:0013 p:0124 s:0040 b:0040 l:0007b8 d:000039 BLOCK  /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/cli.rb:150
c:0012 p:---- s:0035 b:0035 l:000034 d:000034 FINISH
c:0011 p:---- s:0033 b:0033 l:000032 d:000032 CFUNC  :call
c:0010 p:0014 s:0029 b:0029 l:000020 d:000028 BLOCK  /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/cli.rb:59
c:0009 p:---- s:0026 b:0026 l:000025 d:000025 FINISH
c:0008 p:---- s:0024 b:0024 l:000023 d:000023 CFUNC  :each
c:0007 p:0107 s:0021 b:0021 l:000020 d:000020 METHOD /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/cli.rb:59
c:0006 p:0038 s:0016 b:0016 l:000015 d:000015 TOP    /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/bin/pry:16
c:0005 p:---- s:0014 b:0014 l:000013 d:000013 FINISH
c:0004 p:---- s:0012 b:0012 l:000011 d:000011 CFUNC  :load
c:0003 p:0167 s:0008 b:0008 l:002358 d:000628 EVAL   /Users/paul/.rbenv/versions/1.9.3-p194/bin/pry:23
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:002358 d:002358 TOP   

-- Ruby level backtrace information ----------------------------------------
/Users/paul/.rbenv/versions/1.9.3-p194/bin/pry:23:in `<main>'
/Users/paul/.rbenv/versions/1.9.3-p194/bin/pry:23:in `load'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/bin/pry:16:in `<top (required)>'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/cli.rb:59:in `parse_options'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/cli.rb:59:in `each'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/cli.rb:59:in `block in parse_options'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/cli.rb:59:in `call'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/cli.rb:150:in `block in <top (required)>'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_class.rb:136:in `start'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:198:in `repl'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:198:in `catch'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:199:in `block in repl'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:199:in `loop'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:200:in `block (2 levels) in repl'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:216:in `rep'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:249:in `re'
/Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb:249:in `eval'
(pry):13:in `<main>'
(pry):13:in `create'

-- C level backtrace information -------------------------------------------

   See Crash Report log file under ~/Library/Logs/CrashReporter or
   /Library/Logs/CrashReporter, for the more detail of.

-- Other runtime information -----------------------------------------------

* Loaded script: pry

* Loaded features:

    0 enumerator.so
    1 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.3.0/enc/encdb.bundle
    2 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.3.0/enc/trans/transdb.bundle
    3 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/defaults.rb
    4 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.3.0/rbconfig.rb
    5 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/deprecate.rb
    6 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/exceptions.rb
    7 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb
    8 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems.rb
    9 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/version.rb
   10 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/requirement.rb
   11 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/dependency.rb
   12 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/platform.rb
   13 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/specification.rb
   14 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/path_support.rb
   15 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/prettyprint.rb
   16 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/pp.rb
   17 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/helpers/base_helpers.rb
   18 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/hooks.rb
   19 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/method_source-0.7.1/lib/method_source/version.rb
   20 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/method_source-0.7.1/lib/method_source/source_location.rb
   21 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/method_source-0.7.1/lib/method_source.rb
   22 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/shellwords.rb
   23 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.3.0/readline.bundle
   24 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.3.0/stringio.bundle
   25 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/version.rb
   26 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay.rb
   27 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/optparse.rb
   28 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/slop-2.4.4/lib/slop.rb
   29 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/version.rb
   30 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/rbx_method.rb
   31 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/rbx_path.rb
   32 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/code.rb
   33 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/method.rb
   34 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/wrapped_module.rb
   35 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/history_array.rb
   36 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/helpers/options_helpers.rb
   37 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/helpers/command_helpers.rb
   38 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/helpers/text.rb
   39 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/helpers.rb
   40 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/history.rb
   41 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/command.rb
   42 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/command_set.rb
   43 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/misc.rb
   44 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/help.rb
   45 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/gems.rb
   46 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/ls.rb
   47 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/cd.rb
   48 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/context.rb
   49 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/commands.rb
   50 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/delegate.rb
   51 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.3.0/etc.bundle
   52 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/fileutils.rb
   53 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/tmpdir.rb
   54 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/thread.rb
   55 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/tempfile.rb
   56 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/input_and_output.rb
   57 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/introspection.rb
   58 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/hist.rb
   59 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/editing.rb
   60 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/navigating_pry.rb
   61 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/default_commands/easter_eggs.rb
   62 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/extended_commands/experimental.rb
   63 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/commands.rb
   64 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/custom_completions.rb
   65 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/completion.rb
   66 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/plugins.rb
   67 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/core_extensions.rb
   68 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/ostruct.rb
   69 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/forwardable.rb
   70 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/config.rb
   71 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/helpers/plugin.rb
   72 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/encoder.rb
   73 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/encoders/terminal.rb
   74 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_class.rb
   75 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/indent.rb
   76 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/pry_instance.rb
   77 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry/cli.rb
   78 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/pry-0.9.8.4/lib/pry.rb
   79 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rugged-0.16.0/lib/rugged/rugged.bundle
   80 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rugged-0.16.0/lib/rugged/index.rb
   81 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rugged-0.16.0/lib/rugged/objects.rb
   82 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rugged-0.16.0/lib/rugged/version.rb
   83 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rugged-0.16.0/lib/rugged/repository.rb
   84 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rugged-0.16.0/lib/rugged/walker.rb
   85 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rugged-0.16.0/lib/rugged/tree.rb
   86 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rugged-0.16.0/lib/rugged.rb
   87 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/tokens_proxy.rb
   88 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.3.0/strscan.bundle
   89 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/scanner.rb
   90 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/scanners/ruby.rb
   91 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/tokens.rb
   92 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/scanners/ruby/string_state.rb
   93 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/helpers/word_list.rb
   94 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/scanners/ruby/patterns.rb
   95 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/coderay-1.0.5/lib/coderay/encoders/_map.rb
   96 /Users/paul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.3.0/enc/trans/single_byte.bundle

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

I haven't had time to investigate the cause of the segfault.

Commits missing timezone information

When a commit is read via Rugged::Repository#lookup, the Time objects exposed from the author and committer are always in UTC. The timezone provides important information about the commit and should be available. The Time#mktime method should allow creating new Time objects with a specified tz.

example for creating a repo from scratch + basic ops

Hi,

could you add a working example for creating a new git repo and then do basic operations
against it (add files, commit)?

The USAGE.rb is a bit outdated and I've tried to take a note from unit test code, but always
end up with a crash or broken git repo when not operating against the prefabbed testrepo.git

Thanks in advance,

-Antti

rake test fails -- libgit2.so.0: cannot open shared object file: No such file or directory

I've built, and installed libgit2.so.0 from source into /usr/local (so the libgit2.so.0 is in /usr/local/lib). When doing rake test in the rugged directory I get this:

rake test

rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+)
/usr/local/rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': libgit2.so.0: cannot open shared object file: No such file or directory - /home/tlan/src/chiliproject/rugged/lib/rugged/rugged.so (LoadError)
....

Do I need to do anything special for it to find the library when it's installed into /usr/local/lib ?

Development section in README is outdated

Hi,
Just wanted to let you know that the 'Development' section in the README.md file is outdated and does not work. The section reads;

## Development

First you need to install libgit2:

    $ git clone https://github.com/libgit2/libgit2.git
    $ cd libgit2
    $ mkdir build && cd build
    $ cmake ..
    $ make
    $ make install

Now that those are installed, you can install Rugged:

    $ git clone https://github.com/libgit2/rugged.git
    $ cd rugged
    $ bundle install
    $ rake compile
    $ rake test

But when I try and do cmake .. I get this error message:

$ cmake ..
CMake Error: The source directory "/home/jeff/Documents/Projects/rugged" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

Is there a file that someone forgot to commit or is the documentation simply out of date?

Edit:
Rugged version: 824d548
cmake version: 2.8.7
Ubuntu 12.04
Ruby 1.9.2p320

PEBKAC issue :( .. closing issue.

Unable to compile

I get the following error when trying to compile (I have libgit2 and rake-compiler installed as per the instructions):

[22:47][tom@lepton:~/dev/other/ribbit(master)]$ rake compile
(in /Users/tom/dev/other/ribbit)
mkdir -p tmp/i686-darwin10.4.0/ribbit/1.8.7
cd tmp/i686-darwin10.4.0/ribbit/1.8.7
/Users/tom/.rvm/rubies/ruby-1.8.7-p248/bin/ruby -I. ../../../../ext/ribbit/extconf.rb
checking for main() in -lgit2... yes
checking for main() in -lz... yes
creating Makefile
cd -
cd tmp/i686-darwin10.4.0/ribbit/1.8.7
make
gcc -I. -I. -I/Users/tom/.rvm/rubies/ruby-1.8.7-p248/lib/ruby/1.8/i686-darwin10.4.0 -I../../../../ext/ribbit -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -g -O2  -fno-common -pipe -fno-common   -c ../../../../ext/ribbit/ribbit.c
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_odb_read’:
../../../../ext/ribbit/ribbit.c:78: error: ‘git_obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:78: error: (Each undeclared identifier is reported only once
../../../../ext/ribbit/ribbit.c:78: error: for each function it appears in.)
../../../../ext/ribbit/ribbit.c:78: error: expected ‘;’ before ‘obj’
../../../../ext/ribbit/ribbit.c:80: error: ‘obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_odb_obj_hash’:
../../../../ext/ribbit/ribbit.c:99: error: ‘git_obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:99: error: expected ‘;’ before ‘obj’
../../../../ext/ribbit/ribbit.c:101: error: ‘obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_odb_write’:
../../../../ext/ribbit/ribbit.c:117: error: ‘git_obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:117: error: expected ‘;’ before ‘obj’
../../../../ext/ribbit/ribbit.c:119: error: ‘obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_init’:
../../../../ext/ribbit/ribbit.c:152: error: ‘git_revpool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:152: error: ‘pool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_push’:
../../../../ext/ribbit/ribbit.c:159: error: ‘git_revpool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:159: error: ‘pool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:160: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_next’:
../../../../ext/ribbit/ribbit.c:173: error: ‘git_revpool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:173: error: ‘pool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:174: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:177: warning: assignment makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_hide’:
../../../../ext/ribbit/ribbit.c:190: error: ‘git_revpool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:190: error: ‘pool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:191: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_sorting’:
../../../../ext/ribbit/ribbit.c:204: error: ‘git_revpool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:204: error: ‘pool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:205: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_reset’:
../../../../ext/ribbit/ribbit.c:212: error: ‘git_revpool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:212: error: ‘pool’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:213: error: expected expression before ‘)’ token
make: *** [ribbit.o] Error 1
rake aborted!
Command failed with status (2): [make...]

(See full trace by running task with --trace)

rugged 0.1.2 gem reports as successful install even though native extensions failed to compile

You need to have libgit2 installed to compile the rugged gem (obviously). However, when installing the gem, if you do not have it, the compile silently fails and rubygems reports a successful install.

This is on OSX 10.6 using ruby 1.9.2 via rvm

    legolas:~ cowboyd$ rvm 1.9.2
    legolas:~ cowboyd$ which ruby
    /Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
    legolas:~ cowboyd$ gem install rugged
    Building native extensions.  This could take a while...
    Successfully installed rugged-0.1.2
    1 gem installed
    Installing ri documentation for rugged-0.1.2...
    Installing RDoc documentation for rugged-0.1.2...
    legolas:~ cowboyd$ ruby -rubygems -e "require 'rugged'"
    /Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- rugged/rugged (LoadError)
        from /Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /Users/cowboyd/.rvm/gems/ruby-1.9.2-p180/gems/rugged-0.1.2/lib/rugged.rb:1:in `<top (required)>'
        from /Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:53:in `require'
        from /Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:53:in `rescue in require'
        from /Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
        from -e:1:in `<main>'
    legolas:~ cowboyd$ cat /Users/cowboyd/.rvm/gems/ruby-1.9.2-p180/gems/rugged-0.1.2/ext/rugged/mkmf.log 
    have_library: checking for main() in -lgit2... -------------------- no

    "gcc -o conftest -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.6.0 -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE    -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe conftest.c  -L. -L/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/lib -L. -L/usr/local/lib     -lruby.1.9.1-static  -lpthread -ldl -lobjc "
    checked program was:
    /* begin */
    1: #include "ruby.h"
    2: 
    3: int main() {return 0;}
    /* end */

    "gcc -o conftest -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.6.0 -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE    -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe conftest.c  -L. -L/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/lib -L. -L/usr/local/lib     -lruby.1.9.1-static -lgit2  -lpthread -ldl -lobjc "
    ld: library not found for -lgit2
    collect2: ld returned 1 exit status
    checked program was:
    /* begin */
    1: #include "ruby.h"
    2: 
    3: /*top*/
    4: int main() {return 0;}
    5: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
    /* end */

    "gcc -o conftest -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.6.0 -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE    -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe conftest.c  -L. -L/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/lib -L. -L/usr/local/lib     -lruby.1.9.1-static -lgit2  -lpthread -ldl -lobjc "
    ld: library not found for -lgit2
    collect2: ld returned 1 exit status
    checked program was:
    /* begin */
    1: #include "ruby.h"
    2: 
    3: /*top*/
    4: int main() {return 0;}
    5: int t() { main(); return 0; }
    /* end */

    --------------------

    have_library: checking for main() in -lz... -------------------- yes

    "gcc -o conftest -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.6.0 -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE    -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe conftest.c  -L. -L/Users/cowboyd/.rvm/rubies/ruby-1.9.2-p180/lib -L. -L/usr/local/lib     -lruby.1.9.1-static -lz  -lpthread -ldl -lobjc "
    checked program was:
    /* begin */
    1: #include "ruby.h"
    2: 
    3: /*top*/
    4: int main() {return 0;}
    5: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
    /* end */

    --------------------

Adding a file to a repository

I am trying to transition to Rugged from Grit in my application. There is not a porcelain command for 'add', so I am trying to figure out the combination of commands I would need to add a file to an existing repository.

Also, is this the right venue for this type of question, or does Rugged or Libgit2 have a usergroup mailing list?

Support for git_branch_* methods

Hi there,

I've started to implement support for libgit2 branch methods.

Does it make sense from your point of view ?

Regards
Fred

Warnings on require

I get the following warning messages whenever rugged gem is loaded, which is annoying for things like cron output etc.

./gems/ruby/1.9.1/bundler/gems/rugged-160f3650dbc8/lib/rugged/version.rb:2: warning: already initialized constant VERSION
./gems/ruby/1.9.1/bundler/gems/rugged-160f3650dbc8/lib/rugged/version.rb:2: warning: already initialized constant Version

This is using the head code from the development branch on ruby 1.9.3-p194

Walker crashes

I'm writing a web app and I use Rugged (0.16.0) to provide a read-only interface to Git.

repo_path = Rails.root.to_s
repo = Rugged::Repository.new repo_path
# TODO: Check if repo could be opened.

walker = Rugged::Walker.new repo
commit = nil
if params[:commit]
  commit = params[:commit]
else
  commit = repo.lookup(repo.head.target).oid
end
walker.push commit
commits = walker.take 11
@current_page_commit = commits[0].oid
@next_page_commit = commits[10].oid if commits[10]
@commits = commits[0..9]

Ruby randomly crashes, with the following output:

/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/date_time/calculations.rb:141: [BUG] rb_gc_mark() called for broken object
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]

-- Control frame information -----------------------------------------------
c:0113 p:0014 s:0583 b:0582 l:000581 d:000581 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/date_time/calculations.rb:141
c:0112 p:0055 s:0578 b:0578 l:000577 d:000577 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/time/calculations.rb:344
c:0111 p:---- s:0574 b:0574 l:000573 d:000573 FINISH
c:0110 p:---- s:0572 b:0572 l:000571 d:000571 CFUNC  :==
c:0109 p:0079 s:0568 b:0568 l:000552 d:000567 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/haml-3.1.6/lib/haml/compiler.rb:364
c:0108 p:---- s:0562 b:0562 l:000561 d:000561 FINISH
c:0107 p:---- s:0560 b:0560 l:000555 d:000559 IFUNC 
c:0106 p:---- s:0558 b:0558 l:000557 d:000557 CFUNC  :each
c:0105 p:---- s:0556 b:0556 l:000555 d:000555 CFUNC  :collect
c:0104 p:0124 s:0553 b:0553 l:000552 d:000552 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/haml-3.1.6/lib/haml/compiler.rb:358
c:0103 p:0088 s:0543 b:0543 l:000542 d:000542 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/haml-3.1.6/lib/haml/buffer.rb:200
c:0102 p:0235 s:0536 b:0528 l:001c50 d:000527 BLOCK  /Users/daknok/Documents/hexapoda/app/views/commits/index.html.haml:14
c:0101 p:---- s:0525 b:0525 l:000524 d:000524 FINISH
c:0100 p:---- s:0523 b:0523 l:000522 d:000522 CFUNC  :each
c:0099 p:0188 s:0520 b:0520 l:001c50 d:001c50 METHOD /Users/daknok/Documents/hexapoda/app/views/commits/index.html.haml:5
c:0098 p:0040 s:0510 b:0510 l:000502 d:000509 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/template.rb:145
c:0097 p:0056 s:0508 b:0508 l:000507 d:000507 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications.rb:125
c:0096 p:0031 s:0503 b:0503 l:000502 d:000502 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/template.rb:143
c:0095 p:0017 s:0495 b:0495 l:002578 d:001e18 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/template_renderer.rb:47
c:0094 p:0005 s:0493 b:0493 l:000476 d:000492 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/abstract_renderer.rb:38
c:0093 p:0017 s:0491 b:0491 l:000481 d:000490 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications.rb:123
c:0092 p:0032 s:0489 b:0489 l:000488 d:000488 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications/instrumenter.rb:20
c:0091 p:0036 s:0482 b:0482 l:000481 d:000481 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications.rb:123
c:0090 p:0034 s:0477 b:0477 l:000476 d:000476 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/abstract_renderer.rb:38
c:0089 p:0037 s:0472 b:0472 l:002578 d:0025e0 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/template_renderer.rb:46
c:0088 p:0036 s:0469 b:0469 l:000468 d:000468 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/template_renderer.rb:54
c:0087 p:0039 s:0461 b:0461 l:002578 d:002578 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/template_renderer.rb:45
c:0086 p:0167 s:0454 b:0454 l:000453 d:000453 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/template_renderer.rb:18
c:0085 p:0021 s:0448 b:0448 l:000447 d:000447 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/renderer.rb:36
c:0084 p:0044 s:0443 b:0443 l:000442 d:000442 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/renderer.rb:17
c:0083 p:0051 s:0438 b:0438 l:000437 d:000437 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/rendering.rb:110
c:0082 p:0069 s:0434 b:0434 l:000433 d:000433 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/streaming.rb:225
c:0081 p:0029 s:0430 b:0430 l:000429 d:000429 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/rendering.rb:103
c:0080 p:0025 s:0426 b:0426 l:000425 d:000425 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/renderers.rb:28
c:0079 p:0043 s:0422 b:0422 l:000421 d:000421 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/compatibility.rb:50
c:0078 p:0030 s:0418 b:0416 l:000415 d:000415 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/rendering.rb:88
c:0077 p:0043 s:0410 b:0410 l:000409 d:000409 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/rendering.rb:16
c:0076 p:0010 s:0406 b:0406 l:000387 d:000405 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:40
c:0075 p:0005 s:0404 b:0404 l:000396 d:000403 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/benchmark.rb:5
c:0074 p:0024 s:0402 b:0402 l:000401 d:000401 METHOD /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/benchmark.rb:295
c:0073 p:0013 s:0398 b:0397 l:000396 d:000396 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/benchmark.rb:5
c:0072 p:0015 s:0394 b:0394 l:000387 d:000393 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:40
c:0071 p:0007 s:0392 b:0392 l:000391 d:000391 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:83
c:0070 p:0017 s:0389 b:0388 l:000387 d:000387 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:39
c:0069 p:0013 s:0383 b:0383 l:000382 d:000382 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/implicit_render.rb:10
c:0068 p:0034 s:0379 b:0379 l:000378 d:000378 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/implicit_render.rb:5
c:0067 p:0015 s:0373 b:0373 l:000372 d:000372 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/base.rb:167
c:0066 p:0041 s:0368 b:0368 l:000367 d:000367 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/rendering.rb:10
c:0065 p:0010 s:0364 b:0364 l:0002a0 d:000363 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/callbacks.rb:18
c:0064 p:0139 s:0362 b:0362 l:000361 d:000361 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:425
c:0063 p:0115 s:0356 b:0356 l:000355 d:000355 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:405
c:0062 p:0027 s:0347 b:0347 l:000346 d:000346 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:385
c:0061 p:0024 s:0342 b:0342 l:000341 d:000341 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:81
c:0060 p:0020 s:0336 b:0336 l:0002a0 d:0002a0 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/callbacks.rb:17
c:0059 p:0012 s:0332 b:0332 l:000331 d:000331 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/rescue.rb:29
c:0058 p:0010 s:0327 b:0327 l:000308 d:000326 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:30
c:0057 p:0017 s:0323 b:0323 l:000313 d:000322 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications.rb:123
c:0056 p:0032 s:0321 b:0321 l:000320 d:000320 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications/instrumenter.rb:20
c:0055 p:0036 s:0314 b:0314 l:000313 d:000313 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications.rb:123
c:0054 p:0152 s:0309 b:0309 l:000308 d:000308 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:29
c:0053 p:0143 s:0304 b:0304 l:000303 d:000303 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/params_wrapper.rb:206
c:0052 p:0093 s:0298 b:0298 l:000297 d:000297 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/base.rb:121
c:0051 p:0084 s:0292 b:0292 l:000291 d:000291 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/rendering.rb:45
c:0050 p:0048 s:0287 b:0287 l:000286 d:000286 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal.rb:203
c:0049 p:0086 s:0282 b:0282 l:000281 d:000281 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/rack_delegation.rb:14
c:0048 p:0030 s:0276 b:0276 l:0015a8 d:000275 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal.rb:246
c:0047 p:---- s:0273 b:0273 l:000272 d:000272 FINISH
c:0046 p:---- s:0271 b:0271 l:000270 d:000270 CFUNC  :call
c:0045 p:0022 s:0267 b:0267 l:000266 d:000266 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/routing/route_set.rb:73
c:0044 p:0094 s:0261 b:0261 l:000260 d:000260 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/routing/route_set.rb:36
c:0043 p:0161 s:0255 b:0255 l:000238 d:000254 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/journey-1.0.3/lib/journey/router.rb:68
c:0042 p:---- s:0244 b:0244 l:000243 d:000243 FINISH
c:0041 p:---- s:0242 b:0242 l:000241 d:000241 CFUNC  :each
c:0040 p:0051 s:0239 b:0239 l:000238 d:000238 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/journey-1.0.3/lib/journey/router.rb:56
c:0039 p:0025 s:0235 b:0235 l:000234 d:000234 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/routing/route_set.rb:600
c:0038 p:0035 s:0231 b:0231 l:000230 d:000230 METHOD /Users/daknok/.bundler/ruby/1.9.1/mongomapper-4d35c6704a9b/lib/mongo_mapper/middleware/identity_map.rb:10
c:0037 p:0015 s:0227 b:0227 l:000226 d:000226 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/best_standards_support.rb:17
c:0036 p:0015 s:0220 b:0220 l:000219 d:000219 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/etag.rb:23
c:0035 p:0068 s:0212 b:0212 l:000211 d:000211 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/conditionalget.rb:25
c:0034 p:0093 s:0205 b:0205 l:000204 d:000204 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/head.rb:14
c:0033 p:0046 s:0198 b:0198 l:000197 d:000197 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/params_parser.rb:21
c:0032 p:0015 s:0193 b:0193 l:000192 d:000192 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/flash.rb:238
c:0031 p:0031 s:0186 b:0186 l:000185 d:000185 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205
c:0030 p:0013 s:0178 b:0178 l:000177 d:000177 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:200
c:0029 p:0020 s:0174 b:0174 l:000173 d:000173 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/cookies.rb:338
c:0028 p:0014 s:0166 b:0166 l:002440 d:000165 BLOCK  /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/callbacks.rb:28
c:0027 p:0040 s:0164 b:0164 l:000163 d:000163 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:405
c:0026 p:0115 s:0157 b:0157 l:000156 d:000156 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:405
c:0025 p:0027 s:0148 b:0148 l:000147 d:000147 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:385
c:0024 p:0024 s:0143 b:0143 l:000142 d:000142 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:81
c:0023 p:0013 s:0137 b:0137 l:002440 d:002440 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/callbacks.rb:27
c:0022 p:0039 s:0133 b:0133 l:000132 d:000132 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/reloader.rb:65
c:0021 p:0044 s:0128 b:0128 l:000127 d:000127 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/remote_ip.rb:31
c:0020 p:0017 s:0124 b:0124 l:000123 d:000123 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/debug_exceptions.rb:16
c:0019 p:0017 s:0117 b:0117 l:000116 d:000116 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/show_exceptions.rb:56
c:0018 p:0121 s:0111 b:0111 l:000110 d:000110 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/rack/logger.rb:26
c:0017 p:0052 s:0105 b:0105 l:000104 d:000104 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/rack/logger.rb:16
c:0016 p:0048 s:0101 b:0101 l:000100 d:000100 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/request_id.rb:22
c:0015 p:0095 s:0094 b:0094 l:000093 d:000093 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/methodoverride.rb:21
c:0014 p:0032 s:0089 b:0089 l:000088 d:000088 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/runtime.rb:17
c:0013 p:0057 s:0080 b:0080 l:000079 d:000079 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/cache/strategy/local_cache.rb:72
c:0012 p:0068 s:0076 b:0076 l:000075 d:000075 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/lock.rb:15
c:0011 p:0124 s:0070 b:0070 l:000069 d:000069 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/static.rb:62
c:0010 p:0032 s:0064 b:0064 l:000063 d:000063 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/engine.rb:479
c:0009 p:0034 s:0060 b:0060 l:000059 d:000059 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/application.rb:220
c:0008 p:0015 s:0056 b:0056 l:000055 d:000055 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/content_length.rb:14
c:0007 p:0015 s:0047 b:0047 l:000046 d:000046 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/rack/log_tailer.rb:17
c:0006 p:0356 s:0042 b:0042 l:000041 d:000041 METHOD /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/handler/webrick.rb:59
c:0005 p:0257 s:0030 b:0030 l:000029 d:000029 METHOD /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138
c:0004 p:0393 s:0020 b:0020 l:000019 d:000019 METHOD /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94
c:0003 p:0126 s:0009 b:0009 l:000138 d:000008 BLOCK  /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP   

-- Ruby level backtrace information ----------------------------------------
/Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
/Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/handler/webrick.rb:59:in `service'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/rack/log_tailer.rb:17:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/content_length.rb:14:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/application.rb:220:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/engine.rb:479:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/static.rb:62:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/lock.rb:15:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/runtime.rb:17:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/request_id.rb:22:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/rack/logger.rb:16:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/rack/logger.rb:26:in `call_app'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/reloader.rb:65:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:81:in `run_callbacks'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:405:in `__run_callback'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:405:in `_run__1340438768690869195__call__1714142531835319400__callbacks'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/cookies.rb:338:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:200:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205:in `context'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/flash.rb:238:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/params_parser.rb:21:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/head.rb:14:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/conditionalget.rb:25:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/etag.rb:23:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
/Users/daknok/.bundler/ruby/1.9.1/mongomapper-4d35c6704a9b/lib/mongo_mapper/middleware/identity_map.rb:10:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/routing/route_set.rb:600:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/journey-1.0.3/lib/journey/router.rb:56:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/journey-1.0.3/lib/journey/router.rb:56:in `each'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/journey-1.0.3/lib/journey/router.rb:68:in `block in call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/routing/route_set.rb:36:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/routing/route_set.rb:73:in `call'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal.rb:246:in `block in action'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal.rb:203:in `dispatch'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/rendering.rb:45:in `process'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/base.rb:121:in `process'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/params_wrapper.rb:206:in `process_action'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications.rb:123:in `instrument'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications.rb:123:in `block in instrument'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/rescue.rb:29:in `process_action'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/callbacks.rb:17:in `process_action'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:81:in `run_callbacks'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:405:in `__run_callback'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/callbacks.rb:425:in `_run__2365636148961576236__process_action__4044082676647462489__callbacks'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/callbacks.rb:18:in `block in process_action'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/rendering.rb:10:in `process_action'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/base.rb:167:in `process_action'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/implicit_render.rb:5:in `send_action'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/implicit_render.rb:10:in `default_render'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:39:in `render'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:83:in `cleanup_view_runtime'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:40:in `block in render'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/benchmark.rb:5:in `ms'
/Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/benchmark.rb:295:in `realtime'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/benchmark.rb:5:in `block in ms'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/instrumentation.rb:40:in `block (2 levels) in render'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/rendering.rb:16:in `render'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/rendering.rb:88:in `render'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/compatibility.rb:50:in `render_to_body'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/renderers.rb:28:in `render_to_body'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/rendering.rb:103:in `render_to_body'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/metal/streaming.rb:225:in `_render_template'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/rendering.rb:110:in `_render_template'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/renderer.rb:17:in `render'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/renderer.rb:36:in `render_template'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/template_renderer.rb:18:in `render'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/template_renderer.rb:45:in `render_template'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/template_renderer.rb:54:in `render_with_layout'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/template_renderer.rb:46:in `block in render_template'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/abstract_renderer.rb:38:in `instrument'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications.rb:123:in `instrument'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications.rb:123:in `block in instrument'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/renderer/template_renderer.rb:47:in `block (2 levels) in render_template'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/template.rb:143:in `render'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications.rb:125:in `instrument'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/template.rb:145:in `block in render'
/Users/daknok/Documents/hexapoda/app/views/commits/index.html.haml:5:in `_app_views_commits_index_html_haml__1339038284563321920_70197704128220'
/Users/daknok/Documents/hexapoda/app/views/commits/index.html.haml:5:in `each'
/Users/daknok/Documents/hexapoda/app/views/commits/index.html.haml:14:in `block in _app_views_commits_index_html_haml__1339038284563321920_70197704128220'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/haml-3.1.6/lib/haml/buffer.rb:200:in `attributes'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/haml-3.1.6/lib/haml/compiler.rb:358:in `build_attributes'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/haml-3.1.6/lib/haml/compiler.rb:358:in `collect'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/haml-3.1.6/lib/haml/compiler.rb:358:in `each'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/haml-3.1.6/lib/haml/compiler.rb:364:in `block in build_attributes'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/haml-3.1.6/lib/haml/compiler.rb:364:in `=='
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/time/calculations.rb:344:in `compare_with_coercion'
/Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/date_time/calculations.rb:141:in `<=>'

-- C level backtrace information -------------------------------------------

   See Crash Report log file under ~/Library/Logs/CrashReporter or
   /Library/Logs/CrashReporter, for the more detail of.

-- Other runtime information -----------------------------------------------

* Loaded script: script/rails

* Loaded features:

    0 enumerator.so
    1 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/enc/encdb.bundle
    2 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/enc/trans/transdb.bundle
    3 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/defaults.rb
    4 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/rbconfig.rb
    5 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/deprecate.rb
    6 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/exceptions.rb
    7 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb
    8 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems.rb
    9 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/pathname.bundle
   10 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/pathname.rb
   11 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/version.rb
   12 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/etc.bundle
   13 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb
   14 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb
   15 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb
   16 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/platform.rb
   17 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb
   18 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/path_support.rb
   19 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/syntax_error.rb
   20 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/psych.bundle
   21 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/stringio.bundle
   22 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/nodes/node.rb
   23 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/nodes/stream.rb
   24 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/nodes/document.rb
   25 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/nodes/sequence.rb
   26 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/nodes/scalar.rb
   27 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/nodes/mapping.rb
   28 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/nodes/alias.rb
   29 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/nodes.rb
   30 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/streaming.rb
   31 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/visitors/visitor.rb
   32 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/strscan.bundle
   33 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/scalar_scanner.rb
   34 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/visitors/to_ruby.rb
   35 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/visitors/emitter.rb
   36 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb
   37 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/json/ruby_events.rb
   38 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/visitors/json_tree.rb
   39 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/visitors/depth_first.rb
   40 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/visitors.rb
   41 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/handler.rb
   42 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/tree_builder.rb
   43 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/parser.rb
   44 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/omap.rb
   45 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/set.rb
   46 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/coder.rb
   47 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/core_ext.rb
   48 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/date_core.bundle
   49 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/date/format.rb
   50 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/date.rb
   51 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/deprecated.rb
   52 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/stream.rb
   53 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/json/yaml_events.rb
   54 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/json/tree_builder.rb
   55 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/json/stream.rb
   56 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych/handlers/document_stream.rb
   57 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/psych.rb
   58 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/psych_additions.rb
   59 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/psych_tree.rb
   60 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/yaml.rb
   61 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/syck_hack.rb
   62 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/rubygems_integration.rb
   63 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/shared_helpers.rb
   64 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/fileutils.rb
   65 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/psyched_yaml.rb
   66 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/gem_helpers.rb
   67 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/match_platform.rb
   68 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/rubygems_ext.rb
   69 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/version.rb
   70 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler.rb
   71 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/digest.bundle
   72 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/digest.rb
   73 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/digest/sha1.bundle
   74 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/environment.rb
   75 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/runtime.rb
   76 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/settings.rb
   77 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/set.rb
   78 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/definition.rb
   79 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/dependency.rb
   80 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/dsl.rb
   81 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/uri/common.rb
   82 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/uri/generic.rb
   83 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/uri/ftp.rb
   84 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/uri/http.rb
   85 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/uri/https.rb
   86 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/uri/ldap.rb
   87 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/uri/ldaps.rb
   88 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/uri/mailto.rb
   89 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/uri.rb
   90 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/user_interaction.rb
   91 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/package/f_sync_dir.rb
   92 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_header.rb
   93 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/enc/iso_8859_1.bundle
   94 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/zlib.bundle
   95 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_input.rb
   96 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb
   97 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_reader/entry.rb
   98 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_reader.rb
   99 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_writer.rb
  100 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/package.rb
  101 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/format.rb
  102 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/ext/builder.rb
  103 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/ext/configure_builder.rb
  104 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/optparse.rb
  105 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/command.rb
  106 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/ext/ext_conf_builder.rb
  107 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/ext/rake_builder.rb
  108 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/ext.rb
  109 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/require_paths_builder.rb
  110 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb
  111 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/remote_fetcher.rb
  112 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/errors.rb
  113 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/text.rb
  114 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/spec_fetcher.rb
  115 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/open3.rb
  116 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/gem_installer.rb
  117 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/source.rb
  118 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/lockfile_parser.rb
  119 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/lazy_specification.rb
  120 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/tsort.rb
  121 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/forwardable.rb
  122 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/spec_set.rb
  123 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/index.rb
  124 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/remote_specification.rb
  125 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/endpoint_specification.rb
  126 /Users/daknok/.bundler/ruby/1.9.1/mongomapper-4d35c6704a9b/lib/mongo_mapper/version.rb
  127 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/dep_proxy.rb
  128 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb
  129 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.4/lib/bundler/setup.rb
  130 /Users/daknok/Documents/hexapoda/config/boot.rb
  131 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/object/inclusion.rb
  132 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/openssl.bundle
  133 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/openssl/bn.rb
  134 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/openssl/cipher.rb
  135 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/openssl/config.rb
  136 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/openssl/digest.rb
  137 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/openssl/buffering.rb
  138 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/fcntl.bundle
  139 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/openssl/ssl-internal.rb
  140 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/openssl/x509-internal.rb
  141 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/openssl.rb
  142 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/securerandom.rb
  143 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/inflector/inflections.rb
  144 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/inflector/methods.rb
  145 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/lazy_load_hooks.rb
  146 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/dependencies/autoload.rb
  147 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/version.rb
  148 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support.rb
  149 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_pack/version.rb
  150 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_pack.rb
  151 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activemodel-3.2.5/lib/active_model/version.rb
  152 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/i18n-0.6.0/lib/i18n/version.rb
  153 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/i18n-0.6.0/lib/i18n/exceptions.rb
  154 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/i18n-0.6.0/lib/i18n/interpolate/ruby.rb
  155 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/i18n-0.6.0/lib/i18n.rb
  156 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/i18n-0.6.0/lib/i18n/config.rb
  157 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/i18n.rb
  158 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activemodel-3.2.5/lib/active_model.rb
  159 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack.rb
  160 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch.rb
  161 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/server.rb
  162 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/commands/server.rb
  163 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/ruby_version_check.rb
  164 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/kernel/reporting.rb
  165 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/array/extract_options.rb
  166 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/class/attribute_accessors.rb
  167 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications/fanout.rb
  168 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/notifications.rb
  169 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/array/wrap.rb
  170 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/deprecation/behaviors.rb
  171 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/deprecation/reporting.rb
  172 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/module/deprecation.rb
  173 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/module/aliasing.rb
  174 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/deprecation/method_wrappers.rb
  175 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/deprecation/proxy_wrappers.rb
  176 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/deprecation.rb
  177 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/thread.rb
  178 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb
  179 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/logger.rb
  180 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/logger.rb
  181 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/hash/reverse_merge.rb
  182 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/initializable.rb
  183 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/ordered_hash.rb
  184 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/ordered_options.rb
  185 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/hash/deep_dup.rb
  186 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/paths.rb
  187 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/rack.rb
  188 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/configuration.rb
  189 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/module/attribute_accessors.rb
  190 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/multibyte/utils.rb
  191 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/multibyte.rb
  192 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/string/multibyte.rb
  193 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/inflector/transliterate.rb
  194 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/inflections.rb
  195 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/string/inflections.rb
  196 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/inflector.rb
  197 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/module/introspection.rb
  198 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/module/delegation.rb
  199 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/railtie.rb
  200 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/engine/railties.rb
  201 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/engine.rb
  202 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/time.rb
  203 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/base64.rb
  204 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/base64.rb
  205 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/string/encoding.rb
  206 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/object/blank.rb
  207 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/xml_mini/rexml.rb
  208 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/xml_mini.rb
  209 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/hash/keys.rb
  210 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/array/conversions.rb
  211 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/plugin.rb
  212 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/application.rb
  213 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/version.rb
  214 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/file_update_checker.rb
  215 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/concern.rb
  216 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/railtie/configurable.rb
  217 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/railtie/configuration.rb
  218 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/i18n_railtie.rb
  219 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/railtie.rb
  220 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_dispatch/railtie.rb
  221 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails.rb
  222 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/basic_object.rb
  223 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/object/acts_like.rb
  224 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/duration.rb
  225 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/time/publicize_conversion_methods.rb
  226 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/object/try.rb
  227 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/values/time_zone.rb
  228 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/time/conversions.rb
  229 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/time/calculations.rb
  230 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/time_with_zone.rb
  231 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/time/zones.rb
  232 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/date/zones.rb
  233 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/date/calculations.rb
  234 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/date_time/calculations.rb
  235 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/date_time/conversions.rb
  236 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/enumerable.rb
  237 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/process/daemon.rb
  238 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/string/conversions.rb
  239 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/i18n-0.6.0/lib/i18n/core_ext/string/interpolate.rb
  240 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/string/interpolation.rb
  241 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/rexml/rexml.rb
  242 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/rexml.rb
  243 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/file/path.rb
  244 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/module/method_names.rb
  245 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/ruby/shim.rb
  246 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/kernel/singleton_class.rb
  247 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/module/remove_method.rb
  248 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/class/attribute.rb
  249 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/module/attr_internal.rb
  250 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/module/anonymous.rb
  251 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller.rb
  252 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/erb.rb
  253 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/enc/trans/single_byte.bundle
  254 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/enc/trans/escape.bundle
  255 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/string/output_safety.rb
  256 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view.rb
  257 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/vendor/html-scanner.rb
  258 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/load_error.rb
  259 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/name_error.rb
  260 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/uri.rb
  261 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller.rb
  262 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_view/railtie.rb
  263 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/abstract_controller/railties/routes_helpers.rb
  264 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/railties/paths.rb
  265 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/action_controller/railtie.rb
  266 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionmailer-3.2.5/lib/action_mailer/version.rb
  267 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/class/delegating_attributes.rb
  268 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/module/reachable.rb
  269 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/class/subclasses.rb
  270 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/class.rb
  271 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/core_ext/array/uniq_by.rb
  272 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionmailer-3.2.5/lib/action_mailer.rb
  273 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionmailer-3.2.5/lib/action_mailer/railtie.rb
  274 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activeresource-3.2.5/lib/active_resource/exceptions.rb
  275 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activeresource-3.2.5/lib/active_resource/version.rb
  276 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activeresource-3.2.5/lib/active_resource.rb
  277 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activeresource-3.2.5/lib/active_resource/railtie.rb
  278 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.5/lib/sprockets/railtie.rb
  279 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/test_unit/railtie.rb
  280 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/string_inquirer.rb
  281 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/sass-rails-3.2.5/lib/sass/rails/version.rb
  282 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/sass-rails-3.2.5/lib/sass/rails/helpers.rb
  283 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/sass-3.1.19/lib/sass/logger/log_level.rb
  284 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/sass-3.1.19/lib/sass/logger/base.rb
  285 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/sass-3.1.19/lib/sass/logger.rb
  286 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/sass-rails-3.2.5/lib/sass/rails/logger.rb
  287 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/sass-rails-3.2.5/lib/sass/rails/railtie.rb
  288 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/sass-rails-3.2.5/lib/sass/rails.rb
  289 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/sass-rails-3.2.5/lib/sass-rails.rb
  290 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/version.rb
  291 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/module.rb
  292 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/encoding.rb
  293 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/runtime.rb
  294 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/disabled_runtime.rb
  295 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/shellwords.rb
  296 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/delegate.rb
  297 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/tmpdir.rb
  298 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/tempfile.rb
  299 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/external_runtime.rb
  300 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/johnson_runtime.rb
  301 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/mustang_runtime.rb
  302 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/ruby_racer_runtime.rb
  303 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/ruby_rhino_runtime.rb
  304 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/runtimes.rb
  305 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/multi_json-1.3.6/lib/multi_json.rb
  306 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/json.rb
  307 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs.rb
  308 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/coffee-script-source-1.3.3/lib/coffee_script/source.rb
  309 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/coffee-script-2.2.0/lib/coffee_script.rb
  310 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/coffee-script-2.2.0/lib/coffee-script.rb
  311 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/lib/rails/engine/configuration.rb
  312 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/coffee-rails-3.2.2/lib/coffee/rails/engine.rb
  313 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/coffee-rails-3.2.2/lib/coffee/rails/template_handler.rb
  314 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/coffee-rails-3.2.2/lib/coffee/rails/version.rb
  315 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/coffee-rails-3.2.2/lib/coffee-rails.rb
  316 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/uglifier-1.2.4/lib/uglifier.rb
  317 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/jquery-rails-2.0.2/lib/jquery/rails/engine.rb
  318 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/jquery-rails-2.0.2/lib/jquery/rails/version.rb
  319 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/jquery-rails-2.0.2/lib/jquery/rails.rb
  320 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/jquery-rails-2.0.2/lib/jquery-rails.rb
  321 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/mongo-1.6.4/lib/mongo/version.rb
  322 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/version.rb
  323 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/byte_buffer.rb
  324 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/types/binary.rb
  325 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/socket.bundle
  326 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/socket.rb
  327 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin11.4.0/digest/md5.bundle
  328 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/types/object_id.rb
  329 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/types/dbref.rb
  330 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/types/code.rb
  331 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/types/min_max_keys.rb
  332 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/types/timestamp.rb
  333 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/exceptions.rb
  334 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/ordered_hash.rb
  335 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson_ext-1.6.4/ext/bson_ext/cbson.bundle
  336 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/bson_c.rb
  337 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson/bson_ruby.rb
  338 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/bson-1.6.4/lib/bson.rb
  339 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/mongo-1.6.4/lib/mongo/util/conversions.rb
  340 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/mongo-1.6.4/lib/mongo/util/support.rb
  341 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/mongo-1.6.4/lib/mongo/util/core_ext.rb
  342 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/mongo-1.6.4/lib/mongo/util/logging.rb
  343 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/mongo-1.6.4/lib/mongo/util/node.rb
  344 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/mongo-1.6.4/lib/mongo/util/pool.rb
  345 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/mongo-1.6.4/lib/mongo/util/pool_manager.rb
  346 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/mongo-1.6.4/lib/mongo/util/server_version.rb
  347 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/timeout.rb
  348 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/mongo-1.6.4/lib/mongo/util/ssl_socket.rb
  349 /Users/daknok/.rvm/gems/ruby-1.9.3-p194/gems/mongo-1.6.4/lib/mongo/util/tcp_socket.rb
  350 /Users/daknok/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/cgi/cor

Ribbit doesn't compile

I have the latest libgit2 compiled, but I get this when running rake compile for Ribbit:

FWIW, I can compile schacon/ribbit just fine.

$ rake compile
(in /Users/rick/p/ribbit)
sh: line 0: type: turn: not found
sh: line 0: type: kicker: not found
sh: line 0: type: ronn: not found
mkdir -p tmp/universal-darwin10.0/ribbit/1.8.7
cd tmp/universal-darwin10.0/ribbit/1.8.7
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -I. ../../../../ext/ribbit/extconf.rb
checking for main() in -lgit2... yes
checking for main() in -lz... yes
creating Makefile
cd -
cd tmp/universal-darwin10.0/ribbit/1.8.7
make
gcc -I. -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 -I../../../../ext/ribbit -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common   -c ../../../../ext/ribbit/ribbit.c
../../../../ext/ribbit/ribbit.c:5:21: error: git/tag.h: No such file or directory
../../../../ext/ribbit/ribbit.c:12:28: error: git/repository.h: No such file or directory
../../../../ext/ribbit/ribbit.c:15: error: expected ‘)’ before ‘*’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_allocate’:
../../../../ext/ribbit/ribbit.c:76: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:76: error: (Each undeclared identifier is reported only once
../../../../ext/ribbit/ribbit.c:76: error: for each function it appears in.)
../../../../ext/ribbit/ribbit.c:76: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_init’:
../../../../ext/ribbit/ribbit.c:82: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:82: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_index’:
../../../../ext/ribbit/ribbit.c:95: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:95: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:98: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:100: warning: assignment makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_exists’:
../../../../ext/ribbit/ribbit.c:108: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:108: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:112: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:114: warning: assignment makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: At top level:
../../../../ext/ribbit/ribbit.c:120: error: expected ‘)’ before ‘*’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_read’:
../../../../ext/ribbit/ribbit.c:149: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:149: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:153: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_obj_hash’:
../../../../ext/ribbit/ribbit.c:163: error: ‘git_rawobj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:163: error: expected ‘;’ before ‘obj’
../../../../ext/ribbit/ribbit.c:168: error: ‘obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_write’:
../../../../ext/ribbit/ribbit.c:182: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:182: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:184: error: ‘git_rawobj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:184: error: expected ‘;’ before ‘obj’
../../../../ext/ribbit/ribbit.c:189: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:190: warning: assignment makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c:192: error: ‘obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_lookup’:
../../../../ext/ribbit/ribbit.c:207: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:207: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:209: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:209: error: ‘obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:215: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:219: error: ‘GIT_OBJ_ANY’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: At top level:
../../../../ext/ribbit/ribbit.c:231: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
../../../../ext/ribbit/ribbit.c:258: error: expected ‘)’ before ‘*’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_allocate’:
../../../../ext/ribbit/ribbit.c:295: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:295: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_equal’:
../../../../ext/ribbit/ribbit.c:301: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:301: error: ‘a’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:301: error: ‘b’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:306: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:307: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:309: warning: passing argument 1 of ‘git_oid_cmp’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c:309: warning: passing argument 2 of ‘git_oid_cmp’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_sha_GET’:
../../../../ext/ribbit/ribbit.c:314: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:314: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:317: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:319: warning: passing argument 2 of ‘git_oid_fmt’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_type_GET’:
../../../../ext/ribbit/ribbit.c:325: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:325: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:326: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_init’:
../../../../ext/ribbit/ribbit.c:333: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:333: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:334: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:334: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:339: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_read_raw’:
../../../../ext/ribbit/ribbit.c:363: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:363: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:364: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_write’:
../../../../ext/ribbit/ribbit.c:371: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:371: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:376: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:381: warning: passing argument 2 of ‘git_oid_fmt’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: At top level:
../../../../ext/ribbit/ribbit.c:427: error: expected ‘)’ before ‘*’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_commit_committer_GET’:
../../../../ext/ribbit/ribbit.c:447: error: ‘git_person’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:447: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_commit_author_GET’:
../../../../ext/ribbit/ribbit.c:468: error: ‘git_person’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:468: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_commit_tree_GET’:
../../../../ext/ribbit/ribbit.c:500: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:500: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_commit_tree_SET’:
../../../../ext/ribbit/ribbit.c:509: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:509: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_allocate’:
../../../../ext/ribbit/ribbit.c:520: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:520: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_target_GET’:
../../../../ext/ribbit/ribbit.c:531: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:531: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:532: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:534: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:534: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_target_SET’:
../../../../ext/ribbit/ribbit.c:539: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:539: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:540: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:540: error: ‘target’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:541: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:543: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:543: error: ‘GIT_OBJ_ANY’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_target_type_GET’:
../../../../ext/ribbit/ribbit.c:550: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:550: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:551: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_name_GET’:
../../../../ext/ribbit/ribbit.c:558: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:558: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:559: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:561: warning: passing argument 1 of ‘rb_str_new2’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_name_SET’:
../../../../ext/ribbit/ribbit.c:566: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:566: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:567: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_tagger_GET’:
../../../../ext/ribbit/ribbit.c:576: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:576: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:577: error: ‘git_person’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:577: error: ‘person’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:578: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:580: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_tagger_SET’:
../../../../ext/ribbit/ribbit.c:586: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:586: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:587: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_message_GET’:
../../../../ext/ribbit/ribbit.c:599: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:599: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:600: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:602: warning: passing argument 1 of ‘rb_str_new2’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_message_SET’:
../../../../ext/ribbit/ribbit.c:607: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:607: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:608: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_treeentry_allocate’:
../../../../ext/ribbit/ribbit.c:621: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:621: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: At top level:
../../../../ext/ribbit/ribbit.c:630: error: expected ‘)’ before ‘*’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_attributes_GET’:
../../../../ext/ribbit/ribbit.c:645: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:645: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:646: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_attributes_SET’:
../../../../ext/ribbit/ribbit.c:653: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:653: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:654: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_name_GET’:
../../../../ext/ribbit/ribbit.c:663: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:663: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:664: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:666: warning: passing argument 1 of ‘rb_str_new2’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_name_SET’:
../../../../ext/ribbit/ribbit.c:671: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:671: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:672: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_sha_GET’:
../../../../ext/ribbit/ribbit.c:681: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:681: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:683: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:685: warning: passing argument 2 of ‘git_oid_fmt’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_sha_SET’:
../../../../ext/ribbit/ribbit.c:691: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:691: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:693: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_2object’:
../../../../ext/ribbit/ribbit.c:704: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:704: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:705: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:705: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:708: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_get_entry’:
../../../../ext/ribbit/ribbit.c:746: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:746: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:749: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_allocate’:
../../../../ext/ribbit/ribbit.c:762: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:762: error: ‘walker’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_init’:
../../../../ext/ribbit/ribbit.c:768: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:768: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:769: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:769: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:772: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_next’:
../../../../ext/ribbit/ribbit.c:784: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:784: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:787: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:788: warning: assignment makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c:790: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:790: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_push’:
../../../../ext/ribbit/ribbit.c:795: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:795: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:798: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_hide’:
../../../../ext/ribbit/ribbit.c:807: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:807: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:810: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_sorting’:
../../../../ext/ribbit/ribbit.c:819: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:819: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:820: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_reset’:
../../../../ext/ribbit/ribbit.c:827: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:827: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:828: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_index_init’:
../../../../ext/ribbit/ribbit.c:849: error: too many arguments to function ‘git_index_alloc’
../../../../ext/ribbit/ribbit.c:849: warning: assignment makes integer from pointer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_index_get’:
../../../../ext/ribbit/ribbit.c:897: warning: passing argument 1 of ‘rb_git_indexentry_new’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_index_add’:
../../../../ext/ribbit/ribbit.c:930: warning: passing argument 2 of ‘git_index_add’ from incompatible pointer type
../../../../ext/ribbit/ribbit.c:930: error: too few arguments to function ‘git_index_add’
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_allocate’:
../../../../ext/ribbit/ribbit.c:945: error: invalid application of ‘sizeof’ to incomplete type ‘git_index_entry’ 
../../../../ext/ribbit/ribbit.c:946: error: invalid application of ‘sizeof’ to incomplete type ‘git_index_entry’ 
../../../../ext/ribbit/ribbit.c:946: error: invalid application of ‘sizeof’ to incomplete type ‘git_index_entry’ 
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_dev_GET’:
../../../../ext/ribbit/ribbit.c:971: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_dev_SET’:
../../../../ext/ribbit/ribbit.c:971: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_ino_GET’:
../../../../ext/ribbit/ribbit.c:972: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_ino_SET’:
../../../../ext/ribbit/ribbit.c:972: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_mode_GET’:
../../../../ext/ribbit/ribbit.c:973: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_mode_SET’:
../../../../ext/ribbit/ribbit.c:973: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_uid_GET’:
../../../../ext/ribbit/ribbit.c:974: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_uid_SET’:
../../../../ext/ribbit/ribbit.c:974: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_gid_GET’:
../../../../ext/ribbit/ribbit.c:975: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_gid_SET’:
../../../../ext/ribbit/ribbit.c:975: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_file_size_GET’:
../../../../ext/ribbit/ribbit.c:976: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_file_size_SET’:
../../../../ext/ribbit/ribbit.c:976: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_flags_GET’:
../../../../ext/ribbit/ribbit.c:977: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_flags_SET’:
../../../../ext/ribbit/ribbit.c:977: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_flags_extended_GET’:
../../../../ext/ribbit/ribbit.c:978: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_flags_extended_SET’:
../../../../ext/ribbit/ribbit.c:978: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_oid_GET’:
../../../../ext/ribbit/ribbit.c:985: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_oid_SET’:
../../../../ext/ribbit/ribbit.c:995: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_mtime_GET’:
../../../../ext/ribbit/ribbit.c:1003: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c:1003: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_ctime_GET’:
../../../../ext/ribbit/ribbit.c:1010: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c:1010: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_mtime_SET’:
../../../../ext/ribbit/ribbit.c:1020: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c:1021: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_ctime_SET’:
../../../../ext/ribbit/ribbit.c:1033: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c:1034: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘Init_ribbit’:
../../../../ext/ribbit/ribbit.c:1221: error: ‘GIT_OBJ_ANY’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:5:21: error: git/tag.h: No such file or directory
../../../../ext/ribbit/ribbit.c:12:28: error: git/repository.h: No such file or directory
../../../../ext/ribbit/ribbit.c:15: error: expected ‘)’ before ‘*’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_allocate’:
../../../../ext/ribbit/ribbit.c:76: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:76: error: (Each undeclared identifier is reported only once
../../../../ext/ribbit/ribbit.c:76: error: for each function it appears in.)
../../../../ext/ribbit/ribbit.c:76: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_init’:
../../../../ext/ribbit/ribbit.c:82: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:82: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_index’:
../../../../ext/ribbit/ribbit.c:95: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:95: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:98: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:100: warning: assignment makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_exists’:
../../../../ext/ribbit/ribbit.c:108: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:108: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:112: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:114: warning: assignment makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: At top level:
../../../../ext/ribbit/ribbit.c:120: error: expected ‘)’ before ‘*’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_read’:
../../../../ext/ribbit/ribbit.c:149: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:149: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:153: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_obj_hash’:
../../../../ext/ribbit/ribbit.c:163: error: ‘git_rawobj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:163: error: expected ‘;’ before ‘obj’
../../../../ext/ribbit/ribbit.c:168: error: ‘obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_write’:
../../../../ext/ribbit/ribbit.c:182: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:182: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:184: error: ‘git_rawobj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:184: error: expected ‘;’ before ‘obj’
../../../../ext/ribbit/ribbit.c:189: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:190: warning: assignment makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c:192: error: ‘obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_repo_lookup’:
../../../../ext/ribbit/ribbit.c:207: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:207: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:209: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:209: error: ‘obj’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:215: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:219: error: ‘GIT_OBJ_ANY’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: At top level:
../../../../ext/ribbit/ribbit.c:231: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
../../../../ext/ribbit/ribbit.c:258: error: expected ‘)’ before ‘*’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_allocate’:
../../../../ext/ribbit/ribbit.c:295: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:295: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_equal’:
../../../../ext/ribbit/ribbit.c:301: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:301: error: ‘a’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:301: error: ‘b’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:306: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:307: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:309: warning: passing argument 1 of ‘git_oid_cmp’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c:309: warning: passing argument 2 of ‘git_oid_cmp’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_sha_GET’:
../../../../ext/ribbit/ribbit.c:314: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:314: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:317: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:319: warning: passing argument 2 of ‘git_oid_fmt’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_type_GET’:
../../../../ext/ribbit/ribbit.c:325: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:325: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:326: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_init’:
../../../../ext/ribbit/ribbit.c:333: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:333: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:334: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:334: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:339: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_read_raw’:
../../../../ext/ribbit/ribbit.c:363: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:363: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:364: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_object_write’:
../../../../ext/ribbit/ribbit.c:371: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:371: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:376: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:381: warning: passing argument 2 of ‘git_oid_fmt’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: At top level:
../../../../ext/ribbit/ribbit.c:427: error: expected ‘)’ before ‘*’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_commit_committer_GET’:
../../../../ext/ribbit/ribbit.c:447: error: ‘git_person’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:447: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_commit_author_GET’:
../../../../ext/ribbit/ribbit.c:468: error: ‘git_person’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:468: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_commit_tree_GET’:
../../../../ext/ribbit/ribbit.c:500: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:500: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_commit_tree_SET’:
../../../../ext/ribbit/ribbit.c:509: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:509: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:509: warning: cast to pointer from integer of different size
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_allocate’:
../../../../ext/ribbit/ribbit.c:520: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:520: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_target_GET’:
../../../../ext/ribbit/ribbit.c:531: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:531: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:532: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:534: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:534: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_target_SET’:
../../../../ext/ribbit/ribbit.c:539: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:539: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:540: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:540: error: ‘target’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:541: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:543: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:543: error: ‘GIT_OBJ_ANY’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_target_type_GET’:
../../../../ext/ribbit/ribbit.c:550: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:550: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:551: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_name_GET’:
../../../../ext/ribbit/ribbit.c:558: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:558: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:559: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:561: warning: passing argument 1 of ‘rb_str_new2’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_name_SET’:
../../../../ext/ribbit/ribbit.c:566: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:566: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:567: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_tagger_GET’:
../../../../ext/ribbit/ribbit.c:576: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:576: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:577: error: ‘git_person’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:577: error: ‘person’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:578: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:580: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_tagger_SET’:
../../../../ext/ribbit/ribbit.c:586: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:586: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:587: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_message_GET’:
../../../../ext/ribbit/ribbit.c:599: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:599: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:600: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:602: warning: passing argument 1 of ‘rb_str_new2’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tag_message_SET’:
../../../../ext/ribbit/ribbit.c:607: error: ‘git_tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:607: error: ‘tag’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:608: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_treeentry_allocate’:
../../../../ext/ribbit/ribbit.c:621: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:621: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: At top level:
../../../../ext/ribbit/ribbit.c:630: error: expected ‘)’ before ‘*’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_attributes_GET’:
../../../../ext/ribbit/ribbit.c:645: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:645: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:646: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_attributes_SET’:
../../../../ext/ribbit/ribbit.c:653: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:653: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:654: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_name_GET’:
../../../../ext/ribbit/ribbit.c:663: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:663: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:664: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:666: warning: passing argument 1 of ‘rb_str_new2’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_name_SET’:
../../../../ext/ribbit/ribbit.c:671: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:671: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:672: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_sha_GET’:
../../../../ext/ribbit/ribbit.c:681: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:681: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:683: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:685: warning: passing argument 2 of ‘git_oid_fmt’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_sha_SET’:
../../../../ext/ribbit/ribbit.c:691: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:691: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:693: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_entry_2object’:
../../../../ext/ribbit/ribbit.c:704: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:704: error: ‘tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:705: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:705: error: ‘object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:708: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_tree_get_entry’:
../../../../ext/ribbit/ribbit.c:746: error: ‘git_tree_entry’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:746: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:749: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_allocate’:
../../../../ext/ribbit/ribbit.c:762: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:762: error: ‘walker’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_init’:
../../../../ext/ribbit/ribbit.c:768: error: ‘git_repository’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:768: error: ‘repo’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:769: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:769: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:772: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_next’:
../../../../ext/ribbit/ribbit.c:784: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:784: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:787: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:788: warning: assignment makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c:790: error: ‘git_object’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:790: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_push’:
../../../../ext/ribbit/ribbit.c:795: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:795: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:798: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:799: warning: cast to pointer from integer of different size
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_hide’:
../../../../ext/ribbit/ribbit.c:807: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:807: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:810: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c:811: warning: cast to pointer from integer of different size
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_sorting’:
../../../../ext/ribbit/ribbit.c:819: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:819: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:820: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_walker_reset’:
../../../../ext/ribbit/ribbit.c:827: error: ‘git_revwalk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:827: error: ‘walk’ undeclared (first use in this function)
../../../../ext/ribbit/ribbit.c:828: error: expected expression before ‘)’ token
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_index_init’:
../../../../ext/ribbit/ribbit.c:849: error: too many arguments to function ‘git_index_alloc’
../../../../ext/ribbit/ribbit.c:849: warning: assignment makes integer from pointer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_index_get’:
../../../../ext/ribbit/ribbit.c:897: warning: passing argument 1 of ‘rb_git_indexentry_new’ makes pointer from integer without a cast
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_index_add’:
../../../../ext/ribbit/ribbit.c:930: warning: passing argument 2 of ‘git_index_add’ from incompatible pointer type
../../../../ext/ribbit/ribbit.c:930: error: too few arguments to function ‘git_index_add’
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_allocate’:
../../../../ext/ribbit/ribbit.c:945: error: invalid application of ‘sizeof’ to incomplete type ‘git_index_entry’ 
../../../../ext/ribbit/ribbit.c:946: error: invalid application of ‘sizeof’ to incomplete type ‘git_index_entry’ 
../../../../ext/ribbit/ribbit.c:946: error: invalid application of ‘sizeof’ to incomplete type ‘git_index_entry’ 
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_dev_GET’:
../../../../ext/ribbit/ribbit.c:971: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_dev_SET’:
../../../../ext/ribbit/ribbit.c:971: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_ino_GET’:
../../../../ext/ribbit/ribbit.c:972: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_ino_SET’:
../../../../ext/ribbit/ribbit.c:972: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_mode_GET’:
../../../../ext/ribbit/ribbit.c:973: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_mode_SET’:
../../../../ext/ribbit/ribbit.c:973: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_uid_GET’:
../../../../ext/ribbit/ribbit.c:974: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_uid_SET’:
../../../../ext/ribbit/ribbit.c:974: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_gid_GET’:
../../../../ext/ribbit/ribbit.c:975: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_gid_SET’:
../../../../ext/ribbit/ribbit.c:975: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_file_size_GET’:
../../../../ext/ribbit/ribbit.c:976: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_file_size_SET’:
../../../../ext/ribbit/ribbit.c:976: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_flags_GET’:
../../../../ext/ribbit/ribbit.c:977: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_flags_SET’:
../../../../ext/ribbit/ribbit.c:977: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_flags_extended_GET’:
../../../../ext/ribbit/ribbit.c:978: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_flags_extended_SET’:
../../../../ext/ribbit/ribbit.c:978: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_oid_GET’:
../../../../ext/ribbit/ribbit.c:985: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_oid_SET’:
../../../../ext/ribbit/ribbit.c:995: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_mtime_GET’:
../../../../ext/ribbit/ribbit.c:1003: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c:1003: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_ctime_GET’:
../../../../ext/ribbit/ribbit.c:1010: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c:1010: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_mtime_SET’:
../../../../ext/ribbit/ribbit.c:1020: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c:1021: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘rb_git_indexentry_ctime_SET’:
../../../../ext/ribbit/ribbit.c:1033: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c:1034: error: dereferencing pointer to incomplete type
../../../../ext/ribbit/ribbit.c: In function ‘Init_ribbit’:
../../../../ext/ribbit/ribbit.c:1221: error: ‘GIT_OBJ_ANY’ undeclared (first use in this function)
lipo: can't open input file: /var/folders/mq/mqHhcLIMH6mmUiAJwVxYX++++TI/-Tmp-//ccnIbZG7.out (No such file or directory)
make: *** [ribbit.o] Error 1
rake aborted!
Command failed with status (2): [make...]

Unable to install rugged under Windows 7

I have tried the last few hours to install rugged under windows 7 but failed. Here is the setup:

  • ruby.exe is in the path

  • DevKit is installed and found

  • When I run gem install rugged it fails with the following output:

    C:\apps\ruby\libgit2\build>gem install rugged
    Temporarily enhancing PATH to include DevKit...
    Building native extensions.  This could take a while...
    ERROR:  Error installing rugged:
        ERROR: Failed to build gem native extension.
    ...
    Could not create Makefile due to some reason, probably lack of
    necessary libraries and/or headers.  Check the mkmf.log file for more
    details.  You may need configuration options.
    

In the mentioned mkmf.log, I find the following lines at the end:

"make -f Makefile.embed"
cc -g -I. -Isrc -Iinclude -Ideps/http-parser -Ideps/zlib -DNO_VIZ -DSTDC -DNO_GZIP -D_FILE_OFFSET_BITS=64 -Wall -                Wextra -fPIC -O2   -c -o src/blob.o src/blob.c
make: cc: Command not found
make: *** [src/blob.o] Error 127

What Do I have to do / to install to fix that error for me?

Walker commit sha?

Is there a way to get the commit sha when using walker?

walker.each { |c| puts c.sha |

Rugged gem won't install on MacRuby

When I try to install the Rugged gem using macgem, it won't install. It fails to build the native libraries.

% macruby -v
MacRuby 0.11 (ruby 1.9.2) [universal-darwin10.0, x86_64]

% sudo macgem install rugged
Building native extensions.  This could take a while...
/bin/sh: line 1:  2148 Abort trap: 6           /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/bin/macruby extconf.rb 2>&1
ERROR:  Error installing rugged:
    ERROR: Failed to build gem native extension.

/Library/Frameworks/MacRuby.framework/Versions/0.11/usr/bin/macruby extconf.rb
 -- tar zxvf libgit2-dist.tar.gz
 -- make -f Makefile.embed
checking for main() in -lgit2_embed... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Library/Frameworks/MacRuby.framework/Versions/0.11/usr/bin/macruby
    --with-git2_embedlib
    --without-git2_embedlib
2012-06-16 15:08:05.474 macruby[2148:507] *** Terminating app due to uncaught exception 'SystemExit', reason: '/Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:1986:in `mkmf_failed': *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Library/Frameworks/MacRuby.framework/Versions/0.11/usr/bin/macruby
    --with-git2_embedlib
    --without-git2_embedlib
 (SystemExit)
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:2076:in `block'
'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff8ef7af56 __exceptionPreprocess + 198
    1   libobjc.A.dylib                     0x00007fff8e03ed5e objc_exception_throw + 43
    2   libmacruby.dylib                    0x000000010015144e rb_vm_raise + 430
    3   libmacruby.dylib                    0x00000001000306a9 rb_exc_raise + 9
    4   libmacruby.dylib                    0x00000001000980ea rb_proc_exec_n + 794
    5   libmacruby.dylib                    0x0000000100141424 rb_vm_dispatch + 7828
    6   ???                                 0x0000000101e01994 0x0 + 4326431124
    7   ???                                 0x0000000101e2955f 0x0 + 4326593887
    8   libmacruby.dylib                    0x0000000100141969 rb_vm_dispatch + 9177
    9   ???                                 0x0000000101e01994 0x0 + 4326431124
    10  ???                                 0x0000000101e1d2d8 0x0 + 4326544088
    11  libmacruby.dylib                    0x0000000100142a99 rb_vm_block_eval + 1401
    12  libmacruby.dylib                    0x0000000100156a3a rb_rescue2 + 58
    13  libmacruby.dylib                    0x0000000100030f80 ruby_finalize + 96
    14  libmacruby.dylib                    0x00000001000959c0 rb_exit + 16
    15  macruby                             0x0000000100000d16 main + 182
    16  macruby                             0x0000000100000c54 start + 52
)
terminate called throwing an exception/Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:365:in `try_do': The complier failed to generate an executable file.
You have to install development tools first.
 (RuntimeError)
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:429:in `block'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/tmpdir.rb:91:in `mktmpdir'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:426:in `try_link0'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:440:in `try_link'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:552:in `try_func'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:748:in `block'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:693:in `block'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:280:in `block'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:254:in `open'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:280:in `block'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:254:in `open'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:276:in `postpone'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:692:in `checking_for'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/1.9.2/mkmf.rb:743:in `have_library'
    from /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/Gems/1.9.2/gems/rugged-0.16.0/ext/rugged/extconf.rb:43:in `<main>'


Gem files will remain installed in /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/Gems/1.9.2/gems/rugged-0.16.0 for inspection.
Results logged to /Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/Gems/1.9.2/gems/rugged-0.16.0/ext/rugged/gem_make.out

I'm not sure if MacRuby is supposed to be supported by Rugged, but I thought it was worth to point this out.

Getting the correct encoding with Ruby 1.9.2p180

  1. Failure:
    test_can_read_the_tree_entry_data(#Class:0x00000102819dd8) [test/tree_test.rb:32]:
    <#Encoding:UTF-8> expected but was
    <#Encoding:ASCII-8BIT>.

I have tried this: export LANG=en_US.UTF-8 and recompiling with no luck. Anyone else run into this?

gem broken?

This happens both on 1.9.2 and 1.8.7:

~/Workspace ❷ gem install rugged --verbose
...
Building native extensions.  This could take a while...
/Users/konstantin/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb
checking for main() in -lgit2... no
checking for main() in -lz... yes
creating Makefile

make
make: Nothing to be done for `all'.

make install
make: Nothing to be done for `install'.
Successfully installed rugged-0.1.2
1 gem installed

~/Workspace ❷ irb
ree-1.8.7-2010.02 :001 > require 'rugged'
LoadError: no such file to load -- rugged/rugged
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /Users/konstantin/.rvm/gems/ruby-1.9.2-p136/gems/rugged-0.1.2/lib/rugged.rb:1:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:33:in `require'
    from <internal:lib/rubygems/custom_require>:33:in `rescue in require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from (irb):1
    from /Users/konstantin/.rvm/rubies/ruby-1.9.2-p136/bin/irb:16:in `<main>'

No .git/config file results in Rugged::ConfigError

I just upgraded rugged to the new version, I have about 300,000 repositories, none of which have a .git/config file. I'm now unable to parse any of them with rugged. I had to roll rugged back in order to keep the ability to parse them.

Is a .git/config file required? It certainly wasn't a few months back when I first started using rugged. Since I was going to have so many repositories, I removed as many of the .git files as possible.

%w(config hooks info description branches).each{|f| FileUtils.rm_rf File.join(repo.path, f) } are the files/directories I am removing to save space. I guess I can put some of them back in, I assume there will be a standard template I can put in place, perhaps even symlink it?

But as mentioned, it never used to be a requirement, so this is a relatively new change to rugged.

test failure: test_gets_the_complete_content_if_it_has_nulls

  1. Failure:
    test_gets_the_complete_content_if_it_has_nulls(#Class:0x0000000175e968) [test/blob_test.rb:43]:
    <"100644 example_helper.rb\u0000\xD3\xD5\xED\x9DA4_\xE3\xC3\nK\xCD<!\xEA-\x9E\xDC=40000 examples\u0000\xAE\xCB\xE9d!|\xB9\xA6\x96\u00024],U\xEEԒ"> expected but was
    <"100644 example_helper.rb\x00\xD3\xD5\xED\x9DA4
    \xE3\xC3\nK\xCD<!\xEA-_\x9E\xDC=40000 examples\x00\xAE\xCB\xE9d!|\xB9\xA6\x96\x024],U\xEE\x99\xA2">.

ubuntu 10.10
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]

JRuby Support

SmartGit, a popular Git GUI, is Java based. JRuby support would enable even more cross platform GUIs.

too many arguments to function ‘git_tree_walk’

I'm using libgit2 0.15.0 and trying to compile HEAD version of rugged.
I get some warnings and the following error (in line 128 of rugged_tree.c):

WARNING: 'require 'rake/rdoctask'' is deprecated.  Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
    at /home/conv/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
cd tmp/x86_64-linux/rugged/1.9.3
gmake
compiling ../../../../ext/rugged/rugged_tree.c
../../../../ext/rugged/rugged_tree.c: In function ‘rb_git_tree_walk’:
../../../../ext/rugged/rugged_tree.c:128:2: warning: passing argument 2 of ‘git_tree_walk’ from incompatible pointer type [enabled by default]
/home/conv/Projects/System/rugged/ext/rugged/vendor/libgit2-libgit2-b0b2dd5/include/git2/tree.h:313:17: note: expected ‘git_treewalk_cb’ but argument is of type ‘int (*)(const char *, struct git_tree_entry *, void *)’
../../../../ext/rugged/rugged_tree.c:128:2: error: too many arguments to function ‘git_tree_walk’
/home/conv/Projects/System/rugged/ext/rugged/vendor/libgit2-libgit2-b0b2dd5/include/git2/tree.h:313:17: note: declared here
../../../../ext/rugged/rugged_tree.c: In function ‘rb_git_tree_subtree’:
../../../../ext/rugged/rugged_tree.c:145:2: warning: implicit declaration of function ‘git_tree_get_subtree’ [-Wimplicit-function-declaration]
gmake: *** [rugged_tree.o] Error 1
rake aborted!
Command failed with status (2): [gmake...]

Tasks: TOP => compile => compile:x86_64-linux => compile:rugged:x86_64-linux => copy:rugged:x86_64-linux:1.9.3 => tmp/x86_64-linux/rugged/1.9.3/rugged.so
(See full trace by running task with --trace)

(I'm not really a C guy, so I can just report this and help testing, if needed. :()

Rugged tree lookup fails with IndexerError 'Failed to parse tree. Can't parse filemode'

In tracking down a haystack needle I found a case where Rugged (using version 0.17.0b7) throws an exception attempting to lookup a tree that seems to exist, while having no problems with a lookup on a similar tree that seems to have the same filemode:

>> c
=> #<Rugged::Commit:2175487900 {message: "Lista de exercicios\n", tree: #<Rugged::Tree:2175413500 {oid: af4f454f39ccf00fbd3aedad4eef6bec486a54f4}>
  <".gitignore" 5bb5fb96f41cb363d29f684742a989a19a47f84b>
  <"README.txt" 8474d965011aba57aca368884671aa4c7f8d352f>
  <"SistemaAutoria" 0810fb7818088ff5ac41ee49199b51473b1bd6c7>
  <"SistemaAutoria_UI" b80bcf5e6d420a596b0bd57324929ca90db0ebc0>
  <"SistemaInterpretacao" 4e74669a70ed37fc47f21db6b842844822d7b413>
, parents: be31e81643a75a9d024eb5ecf2a1d656bff90830>
>> c.tree[2]
=> {:type=>:tree, :filemode=>16384, :oid=>"0810fb7818088ff5ac41ee49199b51473b1bd6c7", :name=>"SistemaAutoria"}
>> c.tree[3]
=> {:type=>:tree, :filemode=>16384, :oid=>"b80bcf5e6d420a596b0bd57324929ca90db0ebc0", :name=>"SistemaAutoria_UI"}
>> rug.lookup c.tree[2][:oid]
Rugged::IndexerError: Failed to parse tree. Can't parse filemode
    from /Users/github/dev/slumlord/vendor/gems/ruby/1.8/gems/rugged-0.17.0.b7/lib/rugged/repository.rb:47:in `lookup'
    from /Users/github/dev/slumlord/vendor/gems/ruby/1.8/gems/rugged-0.17.0.b7/lib/rugged/repository.rb:47:in `lookup'
    from (irb):19
>> rug.lookup c.tree[3][:oid]
=> #<Rugged::Tree:2175383700 {oid: b80bcf5e6d420a596b0bd57324929ca90db0ebc0}>
  <".classpath" 5c26027fcb34c30390eb3b7d75931e01b9208e98>
  <".project" fb56db7c5d4a060d7c4e36662f08ff2bdcb6e746>
  <".settings" 8980f3cac083576ed5182edf61bdb9ed7e019c24>
  <"English.xml" 44e10caececa143e868635355496e74f094f4679>
  <"Lista de Progamação Linguagem C.xml" 2edc4a5302c3a7ef1dd1df05ae8cb6c44a2d9e75>
  <"Portugues.xml" d1fc623bf1c5c5485f751e5f9437fd5f5359f762>
  <"User.xml" 2404191fff4ba2c4d9904146c9fcc4911df67202>
  <"beansbinding-1.2.1.jar" c33b81edd37f9f5190279e9a19041d4adec412dc>
  <"imagens" 39537d4e68e59ccb618942d5ee7b84d726498d9a>
  <"src" c06b81e9380a337bf8a13c18e6e0f4d39d8ca588>
  <"test" dc437fdc4d7fa3272b46b657e5002392fdad9e80>

Using the git command line to look up the problematic tree seems to work fine:

github@nictocat ~/dev/slummin_repos/BrOrlandi/LECA.git> git show 0810fb7818088ff5ac41ee49199b51473b1bd6c7
tree 0810fb7818088ff5ac41ee49199b51473b1bd6c7

.classpath
.project
.settings/
ListaC.xml
ListaTeste.xml
QuestionTest.xml
User.xml
src/
test/
xstream-1.4.2.jar

Reference.lookup should be kinder about missing refs

Currently if you try to lookup a ref that doesnt exist it raises a generic RuntimeError

ruby-1.9.2-p290 :003 > Rugged::Reference.lookup(repo, "refs/heads/blah")
RuntimeError: Failed to lookup reference 
    - Reference not found
(error code -3)
    from (irb):3:in `lookup'
    from (irb):3
    from /Users/aaronquint/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>'

This is problematic as 1) it makes it hard to rescue safely and 2) theres no way to cleanly check for the existence of a ref.

Talking to @brianmario, there are a couple ways to approach:

  • Raise a specific error class like Rugged::RefNotFound or similar
  • Add an Rugged::Reference.exists(repo, ref) method that always returns a boolean
  • Make .lookup() return nil if the reference isn't found

fails tests, but builds fine, wtf?

crow:rugged john$ rake compile
(in /Users/john/ruby/play/rugged)
/Users/john/ruby/play/rugged/Rakefile:24: warning: Insecure world writable dir /Applications/MacPorts/Emacs.app/Contents in PATH, mode 040777
sh: line 0: type: kicker: not found
sh: line 0: type: ronn: not found
mg not available.
Install it with: gem i mg
mkdir -p tmp/x86_64-darwin10.7.0/rugged/1.9.2
cd tmp/x86_64-darwin10.7.0/rugged/1.9.2
/Users/john/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -I. ../../../../ext/rugged/extconf.rb
checking for main() in -lgit2... yes
checking for main() in -lz... yes
creating Makefile
cd -
cd tmp/x86_64-darwin10.7.0/rugged/1.9.2
make
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged.o -c ../../../../ext/rugged/rugged.c
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged_backend.o -c ../../../../ext/rugged/rugged_backend.c
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged_blob.o -c ../../../../ext/rugged/rugged_blob.c
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged_commit.o -c ../../../../ext/rugged/rugged_commit.c
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged_index.o -c ../../../../ext/rugged/rugged_index.c
../../../../ext/rugged/rugged_index.c: In function ‘rb_git_indexentry__free’:
../../../../ext/rugged/rugged_index.c:199: warning: passing argument 1 of ‘free’ discards qualifiers from pointer target type
../../../../ext/rugged/rugged_index.c: In function ‘rb_git_indexentry_path_SET’:
../../../../ext/rugged/rugged_index.c:308: warning: passing argument 1 of ‘free’ discards qualifiers from pointer target type
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged_object.o -c ../../../../ext/rugged/rugged_object.c
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged_reference.o -c ../../../../ext/rugged/rugged_reference.c
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged_repo.o -c ../../../../ext/rugged/rugged_repo.c
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged_revwalk.o -c ../../../../ext/rugged/rugged_revwalk.c
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged_signature.o -c ../../../../ext/rugged/rugged_signature.c
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged_tag.o -c ../../../../ext/rugged/rugged_tag.c
gcc -I. -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/x86_64-darwin10.7.0 -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1/ruby/backward -I/Users/john/.rvm/rubies/ruby-1.9.2-p180/include/ruby-1.9.1 -I../../../../ext/rugged -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -o rugged_tree.o -c ../../../../ext/rugged/rugged_tree.c
../../../../ext/rugged/rugged_tree.c: In function ‘rb_git_tree_get_entry’:
../../../../ext/rugged/rugged_tree.c:109: warning: passing argument 2 of ‘rb_git_createentry’ discards qualifiers from pointer target type
../../../../ext/rugged/rugged_tree.c:112: warning: passing argument 2 of ‘rb_git_createentry’ discards qualifiers from pointer target type
gcc -dynamic -bundle -o rugged.bundle rugged.o rugged_backend.o rugged_blob.o rugged_commit.o rugged_index.o rugged_object.o rugged_reference.o rugged_repo.o rugged_revwalk.o rugged_signature.o rugged_tag.o rugged_tree.o -L. -L/Users/john/.rvm/rubies/ruby-1.9.2-p180/lib -L. -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace -lruby.1.9.1 -lz -lgit2 -lpthread -ldl -lobjc
cd -
install -c tmp/x86_64-darwin10.7.0/rugged/1.9.2/rugged.bundle lib/rugged/rugged.bundle
crow:rugged john$ rake test
(in /Users/john/ruby/play/rugged)
/Users/john/ruby/play/rugged/Rakefile:24: warning: Insecure world writable dir /Applications/MacPorts/Emacs.app/Contents in PATH, mode 040777
sh: line 0: type: kicker: not found
sh: line 0: type: ronn: not found
mg not available.
Install it with: gem i mg
Loaded suite /Users/john/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
dyld: lazy symbol binding failed: Symbol not found: _git_oid_mkstr
Referenced from: /Users/john/ruby/play/rugged/lib/rugged/rugged.bundle
Expected in: flat namespace

dyld: Symbol not found: _git_oid_mkstr
Referenced from: /Users/john/ruby/play/rugged/lib/rugged/rugged.bundle
Expected in: flat namespace

rake aborted!
Command failed with status (): [/Users/john/.rvm/rubies/ruby-1.9.2-p180/bi...]

Ref lookup fails if file in refs/heads has no newline

Using 0.16.0, I'm seeing this:

>> File.read("#{@rugged.path}/refs/heads/master")
=> "0cbbd95d6fc7c1258d32ef9de7c1c2bc9d82e37f"
>> Rugged::Reference.lookup( @rugged, 'refs/heads/master')
RuntimeError: Failed to lookup reference 
    - Failed to lookup reference 
    - Failed to lookup reference from packfile
(error code -28)
    from (irb):8:in `lookup'
    from (irb):8

If I add a newline to the end of the refs/heads/master file, it works:

>> File.read("#{@rugged.path}/refs/heads/master")
=> "0cbbd95d6fc7c1258d32ef9de7c1c2bc9d82e37f\n"
>> Rugged::Reference.lookup( @rugged, 'refs/heads/master')
=> #<Rugged::Reference:0x101745e08>

Some repo refs begin with a slash, and some don't

Rugged v0.16 / Ruby v1.8.7

The refs listed in Rugged::Repository.refs are not uniform. Example: print a list of refs

require 'rubygems'
require 'rugged'
repo = Rugged::Repository.new(File.expand_path('~/git/rugged'))
repo.refs.each{|r| puts r}

This prints a list like

refs/remotes/origin/development
refs/tags/v0.1.0
refs/tags/v0.16.0
refs/remotes/origin/remotes-wip
refs/remotes/origin/tomdoc
refs/tags/v0.2.0
refs/remotes/origin/master
/refs/remotes/origin/HEAD
/refs/heads/development

where the last two refs have leading slashes, and the rest don't.

It would be nicer to have them all in the same format.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.