-
Notifications
You must be signed in to change notification settings - Fork 514
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Execute native git commands directly #48
Merged
Merged
Commits on Dec 9, 2010
-
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.
Configuration menu - View commit details
-
Copy full SHA for 2296c23 - Browse repository at this point
Copy the full SHA 2296c23View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 1cfcc1b - Browse repository at this point
Copy the full SHA 1cfcc1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ce31d0d - Browse repository at this point
Copy the full SHA ce31d0dView commit details
Commits on Dec 10, 2010
-
Configuration menu - View commit details
-
Copy full SHA for 96f604c - Browse repository at this point
Copy the full SHA 96f604cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 889adf5 - Browse repository at this point
Copy the full SHA 889adf5View commit details
Commits on Dec 12, 2010
-
Configuration menu - View commit details
-
Copy full SHA for f955066 - Browse repository at this point
Copy the full SHA f955066View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f4efb2 - Browse repository at this point
Copy the full SHA 3f4efb2View commit details
Commits on Dec 15, 2010
-
Configuration menu - View commit details
-
Copy full SHA for a3d63a6 - Browse repository at this point
Copy the full SHA a3d63a6View commit details
Commits on Dec 19, 2010
-
Configuration menu - View commit details
-
Copy full SHA for 2fb7d5d - Browse repository at this point
Copy the full SHA 2fb7d5dView commit details -
Repo#batch uses new input option instead of block
This is mostly so it works over RPC.
Configuration menu - View commit details
-
Copy full SHA for df91441 - Browse repository at this point
Copy the full SHA df91441View commit details -
Configuration menu - View commit details
-
Copy full SHA for c8306fe - Browse repository at this point
Copy the full SHA c8306feView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 2854f04 - Browse repository at this point
Copy the full SHA 2854f04View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a9b7f4 - Browse repository at this point
Copy the full SHA 6a9b7f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 00da68d - Browse repository at this point
Copy the full SHA 00da68dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 95efc13 - Browse repository at this point
Copy the full SHA 95efc13View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7dd3d35 - Browse repository at this point
Copy the full SHA 7dd3d35View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b98a12 - Browse repository at this point
Copy the full SHA 0b98a12View commit details
Commits on Dec 20, 2010
-
Configuration menu - View commit details
-
Copy full SHA for b43357b - Browse repository at this point
Copy the full SHA b43357bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5cdf67c - Browse repository at this point
Copy the full SHA 5cdf67cView commit details
Commits on Dec 21, 2010
-
Configuration menu - View commit details
-
Copy full SHA for 3ed77eb - Browse repository at this point
Copy the full SHA 3ed77ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for aa0e169 - Browse repository at this point
Copy the full SHA aa0e169View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.