add GET search alias, put last query qery in input field

This commit is contained in:
Ilia Kondrashov
2013-04-26 22:01:17 +04:00
parent 9be8cbf4c1
commit c897090812
3 changed files with 12 additions and 2 deletions

View File

@@ -12,6 +12,15 @@ class CommitController implements ControllerProviderInterface
{
$route = $app['controllers_factory'];
$route->get('{repo}/commits/search', function (Request $request, $repo) use ($app) {
$subRequest = Request::create(
'/' . $repo . '/commits/master/search',
'POST',
array('query' => $request->get('query'))
);
return $app->handle($subRequest, \Symfony\Component\HttpKernel\HttpKernelInterface::SUB_REQUEST);
})->assert('repo', $app['util.routing']->getRepositoryRegex());
$route->get('{repo}/commits/{commitishPath}', function ($repo, $commitishPath) use ($app) {
$repository = $app['git']->getRepository($app['git.repos'], $repo);

View File

@@ -241,6 +241,7 @@ class Repository extends BaseRepository
public function searchCommitLog($query)
{
$query = escapeshellarg($query);
$query = strtr($query, array('[' => '\\[', ']' => '\\]'));
$command =
"log --grep={$query} --pretty=format:\"<item><hash>%H</hash>"
. "<short_hash>%h</short_hash><tree>%T</tree><parent>%P</parent>"

View File

@@ -8,11 +8,11 @@
<div class="span12">
{% if page in ['commits', 'searchcommits'] %}
<form class="form-search pull-right" action="{{ app.request.basepath }}/{{repo}}/commits/{{branch}}/search" method="POST">
<input type="text" name="query" class="input-medium search-query" placeholder="Search commits...">
<input type="text" name="query" class="input-medium search-query" placeholder="Search commits..." value="{{ query }}">
</form>
{% else %}
<form class="form-search pull-right" action="{{ app.request.basepath }}/{{repo}}/tree/{{branch}}/search" method="POST">
<input type="text" name="query" class="input-medium search-query" placeholder="Search tree...">
<input type="text" name="query" class="input-medium search-query" placeholder="Search tree..." value="{{ query }}">
</form>
{% endif %}