- #header#
- <title>#repo|escape#: pushlog</title>
- <link rel="alternate" type="application/atom+xml"
- href="{url}pushlog" title="Atom feed for #repo|escape# pushlog"/>
- <style type="text/css">
- #localize {
- font-size: x-small;
- }
- html {
- overflow: scroll; overflow-x: auto;
- }
- </style>
- <script type="text/javascript" src="{staticurl}jquery-1.2.6.min.js"></script>
- <script type="text/javascript">// <![CDATA
- function localizeDates()
- {
- var dates = document.getElementsByClassName("date");
- for (var i=0; i<dates.length; i++) {
- dates[i].textContent = new Date(dates[i].textContent).toLocaleString();
- }
- document.getElementById("localize").style.display = 'none';
- return false;
- }
- var start;
- function setup()
- {
- if ('getElementsByClassName' in document) {
- var l = document.getElementById("localize");
- l.style.display = "";
- l.onclick = localizeDates;
- start = 0;
- getMaxEntries();
- var docHeight = document.body.clientHeight;
- while(docHeight <= window.innerHeight) {
- if(start > 0) {
- renderMorePushLogResults();
- docHeight += 500;
- }
- }
- }
- }
- // ]]>
- function getMaxEntries() {
- var entries = new XMLHttpRequest();
- var max = 0;
- entries.open('GET', '/json-pushes?startID=0&endID=5', true);
- entries.onreadystatechange = function() {
- if(entries.readyState == 4) {
- if(entries.status != 404) {
- var entryData = new Function("return " + entries.responseText) ();
- max = entryData[1].max;
- start = max - 20;
- }
- }
- else
- return 0;
- }
- entries.send(null);
- }
- function renderMorePushLogResults() {
- var end = start;
- start = start - 20
- var pushCheckins = new XMLHttpRequest();
- pushCheckins.open('GET', '/json-pushes?startID=' + start + '&endID=' + end, true);
- pushCheckins.onreadystatechange = function() {
- if(pushCheckins.readyState == 4) {
- if(pushCheckins.status != 404) {
- var loader = document.getElementById("loader");
- loader.innerHTML = '<img src="{url}static/ajax-loader.gif" align="right" />';
- var pushData = new Function("return " + pushCheckins.responseText) ();
- var counter = 0;
- for(var i = end; i > start; i--) {
- var trScroll = document.createElement("tr");
- if(counter == 0) {
- trScroll.className = "parity0";
- counter = 1;
- } else {
- counter = 0;
- trScroll.className = "parity1";
- }
- var tdScrollUser = document.createElement("td");
- tdScrollUser.width = "184px";
- tdScrollUser.innerHTML += pushData[i].user + '<br />' + pushData[i].formattedDate;
- //Create changset link
- var tdScrollChangeset = document.createElement("td");
- tdScrollChangeset.innerHTML +=
- '<a href=\"/rev/' +
- pushData[i].individualChangeset.substring(0, 12) +
- '\">' +
- pushData[i].individualChangeset.substring(0, 12) +
- '</a>';
- //Create buglink
- var bugInDesc = (pushData[i].desc).toLowerCase().indexOf("bug");
- if(bugInDesc != -1) {
- var bugLinkName = (pushData[i].desc).substring(bugInDesc, bugInDesc + 10);
- var bugNumber = bugLinkName.substring(4, 10);
- var bugLink =
- (pushData[i].desc).substring(0, bugInDesc) +
- '<a href=\"https://bugzilla.mozilla.org/show_bug.cgi?id=' +
- bugNumber +
- '\">' +
- bugLinkName +
- '</a>' +
- (pushData[i].desc).substring(bugInDesc + 10, (pushData[i].desc).length);
- } else { //No bug provided
- var bugLink = pushData[i].desc;
- }
- var tdScrollAuthorDesc = document.createElement("td");
- tdScrollAuthorDesc.innerHTML += '<strong>' + pushData[i].author + ' &mdash ' + bugLink + '</strong>';
- trScroll.appendChild(tdScrollUser);
- trScroll.appendChild(tdScrollChangeset);
- trScroll.appendChild(tdScrollAuthorDesc);
- loader.innerHTML = "";
- document.getElementById("titlePush").appendChild(trScroll);
- //Check whether it is a merge changeset or not
- if(pushData[i].MergeData != []) {
- for(var j = 0; j < pushData[i].mergeData.length; j++) {
- if(pushData[i].mergeData[j] != "") {
- var mergeStr = pushData[i].mergeData[j];
- for(var k = 0; k < pushData[i].mergeData[j].length; k++) {
- var actualMergeStr = mergeStr[k].split('|-|');
- var mergeC = actualMergeStr[0];
- var mergeUser = actualMergeStr[1];
- var mergeDesc = actualMergeStr[2];
- if(mergeDesc != pushData[i].desc) {
- var trScrollMerge = document.createElement("tr");
- trScrollMerge.style.backgroundColor = trScroll.style.backgroundColor;
- var tdScroll_MergeUser = document.createElement("td");
- tdScroll_MergeUser.width = "184px";
- //Create changset link
- var tdScroll_MergeC = document.createElement("td");
- tdScroll_MergeC.innerHTML +=
- '<a href=\"/rev/' +
- mergeC.substring(0, 12) +
- '\">' +
- mergeC.substring(0, 12) +
- '</a>';
- //Create buglink
- var merge_bugInDesc = mergeDesc.toLowerCase().indexOf("bug");
- if(merge_bugInDesc != -1) {
- var merge_bugLinkName = mergeDesc.substring(merge_bugInDesc, merge_bugInDesc + 10);
- var merge_bugNumber = merge_bugLinkName.substring(4, 10);
- var merge_bugLink =
- mergeDesc.substring(0, merge_bugInDesc) +
- '<a href=\"https://bugzilla.mozilla.org/show_bug.cgi?id=' +
- merge_bugNumber +
- '\">' +
- merge_bugLinkName +
- '</a>' +
- mergeDesc.substring(merge_bugInDesc + 10, mergeDesc.length);
- } else { //No bug provided
- var merge_bugLink = mergeDesc;
- }
- var tdScroll_MergeAuthorDesc = document.createElement("td");
- tdScroll_MergeAuthorDesc.innerHTML += '<strong>' + mergeUser + ' &mdash ' + merge_bugLink + '</strong>';
- trScrollMerge.appendChild(tdScroll_MergeUser);
- trScrollMerge.appendChild(tdScroll_MergeC);
- trScrollMerge.appendChild(tdScroll_MergeAuthorDesc);
- document.getElementById("titlePush").appendChild(trScrollMerge);
- }
- }
- }
- }
- }
- }
- }
- }
- }
- pushCheckins.send(null);
- }
- $(window).scroll(function() {
- if(start > 0) {
- if($(window).scrollTop() == $(document).height() - $(window).height()) {
- renderMorePushLogResults();
- }
- }
- });
- </script>
- </head>
- <body onload="setup()">
- <div class="page_header">
- <a href="http://developer.mozilla.org/en/docs/Mercurial" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">#repo|escape#</a> - pushlog
- </div>
- <form action="{url}pushloghtml">
- <div class="search">
- From:
- <input type="text" name="startdate" value="#startdate#"/>
- To:
- <input type="text" name="enddate" value="#enddate#"/>
- <input type="submit" value="Search"/>
- </div>
- </form>
- <div class="page_nav">
- <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
- pushlog |
- <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
- <a href="{url}file/tip{sessionvars%urlparameter}">files</a>#archives%archiveentry#
- <br/>
- Page #changenav%navpushentry#<br/>
- </div>
- <div class="title">#query%pushquery#</div>
- <table id="titlePush" cellspacing="0">
- <tr><th>User<br/>Push date <a href="#" id="localize" style="display:none">[To Local]</a></th><th>Changeset</th><th>Patch author — Commit message</th></tr>
- #entries%pushlogentry#
- </table>
- <div id="loader"></div>
- <div class="page_nav">
- Page #changenav%navpushentry#
- </div>
- #footer#
