From: Dan Brook Date: Sat, 6 Mar 2010 18:51:10 +0000 (+0000) Subject: Provided support for blob_plain legacy URIs. X-Git-Tag: 0.000006_01~1^2~5^2~5 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FGitalist.git;a=commitdiff_plain;h=4a3445c14a454213b525eee1bd5d3654b4644e0e Provided support for blob_plain legacy URIs. --- diff --git a/lib/Gitalist/Controller/LegacyURI.pm b/lib/Gitalist/Controller/LegacyURI.pm index 6ee20ed..a272406 100644 --- a/lib/Gitalist/Controller/LegacyURI.pm +++ b/lib/Gitalist/Controller/LegacyURI.pm @@ -17,6 +17,11 @@ my %LEGACY_DISPATCH = ( my $ref = $c->req->param('hb') || $c->req->param('h'); return '/ref/blob', [$repos, $ref], $c->req->param('f'); }, + blob_plain => sub { + my($c, $action, $repos) = @_; + my $ref = $c->req->param('hb') || $c->req->param('h'); + return '/ref/raw', [$repos, $ref], $c->req->param('f'); + }, ); sub _legacy_uri { diff --git a/lib/Gitalist/URIStructure/Ref.pm b/lib/Gitalist/URIStructure/Ref.pm index 13da60d..e570797 100644 --- a/lib/Gitalist/URIStructure/Ref.pm +++ b/lib/Gitalist/URIStructure/Ref.pm @@ -47,8 +47,8 @@ sub find_blob : Action { my($repo, $object) = @{$c->{stash}}{qw(Repository Commit)}; # FIXME - Eugh! my $h = $object->isa('Gitalist::Git::Object::Commit') - ? $repo->hash_by_path($object->sha1, $c->stash->{filename}) - : $object->isa('Gitalist::Git::Object::Blob') + ? $repo->hash_by_path($object->sha1, $c->stash->{filename}) + : $object->isa('Gitalist::Git::Object::Blob') ? $object->sha1 : die "Unknown object type for '${\$object->sha1}'"; die "No file or sha1 provided." diff --git a/t/03legacy_uri.t b/t/03legacy_uri.t index f9ed349..0319759 100644 --- a/t/03legacy_uri.t +++ b/t/03legacy_uri.t @@ -51,10 +51,6 @@ test('/', 'a=blob;f=file1;hb=3bc0634310b9c62222bb0e724c11ffdfb297b4ac'); test('/', 'a=blob;f=file1;hb=3f7567c7bdf7e7ebf410926493b92d398333116e'); -{ - - local $TODO = 'FIXME'; - test('/', 'a=blob_plain;f=dir1/file2;hb=36c6c6708b8360d7023e8a1649c45bcf9b3bd818'); test('/', 'a=blob_plain;f=dir1/file2;hb=HEAD'); test('/', 'a=blob_plain;f=dir1/file2;hb=master'); @@ -66,6 +62,11 @@ test('/', 'a=blob_plain;f=file1;hb=HEAD'); test('/', 'a=blob_plain;f=file1;hb=master'); test('/', 'a=blob_plain;f=file1;hb=refs/heads/master'); + +{ + + local $TODO = 'FIXME'; + test('/', 'a=blobdiff;f=file1;h=5716ca5987cbf97d6bb54920bea6adde242d87e6;hp=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=36c6c6708b8360d7023e8a1649c45bcf9b3bd818;hpb=3bc0634310b9c62222bb0e724c11ffdfb297b4ac'); test('/', 'a=blobdiff;f=file1;h=5716ca5987cbf97d6bb54920bea6adde242d87e6;hp=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=3f7567c7bdf7e7ebf410926493b92d398333116e;hpb=3bc0634310b9c62222bb0e724c11ffdfb297b4ac'); test('/', 'a=blobdiff;f=file1;h=5716ca5987cbf97d6bb54920bea6adde242d87e6;hp=257cc5642cb1a054f08cc83f2d943e56fd3ebe99;hb=HEAD;hpb=3bc0634310b9c62222bb0e724c11ffdfb297b4ac');