parent
ab2b6063f1
commit
f33dc6bff6
Binary file not shown.
@ -0,0 +1,97 @@
|
|||||||
|
# Redmine - project management software
|
||||||
|
# Copyright (C) 2006-2013 Jean-Philippe Lang
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation; either version 2
|
||||||
|
# of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
require File.expand_path('../test_case', __FILE__)
|
||||||
|
require 'tmpdir'
|
||||||
|
|
||||||
|
class RedminePmTest::RepositoryGitTest < RedminePmTest::TestCase
|
||||||
|
fixtures :projects, :users, :members, :roles, :member_roles
|
||||||
|
|
||||||
|
GIT_BIN = Redmine::Configuration['scm_git_command'] || "git"
|
||||||
|
|
||||||
|
def test_anonymous_read_on_public_repo_with_permission_should_succeed
|
||||||
|
assert_success "ls-remote", git_url
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_anonymous_read_on_public_repo_without_permission_should_fail
|
||||||
|
Role.anonymous.remove_permission! :browse_repository
|
||||||
|
assert_failure "ls-remote", git_url
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_invalid_credentials_should_fail
|
||||||
|
Project.find(1).update_attribute :is_public, false
|
||||||
|
with_credentials "dlopper", "foo" do
|
||||||
|
assert_success "ls-remote", git_url
|
||||||
|
end
|
||||||
|
with_credentials "dlopper", "wrong" do
|
||||||
|
assert_failure "ls-remote", git_url
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_clone
|
||||||
|
Dir.mktmpdir do |dir|
|
||||||
|
Dir.chdir(dir) do
|
||||||
|
assert_success "clone", git_url
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_write_commands
|
||||||
|
Role.find(2).add_permission! :commit_access
|
||||||
|
filename = random_filename
|
||||||
|
|
||||||
|
Dir.mktmpdir do |dir|
|
||||||
|
assert_success "clone", git_url, dir
|
||||||
|
Dir.chdir(dir) do
|
||||||
|
f = File.new(File.join(dir, filename), "w")
|
||||||
|
f.write "test file content"
|
||||||
|
f.close
|
||||||
|
|
||||||
|
with_credentials "dlopper", "foo" do
|
||||||
|
assert_success "add", filename
|
||||||
|
assert_success "commit -a --message Committing_a_file"
|
||||||
|
assert_success "push", git_url, "--all"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Dir.mktmpdir do |dir|
|
||||||
|
assert_success "clone", git_url, dir
|
||||||
|
Dir.chdir(dir) do
|
||||||
|
assert File.exists?(File.join(dir, "#{filename}"))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
protected
|
||||||
|
|
||||||
|
def execute(*args)
|
||||||
|
a = [GIT_BIN]
|
||||||
|
super a, *args
|
||||||
|
end
|
||||||
|
|
||||||
|
def git_url(path=nil)
|
||||||
|
host = ENV['REDMINE_TEST_DAV_SERVER'] || '127.0.0.1'
|
||||||
|
credentials = nil
|
||||||
|
if username && password
|
||||||
|
credentials = "#{username}:#{password}"
|
||||||
|
end
|
||||||
|
url = "http://#{credentials}@#{host}/git/ecookbook"
|
||||||
|
url << "/#{path}" if path
|
||||||
|
url
|
||||||
|
end
|
||||||
|
end
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,81 @@
|
|||||||
|
# Redmine - project management software
|
||||||
|
# Copyright (C) 2006-2013 Jean-Philippe Lang
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation; either version 2
|
||||||
|
# of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
require File.expand_path('../../../test_helper', __FILE__)
|
||||||
|
|
||||||
|
module RedminePmTest
|
||||||
|
class TestCase < ActiveSupport::TestCase
|
||||||
|
attr_reader :command, :response, :status, :username, :password
|
||||||
|
|
||||||
|
# Cannot use transactional fixtures here: database
|
||||||
|
# will be accessed from Redmine.pm with its own connection
|
||||||
|
self.use_transactional_fixtures = false
|
||||||
|
|
||||||
|
def test_dummy
|
||||||
|
end
|
||||||
|
|
||||||
|
protected
|
||||||
|
|
||||||
|
def assert_response(expected, msg=nil)
|
||||||
|
case expected
|
||||||
|
when :success
|
||||||
|
assert_equal 0, status,
|
||||||
|
(msg || "The command failed (exit: #{status}):\n #{command}\nOutput was:\n#{formatted_response}")
|
||||||
|
when :failure
|
||||||
|
assert_not_equal 0, status,
|
||||||
|
(msg || "The command succeed (exit: #{status}):\n #{command}\nOutput was:\n#{formatted_response}")
|
||||||
|
else
|
||||||
|
assert_equal expected, status, msg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def assert_success(*args)
|
||||||
|
execute *args
|
||||||
|
assert_response :success
|
||||||
|
end
|
||||||
|
|
||||||
|
def assert_failure(*args)
|
||||||
|
execute *args
|
||||||
|
assert_response :failure
|
||||||
|
end
|
||||||
|
|
||||||
|
def with_credentials(username, password)
|
||||||
|
old_username, old_password = @username, @password
|
||||||
|
@username, @password = username, password
|
||||||
|
yield if block_given?
|
||||||
|
ensure
|
||||||
|
@username, @password = old_username, old_password
|
||||||
|
end
|
||||||
|
|
||||||
|
def execute(*args)
|
||||||
|
@command = args.join(' ')
|
||||||
|
@status = nil
|
||||||
|
IO.popen("#{command} 2>&1") do |io|
|
||||||
|
@response = io.read
|
||||||
|
end
|
||||||
|
@status = $?.exitstatus
|
||||||
|
end
|
||||||
|
|
||||||
|
def formatted_response
|
||||||
|
"#{'='*40}\n#{response}#{'='*40}"
|
||||||
|
end
|
||||||
|
|
||||||
|
def random_filename
|
||||||
|
Redmine::Utils.random_hex(16)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
auth_sources_001:
|
||||||
|
id: 1
|
||||||
|
type: AuthSourceLdap
|
||||||
|
name: 'LDAP test server'
|
||||||
|
host: '127.0.0.1'
|
||||||
|
port: 389
|
||||||
|
base_dn: 'OU=Person,DC=redmine,DC=org'
|
||||||
|
attr_login: uid
|
||||||
|
attr_firstname: givenName
|
||||||
|
attr_lastname: sn
|
||||||
|
attr_mail: mail
|
||||||
|
onthefly_register: false
|
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
changes_001:
|
||||||
|
id: 1
|
||||||
|
changeset_id: 100
|
||||||
|
action: A
|
||||||
|
path: /test/some/path/in/the/repo
|
||||||
|
from_path:
|
||||||
|
from_revision:
|
||||||
|
changes_002:
|
||||||
|
id: 2
|
||||||
|
changeset_id: 100
|
||||||
|
action: A
|
||||||
|
path: /test/some/path/elsewhere/in/the/repo
|
||||||
|
from_path:
|
||||||
|
from_revision:
|
||||||
|
changes_003:
|
||||||
|
id: 3
|
||||||
|
changeset_id: 101
|
||||||
|
action: M
|
||||||
|
path: /test/some/path/in/the/repo
|
||||||
|
from_path:
|
||||||
|
from_revision:
|
@ -0,0 +1,104 @@
|
|||||||
|
---
|
||||||
|
changesets_001:
|
||||||
|
commit_date: 2007-04-11
|
||||||
|
committed_on: 2007-04-11 15:14:44 +02:00
|
||||||
|
revision: 1
|
||||||
|
scmid: 691322a8eb01e11fd7
|
||||||
|
id: 100
|
||||||
|
comments: 'My very first commit do not escaping #<>&'
|
||||||
|
repository_id: 10
|
||||||
|
committer: dlopper
|
||||||
|
user_id: 3
|
||||||
|
changesets_002:
|
||||||
|
commit_date: 2007-04-12
|
||||||
|
committed_on: 2007-04-12 15:14:44 +02:00
|
||||||
|
revision: 2
|
||||||
|
id: 101
|
||||||
|
comments: 'This commit fixes #1, #2 and references #1 & #3'
|
||||||
|
repository_id: 10
|
||||||
|
committer: dlopper
|
||||||
|
user_id: 3
|
||||||
|
changesets_003:
|
||||||
|
commit_date: 2007-04-12
|
||||||
|
committed_on: 2007-04-12 15:14:44 +02:00
|
||||||
|
revision: 3
|
||||||
|
id: 102
|
||||||
|
comments: |-
|
||||||
|
A commit with wrong issue ids
|
||||||
|
IssueID #666 #3
|
||||||
|
repository_id: 10
|
||||||
|
committer: dlopper
|
||||||
|
user_id: 3
|
||||||
|
changesets_004:
|
||||||
|
commit_date: 2007-04-12
|
||||||
|
committed_on: 2007-04-12 15:14:44 +02:00
|
||||||
|
revision: 4
|
||||||
|
id: 103
|
||||||
|
comments: |-
|
||||||
|
A commit with an issue id of an other project
|
||||||
|
IssueID 4 2
|
||||||
|
repository_id: 10
|
||||||
|
committer: dlopper
|
||||||
|
user_id: 3
|
||||||
|
changesets_005:
|
||||||
|
commit_date: "2007-09-10"
|
||||||
|
comments: Modified one file in the folder.
|
||||||
|
committed_on: 2007-09-10 19:01:08
|
||||||
|
revision: "5"
|
||||||
|
id: 104
|
||||||
|
scmid:
|
||||||
|
user_id: 3
|
||||||
|
repository_id: 10
|
||||||
|
committer: dlopper
|
||||||
|
changesets_006:
|
||||||
|
commit_date: "2007-09-10"
|
||||||
|
comments: Moved helloworld.rb from / to /folder.
|
||||||
|
committed_on: 2007-09-10 19:01:47
|
||||||
|
revision: "6"
|
||||||
|
id: 105
|
||||||
|
scmid:
|
||||||
|
user_id: 3
|
||||||
|
repository_id: 10
|
||||||
|
committer: dlopper
|
||||||
|
changesets_007:
|
||||||
|
commit_date: "2007-09-10"
|
||||||
|
comments: Removed one file.
|
||||||
|
committed_on: 2007-09-10 19:02:16
|
||||||
|
revision: "7"
|
||||||
|
id: 106
|
||||||
|
scmid:
|
||||||
|
user_id: 3
|
||||||
|
repository_id: 10
|
||||||
|
committer: dlopper
|
||||||
|
changesets_008:
|
||||||
|
commit_date: "2007-09-10"
|
||||||
|
comments: |-
|
||||||
|
This commits references an issue.
|
||||||
|
Refs #2
|
||||||
|
committed_on: 2007-09-10 19:04:35
|
||||||
|
revision: "8"
|
||||||
|
id: 107
|
||||||
|
scmid:
|
||||||
|
user_id: 3
|
||||||
|
repository_id: 10
|
||||||
|
committer: dlopper
|
||||||
|
changesets_009:
|
||||||
|
commit_date: "2009-09-10"
|
||||||
|
comments: One file added.
|
||||||
|
committed_on: 2009-09-10 19:04:35
|
||||||
|
revision: "9"
|
||||||
|
id: 108
|
||||||
|
scmid:
|
||||||
|
user_id: 3
|
||||||
|
repository_id: 10
|
||||||
|
committer: dlopper
|
||||||
|
changesets_010:
|
||||||
|
commit_date: "2009-09-10"
|
||||||
|
comments: Same file modified.
|
||||||
|
committed_on: 2009-09-10 19:04:35
|
||||||
|
revision: "10"
|
||||||
|
id: 109
|
||||||
|
scmid:
|
||||||
|
user_id: 3
|
||||||
|
repository_id: 10
|
||||||
|
committer: dlopper
|
@ -0,0 +1,17 @@
|
|||||||
|
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
|
||||||
|
comments_001:
|
||||||
|
commented_type: News
|
||||||
|
commented_id: 1
|
||||||
|
id: 1
|
||||||
|
author_id: 1
|
||||||
|
comments: my first comment
|
||||||
|
created_on: 2006-12-10 18:10:10 +01:00
|
||||||
|
updated_on: 2006-12-10 18:10:10 +01:00
|
||||||
|
comments_002:
|
||||||
|
commented_type: News
|
||||||
|
commented_id: 1
|
||||||
|
id: 2
|
||||||
|
author_id: 2
|
||||||
|
comments: This is an other comment
|
||||||
|
created_on: 2006-12-10 18:12:10 +01:00
|
||||||
|
updated_on: 2006-12-10 18:12:10 +01:00
|
@ -0,0 +1,8 @@
|
|||||||
|
default:
|
||||||
|
somesetting: foo
|
||||||
|
|
||||||
|
production:
|
||||||
|
|
||||||
|
development:
|
||||||
|
|
||||||
|
test:
|
@ -0,0 +1,7 @@
|
|||||||
|
default:
|
||||||
|
|
||||||
|
production:
|
||||||
|
|
||||||
|
development:
|
||||||
|
|
||||||
|
test:
|
@ -0,0 +1,8 @@
|
|||||||
|
default:
|
||||||
|
|
||||||
|
production:
|
||||||
|
|
||||||
|
development:
|
||||||
|
|
||||||
|
test:
|
||||||
|
somesetting: foo
|
@ -0,0 +1,9 @@
|
|||||||
|
default:
|
||||||
|
somesetting: foo
|
||||||
|
|
||||||
|
production:
|
||||||
|
|
||||||
|
development:
|
||||||
|
|
||||||
|
test:
|
||||||
|
somesetting: bar
|
@ -0,0 +1,165 @@
|
|||||||
|
---
|
||||||
|
custom_fields_001:
|
||||||
|
name: Database
|
||||||
|
min_length: 0
|
||||||
|
regexp: ""
|
||||||
|
is_for_all: true
|
||||||
|
is_filter: true
|
||||||
|
type: IssueCustomField
|
||||||
|
max_length: 0
|
||||||
|
possible_values:
|
||||||
|
- MySQL
|
||||||
|
- PostgreSQL
|
||||||
|
- Oracle
|
||||||
|
id: 1
|
||||||
|
is_required: false
|
||||||
|
field_format: list
|
||||||
|
default_value: ""
|
||||||
|
editable: true
|
||||||
|
position: 2
|
||||||
|
custom_fields_002:
|
||||||
|
name: Searchable field
|
||||||
|
min_length: 1
|
||||||
|
regexp: ""
|
||||||
|
is_for_all: true
|
||||||
|
is_filter: true
|
||||||
|
type: IssueCustomField
|
||||||
|
max_length: 100
|
||||||
|
possible_values: ""
|
||||||
|
id: 2
|
||||||
|
is_required: false
|
||||||
|
field_format: string
|
||||||
|
searchable: true
|
||||||
|
default_value: "Default string"
|
||||||
|
editable: true
|
||||||
|
position: 1
|
||||||
|
custom_fields_003:
|
||||||
|
name: Development status
|
||||||
|
min_length: 0
|
||||||
|
regexp: ""
|
||||||
|
is_for_all: false
|
||||||
|
is_filter: true
|
||||||
|
type: ProjectCustomField
|
||||||
|
max_length: 0
|
||||||
|
possible_values:
|
||||||
|
- Stable
|
||||||
|
- Beta
|
||||||
|
- Alpha
|
||||||
|
- Planning
|
||||||
|
id: 3
|
||||||
|
is_required: false
|
||||||
|
field_format: list
|
||||||
|
default_value: ""
|
||||||
|
editable: true
|
||||||
|
position: 1
|
||||||
|
custom_fields_004:
|
||||||
|
name: Phone number
|
||||||
|
min_length: 0
|
||||||
|
regexp: ""
|
||||||
|
is_for_all: false
|
||||||
|
type: UserCustomField
|
||||||
|
max_length: 0
|
||||||
|
possible_values: ""
|
||||||
|
id: 4
|
||||||
|
is_required: false
|
||||||
|
field_format: string
|
||||||
|
default_value: ""
|
||||||
|
editable: true
|
||||||
|
position: 1
|
||||||
|
custom_fields_005:
|
||||||
|
name: Money
|
||||||
|
min_length: 0
|
||||||
|
regexp: ""
|
||||||
|
is_for_all: false
|
||||||
|
type: UserCustomField
|
||||||
|
max_length: 0
|
||||||
|
possible_values: ""
|
||||||
|
id: 5
|
||||||
|
is_required: false
|
||||||
|
field_format: float
|
||||||
|
default_value: ""
|
||||||
|
editable: true
|
||||||
|
position: 2
|
||||||
|
custom_fields_006:
|
||||||
|
name: Float field
|
||||||
|
min_length: 0
|
||||||
|
regexp: ""
|
||||||
|
is_for_all: true
|
||||||
|
type: IssueCustomField
|
||||||
|
max_length: 0
|
||||||
|
possible_values: ""
|
||||||
|
id: 6
|
||||||
|
is_required: false
|
||||||
|
field_format: float
|
||||||
|
default_value: ""
|
||||||
|
editable: true
|
||||||
|
position: 3
|
||||||
|
custom_fields_007:
|
||||||
|
name: Billable
|
||||||
|
min_length: 0
|
||||||
|
regexp: ""
|
||||||
|
is_for_all: false
|
||||||
|
is_filter: true
|
||||||
|
type: TimeEntryActivityCustomField
|
||||||
|
max_length: 0
|
||||||
|
possible_values: ""
|
||||||
|
id: 7
|
||||||
|
is_required: false
|
||||||
|
field_format: bool
|
||||||
|
default_value: ""
|
||||||
|
editable: true
|
||||||
|
position: 1
|
||||||
|
custom_fields_008:
|
||||||
|
name: Custom date
|
||||||
|
min_length: 0
|
||||||
|
regexp: ""
|
||||||
|
is_for_all: true
|
||||||
|
is_filter: false
|
||||||
|
type: IssueCustomField
|
||||||
|
max_length: 0
|
||||||
|
possible_values: ""
|
||||||
|
id: 8
|
||||||
|
is_required: false
|
||||||
|
field_format: date
|
||||||
|
default_value: ""
|
||||||
|
editable: true
|
||||||
|
position: 4
|
||||||
|
custom_fields_009:
|
||||||
|
name: Project 1 cf
|
||||||
|
min_length: 0
|
||||||
|
regexp: ""
|
||||||
|
is_for_all: false
|
||||||
|
is_filter: true
|
||||||
|
type: IssueCustomField
|
||||||
|
max_length: 0
|
||||||
|
possible_values: ""
|
||||||
|
id: 9
|
||||||
|
is_required: false
|
||||||
|
field_format: date
|
||||||
|
default_value: ""
|
||||||
|
editable: true
|
||||||
|
position: 5
|
||||||
|
custom_fields_010:
|
||||||
|
name: Overtime
|
||||||
|
min_length: 0
|
||||||
|
regexp: ""
|
||||||
|
is_for_all: false
|
||||||
|
is_filter: false
|
||||||
|
type: TimeEntryCustomField
|
||||||
|
max_length: 0
|
||||||
|
possible_values: ""
|
||||||
|
id: 10
|
||||||
|
is_required: false
|
||||||
|
field_format: bool
|
||||||
|
default_value: 0
|
||||||
|
editable: true
|
||||||
|
position: 1
|
||||||
|
custom_fields_011:
|
||||||
|
id: 11
|
||||||
|
name: Binary
|
||||||
|
type: CustomField
|
||||||
|
possible_values:
|
||||||
|
- !binary |
|
||||||
|
SGXDqWzDp2prc2Tigqw2NTTDuQ==
|
||||||
|
- Other value
|
||||||
|
field_format: list
|
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
custom_fields_projects_001:
|
||||||
|
custom_field_id: 9
|
||||||
|
project_id: 1
|
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
custom_fields_trackers_001:
|
||||||
|
custom_field_id: 1
|
||||||
|
tracker_id: 1
|
||||||
|
custom_fields_trackers_002:
|
||||||
|
custom_field_id: 2
|
||||||
|
tracker_id: 1
|
||||||
|
custom_fields_trackers_003:
|
||||||
|
custom_field_id: 2
|
||||||
|
tracker_id: 3
|
||||||
|
custom_fields_trackers_004:
|
||||||
|
custom_field_id: 6
|
||||||
|
tracker_id: 1
|
||||||
|
custom_fields_trackers_005:
|
||||||
|
custom_field_id: 6
|
||||||
|
tracker_id: 2
|
||||||
|
custom_fields_trackers_006:
|
||||||
|
custom_field_id: 6
|
||||||
|
tracker_id: 3
|
@ -0,0 +1,103 @@
|
|||||||
|
---
|
||||||
|
custom_values_006:
|
||||||
|
customized_type: Issue
|
||||||
|
custom_field_id: 2
|
||||||
|
customized_id: 3
|
||||||
|
id: 6
|
||||||
|
value: "125"
|
||||||
|
custom_values_007:
|
||||||
|
customized_type: Project
|
||||||
|
custom_field_id: 3
|
||||||
|
customized_id: 1
|
||||||
|
id: 7
|
||||||
|
value: Stable
|
||||||
|
custom_values_001:
|
||||||
|
customized_type: Principal
|
||||||
|
custom_field_id: 4
|
||||||
|
customized_id: 3
|
||||||
|
id: 1
|
||||||
|
value: ""
|
||||||
|
custom_values_002:
|
||||||
|
customized_type: Principal
|
||||||
|
custom_field_id: 4
|
||||||
|
customized_id: 4
|
||||||
|
id: 2
|
||||||
|
value: 01 23 45 67 89
|
||||||
|
custom_values_003:
|
||||||
|
customized_type: Principal
|
||||||
|
custom_field_id: 4
|
||||||
|
customized_id: 2
|
||||||
|
id: 3
|
||||||
|
value: "01 42 50 00 00"
|
||||||
|
custom_values_004:
|
||||||
|
customized_type: Issue
|
||||||
|
custom_field_id: 2
|
||||||
|
customized_id: 1
|
||||||
|
id: 4
|
||||||
|
value: "125"
|
||||||
|
custom_values_005:
|
||||||
|
customized_type: Issue
|
||||||
|
custom_field_id: 2
|
||||||
|
customized_id: 2
|
||||||
|
id: 5
|
||||||
|
value: ""
|
||||||
|
custom_values_008:
|
||||||
|
customized_type: Issue
|
||||||
|
custom_field_id: 1
|
||||||
|
customized_id: 3
|
||||||
|
id: 8
|
||||||
|
value: "MySQL"
|
||||||
|
custom_values_009:
|
||||||
|
customized_type: Issue
|
||||||
|
custom_field_id: 2
|
||||||
|
customized_id: 7
|
||||||
|
id: 9
|
||||||
|
value: "this is a stringforcustomfield search"
|
||||||
|
custom_values_010:
|
||||||
|
customized_type: Issue
|
||||||
|
custom_field_id: 6
|
||||||
|
customized_id: 1
|
||||||
|
id: 10
|
||||||
|
value: "2.1"
|
||||||
|
custom_values_011:
|
||||||
|
customized_type: Issue
|
||||||
|
custom_field_id: 6
|
||||||
|
customized_id: 2
|
||||||
|
id: 11
|
||||||
|
value: "2.05"
|
||||||
|
custom_values_012:
|
||||||
|
customized_type: Issue
|
||||||
|
custom_field_id: 6
|
||||||
|
customized_id: 3
|
||||||
|
id: 12
|
||||||
|
value: "11.65"
|
||||||
|
custom_values_013:
|
||||||
|
customized_type: Issue
|
||||||
|
custom_field_id: 6
|
||||||
|
customized_id: 7
|
||||||
|
id: 13
|
||||||
|
value: ""
|
||||||
|
custom_values_014:
|
||||||
|
customized_type: Issue
|
||||||
|
custom_field_id: 6
|
||||||
|
customized_id: 5
|
||||||
|
id: 14
|
||||||
|
value: "-7.6"
|
||||||
|
custom_values_015:
|
||||||
|
customized_type: Enumeration
|
||||||
|
custom_field_id: 7
|
||||||
|
customized_id: 10
|
||||||
|
id: 15
|
||||||
|
value: true
|
||||||
|
custom_values_016:
|
||||||
|
customized_type: Enumeration
|
||||||
|
custom_field_id: 7
|
||||||
|
customized_id: 11
|
||||||
|
id: 16
|
||||||
|
value: '1'
|
||||||
|
custom_values_017:
|
||||||
|
customized_type: Issue
|
||||||
|
custom_field_id: 8
|
||||||
|
customized_id: 1
|
||||||
|
id: 17
|
||||||
|
value: '2009-12-01'
|
@ -0,0 +1,25 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User tmaruyama
|
||||||
|
# Date 1362559296 0
|
||||||
|
# Node ID ee54942e0289c30bea1b1973750b698b1ee7c466
|
||||||
|
# Parent 738777832f379f6f099c25251593fc57bc17f586
|
||||||
|
fix some Japanese "issue" translations (#13350)
|
||||||
|
|
||||||
|
Contributed by Go MAEDA.
|
||||||
|
|
||||||
|
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
|
||||||
|
--- a/config/locales/ja.yml
|
||||||
|
+++ b/config/locales/ja.yml
|
||||||
|
@@ -904,9 +904,9 @@ ja:
|
||||||
|
text_journal_set_to: "%{label} を %{value} にセット"
|
||||||
|
text_journal_deleted: "%{label} を削除 (%{old})"
|
||||||
|
text_journal_added: "%{label} %{value} を追加"
|
||||||
|
- text_tip_issue_begin_day: この日に開始するタスク
|
||||||
|
- text_tip_issue_end_day: この日に終了するタスク
|
||||||
|
- text_tip_issue_begin_end_day: この日のうちに開始して終了するタスク
|
||||||
|
+ text_tip_issue_begin_day: この日に開始するチケット
|
||||||
|
+ text_tip_issue_end_day: この日に終了するチケット
|
||||||
|
+ text_tip_issue_begin_end_day: この日に開始・終了するチケット
|
||||||
|
text_caracters_maximum: "最大%{count}文字です。"
|
||||||
|
text_caracters_minimum: "最低%{count}文字の長さが必要です"
|
||||||
|
text_length_between: "長さは%{min}から%{max}文字までです。"
|
@ -0,0 +1,19 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User tmaruyama
|
||||||
|
# Date 1355872765 0
|
||||||
|
# Node ID 8a13ebed1779c2e85fa644ecdd0de81996c969c4
|
||||||
|
# Parent 5c3c5f917ae92f278fe42c6978366996595b0796
|
||||||
|
Russian "about_x_hours" translation changed by Mikhail Velkin (#12640)
|
||||||
|
|
||||||
|
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
|
||||||
|
--- a/config/locales/ru.yml
|
||||||
|
+++ b/config/locales/ru.yml
|
||||||
|
@@ -115,7 +115,7 @@ ru:
|
||||||
|
one: "около %{count} часа"
|
||||||
|
few: "около %{count} часов"
|
||||||
|
many: "около %{count} часов"
|
||||||
|
- other: "около %{count} часа"
|
||||||
|
+ other: "около %{count} часов"
|
||||||
|
x_hours:
|
||||||
|
one: "1 час"
|
||||||
|
other: "%{count} часов"
|
@ -0,0 +1,7 @@
|
|||||||
|
--- a.txt 2013-04-05 14:19:39.000000000 +0900
|
||||||
|
+++ b.txt 2013-04-05 14:19:51.000000000 +0900
|
||||||
|
@@ -1,3 +1,3 @@
|
||||||
|
aaaa
|
||||||
|
-日本
|
||||||
|
+日本語
|
||||||
|
bbbb
|
@ -0,0 +1,7 @@
|
|||||||
|
--- a.txt 2013-04-05 14:19:39.000000000 +0900
|
||||||
|
+++ b.txt 2013-04-05 14:19:51.000000000 +0900
|
||||||
|
@@ -1,3 +1,3 @@
|
||||||
|
aaaa
|
||||||
|
-日本
|
||||||
|
+にっぽん日本
|
||||||
|
bbbb
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue