mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-10-30 01:56:09 +01:00
Compare commits
4 Commits
optimize-c
...
3.10.1_h2-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7afc3e8f9 | ||
|
|
8e8468b5b1 | ||
|
|
8665a6ee44 | ||
|
|
f4932ab88e |
@@ -95,6 +95,12 @@ Support
|
|||||||
|
|
||||||
Release Notes
|
Release Notes
|
||||||
--------
|
--------
|
||||||
|
### 3.10 - 30 Dec 2015
|
||||||
|
- Move to Bootstrap3
|
||||||
|
- New URL for raw contents (`raw/master/doc/activity.md` instead of `blob/master/doc/activity.md?raw=true`)
|
||||||
|
- Update xsbt-web-pligin
|
||||||
|
- Update H2 database
|
||||||
|
|
||||||
### 3.9 - 5 Dec 2015
|
### 3.9 - 5 Dec 2015
|
||||||
- GFM inline breaks support in Markdown
|
- GFM inline breaks support in Markdown
|
||||||
- WebHook on create review comment is available
|
- WebHook on create review comment is available
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import JettyPlugin.autoImport._
|
|||||||
object MyBuild extends Build {
|
object MyBuild extends Build {
|
||||||
val Organization = "gitbucket"
|
val Organization = "gitbucket"
|
||||||
val Name = "gitbucket"
|
val Name = "gitbucket"
|
||||||
val Version = "3.9.1"
|
val Version = "3.10.1"
|
||||||
val ScalaVersion = "2.11.6"
|
val ScalaVersion = "2.11.6"
|
||||||
val ScalatraVersion = "2.3.1"
|
val ScalatraVersion = "2.3.1"
|
||||||
|
|
||||||
|
|||||||
@@ -6,12 +6,14 @@
|
|||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
<!--
|
||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>gitbucket.log</file>
|
<file>gitbucket.log</file>
|
||||||
<encoder>
|
<encoder>
|
||||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
-->
|
||||||
|
|
||||||
<root level="INFO">
|
<root level="INFO">
|
||||||
<appender-ref ref="STDOUT" />
|
<appender-ref ref="STDOUT" />
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ object AutoUpdate {
|
|||||||
* The history of versions. A head of this sequence is the current BitBucket version.
|
* The history of versions. A head of this sequence is the current BitBucket version.
|
||||||
*/
|
*/
|
||||||
val versions = Seq(
|
val versions = Seq(
|
||||||
|
new Version(3, 10),
|
||||||
new Version(3, 9),
|
new Version(3, 9),
|
||||||
new Version(3, 8),
|
new Version(3, 8),
|
||||||
new Version(3, 7) with SystemSettingsService {
|
new Version(3, 7) with SystemSettingsService {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ isCreateRepoOptionPublic: Boolean)(implicit context: gitbucket.core.controller.C
|
|||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<li><a href="javascript:void(0);" data-name="@loginAccount.get.userName"><i class="octicon octicon-check"></i> <span>@avatar(loginAccount.get.userName, 20) @loginAccount.get.userName</span></a></li>
|
<li><a href="javascript:void(0);" data-name="@loginAccount.get.userName"><i class="octicon octicon-check"></i> <span>@avatar(loginAccount.get.userName, 20) @loginAccount.get.userName</span></a></li>
|
||||||
@groupNames.map { groupName =>
|
@groupNames.map { groupName =>
|
||||||
<li><a href="javascript:void(0);" data-name="@groupName"><i class="icon-white"></i> <span>@avatar(groupName, 20) @groupName</span></a></li>
|
<li><a href="javascript:void(0);" data-name="@groupName"><i class="octicon"></i> <span>@avatar(groupName, 20) @groupName</span></a></li>
|
||||||
}
|
}
|
||||||
</ul>
|
</ul>
|
||||||
<input type="hidden" name="owner" id="owner" value="@loginAccount.get.userName"/>
|
<input type="hidden" name="owner" id="owner" value="@loginAccount.get.userName"/>
|
||||||
@@ -77,8 +77,8 @@ $('#owner-dropdown a').click(function(){
|
|||||||
var userName = $(this).data('name');
|
var userName = $(this).data('name');
|
||||||
$('#owner').val(userName);
|
$('#owner').val(userName);
|
||||||
|
|
||||||
$('#owner-dropdown i').attr('class', 'icon-white');
|
$('#owner-dropdown i').attr('class', 'octicon');
|
||||||
$(this).find('i').attr('class', 'icon-ok');
|
$(this).find('i').attr('class', 'octicon octicon-check');
|
||||||
|
|
||||||
$('#owner-dropdown span.strong').html($(this).find('span').html());
|
$('#owner-dropdown span.strong').html($(this).find('span').html());
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
@if(condition){
|
@if(condition){
|
||||||
<i class="octicon octicon-check"></i>
|
<i class="octicon octicon-check"></i>
|
||||||
} else {
|
} else {
|
||||||
<i class="icon-white"></i>
|
<i class="octicon"></i>
|
||||||
}
|
}
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
@collaborators.map { collaborator =>
|
@collaborators.map { collaborator =>
|
||||||
<li>
|
<li>
|
||||||
<a href="javascript:void(0);" class="assign" data-name="@collaborator">
|
<a href="javascript:void(0);" class="assign" data-name="@collaborator">
|
||||||
@helper.html.checkicon(issue.exists(_.assignedUserName == collaborator))@avatar(collaborator, 20) @collaborator
|
@helper.html.checkicon(issue.exists(_.assignedUserName.exists(_ == collaborator)))@avatar(collaborator, 20) @collaborator
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
}
|
}
|
||||||
@@ -164,7 +164,7 @@ $(function(){
|
|||||||
switchLabel($(this));
|
switchLabel($(this));
|
||||||
var labelNames = Array();
|
var labelNames = Array();
|
||||||
$('a.toggle-label').each(function(i, e){
|
$('a.toggle-label').each(function(i, e){
|
||||||
if($(e).children('i').hasClass('icon-ok') == true){
|
if($(e).children('i').hasClass('octicon-check') == true){
|
||||||
labelNames.push($(e).text().trim());
|
labelNames.push($(e).text().trim());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -195,17 +195,17 @@ $(function(){
|
|||||||
|
|
||||||
function switchLabel($this){
|
function switchLabel($this){
|
||||||
var i = $this.children('i');
|
var i = $this.children('i');
|
||||||
if(i.hasClass('icon-ok')){
|
if(i.hasClass('octicon-check')){
|
||||||
i.removeClass().addClass('icon-white');
|
i.removeClass('octicon-check');
|
||||||
return 'delete';
|
return 'delete';
|
||||||
} else {
|
} else {
|
||||||
i.removeClass().addClass('icon-ok');
|
i.addClass('octicon-check');
|
||||||
return 'new';
|
return 'new';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function displayMilestone(title, milestoneId, progress){
|
function displayMilestone(title, milestoneId, progress){
|
||||||
$('a.milestone i.icon-ok').attr('class', 'icon-white');
|
$('a.milestone i.octicon-check').removeClass('octicon-check');
|
||||||
if(milestoneId == ''){
|
if(milestoneId == ''){
|
||||||
$('#label-milestone').html($('<span class="muted small">').text('No milestone'));
|
$('#label-milestone').html($('<span class="muted small">').text('No milestone'));
|
||||||
$('#milestone-progress-area').empty();
|
$('#milestone-progress-area').empty();
|
||||||
@@ -214,19 +214,19 @@ $(function(){
|
|||||||
if(progress){
|
if(progress){
|
||||||
$('#milestone-progress-area').html(progress);
|
$('#milestone-progress-area').html(progress);
|
||||||
}
|
}
|
||||||
$('a.milestone[data-id=' + milestoneId + '] i').attr('class', 'icon-ok');
|
$('a.milestone[data-id=' + milestoneId + '] i').addClass('octicon-check');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function displayAssignee($this, userName){
|
function displayAssignee($this, userName){
|
||||||
$('a.assign i.icon-ok').attr('class', 'icon-white');
|
$('a.assign i.octicon-check').removeClass('octicon-check');
|
||||||
if(userName == ''){
|
if(userName == ''){
|
||||||
$('#label-assigned').html($('<span class="muted small">').text('No one'));
|
$('#label-assigned').html($('<span class="muted small">').text('No one'));
|
||||||
} else {
|
} else {
|
||||||
$('#label-assigned').empty()
|
$('#label-assigned').empty()
|
||||||
.append($this.find('img.avatar-mini').clone(false)).append(' ')
|
.append($this.find('img.avatar-mini').clone(false)).append(' ')
|
||||||
.append($('<a class="username strong small">').attr('href', '@context.path/' + userName).text(userName));
|
.append($('<a class="username strong small">').attr('href', '@context.path/' + userName).text(userName));
|
||||||
$('a.assign[data-name=' + jqSelectorEscape(userName) + '] i').attr('class', 'icon-ok');
|
$('a.assign[data-name=' + jqSelectorEscape(userName) + '] i').addClass('octicon-check');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
@labels.map { label =>
|
@labels.map { label =>
|
||||||
<li>
|
<li>
|
||||||
<a href="javascript:void(0);" class="toggle-label" data-id="@label.labelId">
|
<a href="javascript:void(0);" class="toggle-label" data-id="@label.labelId">
|
||||||
<i class="icon-white"></i>
|
<i class="octicon"></i>
|
||||||
<span class="label" style="background-color: #@label.color;"> </span>
|
<span class="label" style="background-color: #@label.color;"> </span>
|
||||||
@label.labelName
|
@label.labelName
|
||||||
</a>
|
</a>
|
||||||
@@ -140,7 +140,7 @@
|
|||||||
@helper.html.dropdown("Assignee", flat = true) {
|
@helper.html.dropdown("Assignee", flat = true) {
|
||||||
<li><a href="javascript:void(0);" class="toggle-assign" data-name=""><i class="octicon octicon-x"></i> Clear assignee</a></li>
|
<li><a href="javascript:void(0);" class="toggle-assign" data-name=""><i class="octicon octicon-x"></i> Clear assignee</a></li>
|
||||||
@collaborators.map { collaborator =>
|
@collaborators.map { collaborator =>
|
||||||
<li><a href="javascript:void(0);" class="toggle-assign" data-name="@collaborator"><i class="icon-white"></i>@avatar(collaborator, 20) @collaborator</a></li>
|
<li><a href="javascript:void(0);" class="toggle-assign" data-name="@collaborator"><i class="octicon"></i>@avatar(collaborator, 20) @collaborator</a></li>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -174,8 +174,8 @@
|
|||||||
$(function(){
|
$(function(){
|
||||||
$('a.origin-owner, a.forked-owner, a.origin-branch, a.forked-branch').click(function(){
|
$('a.origin-owner, a.forked-owner, a.origin-branch, a.forked-branch').click(function(){
|
||||||
var e = $(this);
|
var e = $(this);
|
||||||
e.parents('ul').find('i').attr('class', 'icon-white');
|
e.parents('ul').find('i').attr('class', 'octicon');
|
||||||
e.find('i').attr('class', 'octicon-check');
|
e.find('i').addClass('octicon-check');
|
||||||
e.parents('div.btn-group').find('button span.strong').text(e.text());
|
e.parents('div.btn-group').find('button span.strong').text(e.text());
|
||||||
|
|
||||||
@if(members.isEmpty){
|
@if(members.isEmpty){
|
||||||
|
|||||||
Reference in New Issue
Block a user