Simulate 'git show' when a single version is posted from /history/ (#1543)
This commit is contained in:
+11
-1
@@ -462,7 +462,17 @@ module Precious
|
|||||||
post '/compare/*' do
|
post '/compare/*' do
|
||||||
@file = clean_url(encodeURIComponent(params[:splat].first))
|
@file = clean_url(encodeURIComponent(params[:splat].first))
|
||||||
@versions = params[:versions] || []
|
@versions = params[:versions] || []
|
||||||
if @versions.size < 2
|
if @versions.size == 1
|
||||||
|
wikip = wiki_page(params[:splat].first)
|
||||||
|
commit = wikip.wiki.repo.commit(@versions.first)
|
||||||
|
parent = commit.parent
|
||||||
|
if parent.nil?
|
||||||
|
redirect to("#{@file}/#{@commit.id}")
|
||||||
|
else
|
||||||
|
@versions.push(parent.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if @versions.empty?
|
||||||
redirect to("gollum/history/#{@file}")
|
redirect to("gollum/history/#{@file}")
|
||||||
else
|
else
|
||||||
redirect to("gollum/compare/%s/%s...%s" % [
|
redirect to("gollum/compare/%s/%s...%s" % [
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{"files":{"app-3360f8faf2f9cd3020463278cdb5512b0109241647bbf55407e64ea11759572d.js":{"logical_path":"app.js","mtime":"2020-04-04T20:59:05+09:00","size":136035,"digest":"3360f8faf2f9cd3020463278cdb5512b0109241647bbf55407e64ea11759572d","integrity":"sha256-M2D4+vL5zTAgRjJ4zbVRKwEJJBZHu/VUB+ZOoRdZVy0="},"editor-0dbae28c53db5a73d666d30504946671eb09948ffdaf1fdd9d1c8d856d4c0ba1.js":{"logical_path":"editor.js","mtime":"2020-03-28T01:31:47+09:00","size":746117,"digest":"0dbae28c53db5a73d666d30504946671eb09948ffdaf1fdd9d1c8d856d4c0ba1","integrity":"sha256-DbrijFPbWnPWZtMFBJRmcesJlI/9rx/dnRyNhW1MC6E="},"app-b205e593a30f1cc0054e2e9ed9fc8af3658d8ef4a62b9708c20f204560deefb7.css":{"logical_path":"app.css","mtime":"2020-03-31T00:56:04+09:00","size":298111,"digest":"b205e593a30f1cc0054e2e9ed9fc8af3658d8ef4a62b9708c20f204560deefb7","integrity":"sha256-sgXlk6MPHMAFTi6e2fyK82WNjvSmK5cIwg8gRWDe77c="},"criticmarkup-31ae5d3282bbb8e7b7c3c9917e9fb68e3315a6b4a75da6cec48d21b8846905c4.css":{"logical_path":"criticmarkup.css","mtime":"2020-03-27T20:02:13+09:00","size":646,"digest":"31ae5d3282bbb8e7b7c3c9917e9fb68e3315a6b4a75da6cec48d21b8846905c4","integrity":"sha256-Ma5dMoK7uOe3w8mRfp+2jjMVprSnXabOxI0huIRpBcQ="},"print-512498c368be0d3fb1ba105dfa84289ae48380ec9fcbef948bd4e23b0b095bfb.css":{"logical_path":"print.css","mtime":"2020-03-31T00:56:04+09:00","size":75,"digest":"512498c368be0d3fb1ba105dfa84289ae48380ec9fcbef948bd4e23b0b095bfb","integrity":"sha256-USSYw2i+DT+xuhBd+oQomuSDgOyfy++Ui9TiOwsJW/s="}},"assets":{"app.js":"app-3360f8faf2f9cd3020463278cdb5512b0109241647bbf55407e64ea11759572d.js","editor.js":"editor-0dbae28c53db5a73d666d30504946671eb09948ffdaf1fdd9d1c8d856d4c0ba1.js","app.css":"app-b205e593a30f1cc0054e2e9ed9fc8af3658d8ef4a62b9708c20f204560deefb7.css","criticmarkup.css":"criticmarkup-31ae5d3282bbb8e7b7c3c9917e9fb68e3315a6b4a75da6cec48d21b8846905c4.css","print.css":"print-512498c368be0d3fb1ba105dfa84289ae48380ec9fcbef948bd4e23b0b095bfb.css"}}
|
||||||
+5
File diff suppressed because one or more lines are too long
BIN
Binary file not shown.
@@ -486,12 +486,13 @@ $(document).ready(function() {
|
|||||||
}
|
}
|
||||||
numSelected = numSelected + 1;
|
numSelected = numSelected + 1;
|
||||||
});
|
});
|
||||||
if (numSelected == maxSelected) {
|
if (numSelected < 1) {
|
||||||
$('#version-form input:not(:checked)').prop('disabled', true);
|
|
||||||
$('.history button.action-compare-revision').prop('disabled', false);
|
|
||||||
} else if (numSelected < maxSelected) {
|
|
||||||
$('#version-form input').prop('disabled', false);
|
|
||||||
$('.history button.action-compare-revision').prop('disabled', true);
|
$('.history button.action-compare-revision').prop('disabled', true);
|
||||||
|
} else if (numSelected < maxSelected) {
|
||||||
|
$('.history button.action-compare-revision').prop('disabled', false);
|
||||||
|
$('#version-form input').prop('disabled', false);
|
||||||
|
} else {
|
||||||
|
$('#version-form input:not(:checked)').prop('disabled', true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+6
-1
@@ -965,10 +965,15 @@ context 'Frontend with base path' do
|
|||||||
post '/wiki/gollum/compare/Bilbo-Baggins.md', :versions => ['f25eccd98e9b667f9e22946f3e2f945378b8a72d']
|
post '/wiki/gollum/compare/Bilbo-Baggins.md', :versions => ['f25eccd98e9b667f9e22946f3e2f945378b8a72d']
|
||||||
follow_redirect!
|
follow_redirect!
|
||||||
assert last_response.ok?
|
assert last_response.ok?
|
||||||
|
assert_equal '/wiki/gollum/compare/Bilbo-Baggins.md/b0d108328459e44fff4a76cd19b10ddc34adce4b...f25eccd98e9b667f9e22946f3e2f945378b8a72d', last_request.fullpath
|
||||||
|
|
||||||
|
post '/wiki/gollum/compare/Bilbo-Baggins.md', :versions => []
|
||||||
|
follow_redirect!
|
||||||
|
assert last_response.ok?
|
||||||
assert_equal '/wiki/gollum/history/Bilbo-Baggins.md', last_request.fullpath
|
assert_equal '/wiki/gollum/history/Bilbo-Baggins.md', last_request.fullpath
|
||||||
end
|
end
|
||||||
|
|
||||||
def app
|
def app
|
||||||
Precious::MapGollum.new(@base_path)
|
Precious::MapGollum.new(@base_path)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user