- Jan 13, 2011
- Jan 07, 2011
-
- Jan 06, 2011
-
-
Scott Chacon authored
-
Scott Chacon authored
-
- Dec 23, 2010
-
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
- Dec 21, 2010
-
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
- Dec 20, 2010
-
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
- Dec 19, 2010
-
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
Ryan Tomayko authored
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.
-
Ryan Tomayko authored
-
Ryan Tomayko authored
This is mostly so it works over RPC.
-
Ryan Tomayko authored
-
- Dec 15, 2010
-
-
Ryan Tomayko authored
-
- Dec 12, 2010
-
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
- Dec 10, 2010
-
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
- Dec 09, 2010
-
-
Ryan Tomayko authored
-
Ryan Tomayko authored
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.
-
Ryan Tomayko authored
Avoids starting a /bin/sh and /usr/bin/env process on each native command invocation, and will allow exec'ing the command directly.
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
Ryan Tomayko authored
-
rick authored
-
- Nov 24, 2010
-
-
Ryan Tomayko authored
Relative paths in a <repo>.git/objects/info/alternates file are to be expanded relative to the <repo>.git/objects directory. Previously, they were expanded relative to the <repo>.git directory. The current code checks in both locations for backward compatibility with grit <= 2.3.0 but I'd rather rip it out completely.