Permalink
Commits on Jan 13, 2011
  1. Release 2.4.1

    technoweenie committed Jan 13, 2011
  2. mark this day in history

    technoweenie committed Jan 13, 2011
  3. add tests for git patching

    technoweenie committed Jan 13, 2011
Commits on Jan 7, 2011
  1. Release 2.4.0

    committed Jan 7, 2011
Commits on Jan 6, 2011
  1. v2.3.2

    schacon committed Jan 6, 2011
Commits on Dec 23, 2010
Commits on Dec 21, 2010
Commits on Dec 20, 2010
  1. fix bad signal arity

    rtomayko committed Dec 20, 2010
Commits on Dec 19, 2010
  1. refactor new exec logic into Grit::Process class

    Pretty awesome. And the select(2) based implementation will fix a
    long-standing bug where the grit process will hang when a git
    process writes more than PIPE_BUF bytes to stderr or when the input
    written to the git process's stdin exceeds PIPE_BUF. The old popen3
    based logic writes all of stdin, then reads all of stdout, then
    reads all of stderr so everything except stdout had to come in under
    PIPE_BUF. This hasn't been much of an issue but is critical to our
    plans on using `git cat-file --batch' and writing a bunch of SHA1s
    on stdin.
    
    Also moving toward using a common spawn method interface that's a
    compatible subset of the Process.spawn method built into Ruby >=
    1.9.1. The hope is that most non-MRI platforms will eventually
    support Process.spawn out of the box and the ones that don't have
    backports.
    rtomayko committed Dec 19, 2010
  2. Repo#batch uses new input option instead of block

    This is mostly so it works over RPC.
    rtomayko committed Dec 19, 2010
Commits on Dec 15, 2010
Commits on Dec 12, 2010
Commits on Dec 10, 2010
Commits on Dec 9, 2010
  1. avoid /bin/sh + escaping; exec git commands directly

    This removes some overhead from all native git calls in the
    following ways:
    
     - Removes a fork previously performed by Open3, which double
       forks to avoid needing to Process::wait.
     - Removes the need to shell escape arguments, since the git
       process's argv is passed explicitly as an array.
     - Removes the /bin/sh process (1 fork/exec)
    
    Additionally, these changes allow obtaining the git process's exit
    status, available as $? after any native git command invocations.
    rtomayko committed Dec 9, 2010
  2. locate git_binary on PATH at boot

    Avoids starting a /bin/sh and /usr/bin/env process on each
    native command invocation, and will allow exec'ing the
    command directly.
    rtomayko committed Dec 9, 2010