Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54eecf54ff |
4
Gemfile
4
Gemfile
@@ -1,6 +1,6 @@
|
||||
source :rubygems
|
||||
|
||||
gem "rails", "2.3.15"
|
||||
gem "rails", "2.3.14"
|
||||
gem "i18n", "~> 0.4.2"
|
||||
gem "coderay", "~> 1.0.6"
|
||||
gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby]
|
||||
@@ -39,7 +39,7 @@ end
|
||||
|
||||
platforms :mri_18, :mingw_18 do
|
||||
group :mysql do
|
||||
gem "mysql", "~> 2.8.1"
|
||||
gem "mysql"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -415,9 +415,5 @@ class Repository < ActiveRecord::Base
|
||||
connection.delete("DELETE FROM #{ci} WHERE #{ci}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})")
|
||||
connection.delete("DELETE FROM #{cp} WHERE #{cp}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})")
|
||||
connection.delete("DELETE FROM #{cs} WHERE #{cs}.repository_id = #{id}")
|
||||
clear_extra_info_of_changesets
|
||||
end
|
||||
|
||||
def clear_extra_info_of_changesets
|
||||
end
|
||||
end
|
||||
|
||||
@@ -255,15 +255,4 @@ class Repository::Git < Repository
|
||||
:order => 'committed_on DESC'
|
||||
)
|
||||
end
|
||||
|
||||
def clear_extra_info_of_changesets
|
||||
return if extra_info.nil?
|
||||
v = extra_info["extra_report_last_commit"]
|
||||
write_attribute(:extra_info, nil)
|
||||
h = {}
|
||||
h["extra_report_last_commit"] = v
|
||||
merge_extra_info(h)
|
||||
self.save
|
||||
end
|
||||
private :clear_extra_info_of_changesets
|
||||
end
|
||||
|
||||
@@ -116,19 +116,14 @@ module ActionController
|
||||
end
|
||||
end
|
||||
|
||||
# Fix for CVE-2013-0155
|
||||
# https://groups.google.com/d/msg/rubyonrails-security/c7jT-EeN9eI/L0u4e87zYGMJ
|
||||
# https://groups.google.com/d/msg/rubyonrails-security/kKGNeMrnmiY/r2yM7xy-G48J
|
||||
# https://github.com/rails/rails/blob/v2.3.15/activerecord/lib/active_record/base.rb#L2340
|
||||
# CVE-2012-2695
|
||||
# https://groups.google.com/group/rubyonrails-security/browse_thread/thread/9782f44c4540cf59
|
||||
module ActiveRecord
|
||||
class Base
|
||||
class << self
|
||||
protected
|
||||
def self.sanitize_sql_hash_for_conditions(attrs, default_table_name = quoted_table_name, top_level = true)
|
||||
def sanitize_sql_hash_for_conditions(attrs, default_table_name = quoted_table_name, top_level = true)
|
||||
attrs = expand_hash_conditions_for_aggregates(attrs)
|
||||
|
||||
return '1 = 2' if !top_level && attrs.is_a?(Hash) && attrs.empty?
|
||||
|
||||
conditions = attrs.map do |attr, value|
|
||||
table_name = default_table_name
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ nl:
|
||||
one: "ongeveer 1 uur"
|
||||
other: "ongeveer %{count} uren"
|
||||
x_hours:
|
||||
one: "1 uur"
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
x_days:
|
||||
one: "1 dag"
|
||||
@@ -990,37 +990,34 @@ nl:
|
||||
description_all_columns: Alle kolommen
|
||||
button_export: Exporteren
|
||||
label_export_options: "%{export_format} export opties"
|
||||
error_attachment_too_big: Dit bestand kan niet worden geupload omdat het de maximaal toegestane grootte overschrijd (%{max_size})
|
||||
notice_failed_to_save_time_entries: "Opslaan gefaald voor %{count} tijdsnotatie(s) van %{total} geselecteerde: %{ids}."
|
||||
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
|
||||
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
|
||||
label_x_issues:
|
||||
zero: 0 incidenten
|
||||
one: 1 incidenten
|
||||
other: "%{count} incidenten"
|
||||
label_repository_new: Nieuw repository
|
||||
field_repository_is_default: Hoofd repository
|
||||
label_copy_attachments: Copieer bijlage(n)
|
||||
zero: 0 issue
|
||||
one: 1 issue
|
||||
other: "%{count} issues"
|
||||
label_repository_new: New repository
|
||||
field_repository_is_default: Main repository
|
||||
label_copy_attachments: Copy attachments
|
||||
label_item_position: "%{position}/%{count}"
|
||||
label_completed_versions: Versies compleet
|
||||
field_multiple: Meerdere waardes
|
||||
setting_commit_cross_project_ref: Sta toe om incidenten van alle projecten te refereren en oplossen
|
||||
text_issue_conflict_resolution_add_notes: Voeg mijn notities toe en annuleer andere wijzigingen
|
||||
text_issue_conflict_resolution_overwrite: Voeg mijn wijzigingen alsnog toe (voorgaande notities worden bewaard, maar sommige kunnen overschreden worden)
|
||||
notice_issue_update_conflict: Dit incident is reeds geupdate door een andere gebruiker terwijl jij bezig was
|
||||
text_issue_conflict_resolution_cancel: Annuleer mijn wijzigingen en geef pagina opnieuw weer %{link}
|
||||
permission_manage_related_issues: Beheer gerelateerde incidenten
|
||||
|
||||
label_completed_versions: Completed versions
|
||||
field_multiple: Multiple values
|
||||
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
|
||||
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes
|
||||
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten)
|
||||
notice_issue_update_conflict: The issue has been updated by an other user while you were editing it.
|
||||
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link}
|
||||
permission_manage_related_issues: Manage related issues
|
||||
field_ldap_filter: LDAP filter
|
||||
|
||||
label_search_for_watchers: Zoek om monitoorders toe te voegen
|
||||
notice_account_deleted: Uw account is permanent verwijderd
|
||||
setting_unsubscribe: Sta gebruikers toe hun eigen account te verwijderen
|
||||
button_delete_my_account: Verwijder mijn account
|
||||
|
||||
label_search_for_watchers: Search for watchers to add
|
||||
notice_account_deleted: Your account has been permanently deleted.
|
||||
setting_unsubscribe: Allow users to delete their own account
|
||||
button_delete_my_account: Delete my account
|
||||
text_account_destroy_confirmation: |-
|
||||
Weet u zeker dat u door wilt gaan?
|
||||
Uw account wordt permanent verwijderd zonder mogelijkheid deze te heractiveren.
|
||||
error_session_expired: Uw sessie is verlopen. U dient opnieuw in te loggen.
|
||||
text_session_expiration_settings: "Waarschuwing: door deze instelling te wijzigen kan sessies laten verlopen inclusief de uwe"
|
||||
setting_session_lifetime: Maximale sessieduur
|
||||
setting_session_timeout: Sessie inactiviteit timeout
|
||||
label_session_expiration: Sessie verlopen
|
||||
Are you sure you want to proceed?
|
||||
Your account will be permanently deleted, with no way to reactivate it.
|
||||
error_session_expired: Your session has expired. Please login again.
|
||||
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
|
||||
setting_session_lifetime: Session maximum lifetime
|
||||
setting_session_timeout: Session inactivity timeout
|
||||
label_session_expiration: Session expiration
|
||||
|
||||
@@ -971,61 +971,61 @@
|
||||
setting_issue_group_assignment: Tillat tildeling av saker til grupper
|
||||
label_diff: diff
|
||||
|
||||
description_query_sort_criteria_direction: Sorteringsretning
|
||||
description_query_sort_criteria_direction: Sort direction
|
||||
description_project_scope: Search scope
|
||||
description_filter: Filter
|
||||
description_user_mail_notification: Mail notification settings
|
||||
description_date_from: Oppgi startdato
|
||||
description_message_content: Meldingsinnhold
|
||||
description_available_columns: Tilgjengelige kolonner
|
||||
description_date_range_interval: Velg datointervall ved å spesifisere start- og sluttdato
|
||||
description_date_from: Enter start date
|
||||
description_message_content: Message content
|
||||
description_available_columns: Available Columns
|
||||
description_date_range_interval: Choose range by selecting start and end date
|
||||
description_issue_category_reassign: Choose issue category
|
||||
description_search: Søkefelt
|
||||
description_search: Searchfield
|
||||
description_notes: Notes
|
||||
description_date_range_list: Choose range from list
|
||||
description_choose_project: Prosjekter
|
||||
description_date_to: Oppgi sluttdato
|
||||
description_choose_project: Projects
|
||||
description_date_to: Enter end date
|
||||
description_query_sort_criteria_attribute: Sort attribute
|
||||
description_wiki_subpages_reassign: Velg ny overordnet side
|
||||
description_selected_columns: Valgte kolonner
|
||||
label_parent_revision: Overordnet
|
||||
label_child_revision: Underordnet
|
||||
description_wiki_subpages_reassign: Choose new parent page
|
||||
description_selected_columns: Selected Columns
|
||||
label_parent_revision: Parent
|
||||
label_child_revision: Child
|
||||
error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size.
|
||||
setting_default_issue_start_date_to_creation_date: Bruk dagens dato som startdato for nye saker
|
||||
button_edit_section: Rediger denne seksjonen
|
||||
setting_default_issue_start_date_to_creation_date: Use current date as start date for new issues
|
||||
button_edit_section: Edit this section
|
||||
setting_repositories_encodings: Attachments and repositories encodings
|
||||
description_all_columns: Alle kolonnene
|
||||
button_export: Eksporter
|
||||
label_export_options: "%{export_format} eksportvalg"
|
||||
error_attachment_too_big: Filen overstiger maksimum filstørrelse (%{max_size}) og kan derfor ikke lastes opp
|
||||
description_all_columns: All Columns
|
||||
button_export: Export
|
||||
label_export_options: "%{export_format} export options"
|
||||
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
|
||||
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
|
||||
label_x_issues:
|
||||
zero: 0 sak
|
||||
one: 1 sak
|
||||
other: "%{count} saker"
|
||||
label_repository_new: Nytt depot
|
||||
field_repository_is_default: Hoveddepot
|
||||
label_copy_attachments: Kopier vedlegg
|
||||
label_repository_new: New repository
|
||||
field_repository_is_default: Main repository
|
||||
label_copy_attachments: Copy attachments
|
||||
label_item_position: "%{position}/%{count}"
|
||||
label_completed_versions: Completed versions
|
||||
text_project_identifier_info: Kun små bokstaver (a-z), tall, bindestrek (-) og "underscore" (_) er tillatt.<br />Etter lagring er det ikke mulig å gjøre endringer.
|
||||
field_multiple: Flere verdier
|
||||
text_project_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
|
||||
field_multiple: Multiple values
|
||||
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
|
||||
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes
|
||||
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten)
|
||||
notice_issue_update_conflict: Saken ble oppdatert av en annen bruker mens du redigerte den.
|
||||
text_issue_conflict_resolution_cancel: Forkast alle endringen mine og vis %{link} på nytt
|
||||
notice_issue_update_conflict: The issue has been updated by an other user while you were editing it.
|
||||
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link}
|
||||
permission_manage_related_issues: Manage related issues
|
||||
field_ldap_filter: LDAP filter
|
||||
label_search_for_watchers: Search for watchers to add
|
||||
notice_account_deleted: Din konto er ugjenkallelig slettet.
|
||||
setting_unsubscribe: Tillat brukere å slette sin egen konto
|
||||
button_delete_my_account: Slett kontoen min
|
||||
notice_account_deleted: Your account has been permanently deleted.
|
||||
setting_unsubscribe: Allow users to delete their own account
|
||||
button_delete_my_account: Delete my account
|
||||
text_account_destroy_confirmation: |-
|
||||
Er du sikker på at du ønsker å fortsette?
|
||||
Kontoen din vil bli ugjenkallelig slettet uten mulighet for å reaktiveres igjen.
|
||||
error_session_expired: Økten har gått ut på tid. Vennligst logg på igjen.
|
||||
text_session_expiration_settings: "Advarsel: ved å endre disse innstillingene kan aktive økter gå ut på tid, inkludert din egen."
|
||||
setting_session_lifetime: Øktenes makslengde
|
||||
setting_session_timeout: Økten er avsluttet på grunn av inaktivitet
|
||||
label_session_expiration: Økten er avsluttet
|
||||
Are you sure you want to proceed?
|
||||
Your account will be permanently deleted, with no way to reactivate it.
|
||||
error_session_expired: Your session has expired. Please login again.
|
||||
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
|
||||
setting_session_lifetime: Session maximum lifetime
|
||||
setting_session_timeout: Session inactivity timeout
|
||||
label_session_expiration: Session expiration
|
||||
|
||||
@@ -117,8 +117,8 @@ ru:
|
||||
many: "около %{count} часов"
|
||||
other: "около %{count} часа"
|
||||
x_hours:
|
||||
one: "1 час"
|
||||
other: "%{count} часов"
|
||||
one: "1 hour"
|
||||
other: "%{count} hours"
|
||||
x_days:
|
||||
one: "%{count} день"
|
||||
few: "%{count} дня"
|
||||
@@ -1121,7 +1121,7 @@ ru:
|
||||
button_export: Экспорт
|
||||
label_export_options: "%{export_format} параметры экспорта"
|
||||
error_attachment_too_big: Этот файл нельзя загрузить из-за превышения максимального размера файла (%{max_size})
|
||||
notice_failed_to_save_time_entries: "Невозможно сохранить %{count} затраченное время для %{total} выбранных: %{ids}."
|
||||
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
|
||||
label_x_issues:
|
||||
zero: 0 Задач
|
||||
one: 1 Задача
|
||||
@@ -1147,8 +1147,8 @@ ru:
|
||||
setting_unsubscribe: "Разрешить пользователям удалять свои учетные записи"
|
||||
button_delete_my_account: "Удалить мою учетную запись"
|
||||
text_account_destroy_confirmation: "Ваша учетная запись будет полностью удалена без возможности восстановления.\nВы уверены, что хотите продолжить?"
|
||||
error_session_expired: Срок вашей сессии истек. Пожалуйста войдите еще раз
|
||||
error_session_expired: Your session has expired. Please login again.
|
||||
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
|
||||
setting_session_lifetime: Максимальная продолжительность сессии
|
||||
setting_session_timeout: Таймут сессии
|
||||
label_session_expiration: Срок истечения сессии
|
||||
setting_session_lifetime: Session maximum lifetime
|
||||
setting_session_timeout: Session inactivity timeout
|
||||
label_session_expiration: Session expiration
|
||||
|
||||
@@ -4,19 +4,6 @@ Redmine - project management software
|
||||
Copyright (C) 2006-2012 Jean-Philippe Lang
|
||||
http://www.redmine.org/
|
||||
|
||||
== 2013-01-20 v1.4.7
|
||||
|
||||
* Patch for Rails vulnerability CVE-2013-0155
|
||||
|
||||
== 2013-01-09 v1.4.6
|
||||
|
||||
* Upgrade to Rails 2.3.15
|
||||
* Defect #12409: Git: changesets aren't read after clear_changesets call
|
||||
* Patch #12605: Norwegian translation for 1.4-stable update
|
||||
* Patch #12614: Dutch translation
|
||||
* Patch #12615: Russian translation
|
||||
* Patch #12630: Russian "x_hours" translation
|
||||
|
||||
== 2012-11-17 v1.4.5
|
||||
|
||||
* Defect #10818: Running rake in test environment causes exception
|
||||
|
||||
@@ -4,7 +4,7 @@ module Redmine
|
||||
module VERSION #:nodoc:
|
||||
MAJOR = 1
|
||||
MINOR = 4
|
||||
TINY = 7
|
||||
TINY = 5
|
||||
|
||||
# Branch values:
|
||||
# * official release: nil
|
||||
|
||||
@@ -212,40 +212,6 @@ class RepositoryGitTest < ActiveSupport::TestCase
|
||||
assert_equal h1, h2
|
||||
end
|
||||
|
||||
def test_keep_extra_report_last_commit_in_clear_changesets
|
||||
assert_nil @repository.extra_info
|
||||
h = {}
|
||||
h["extra_report_last_commit"] = "1"
|
||||
@repository.merge_extra_info(h)
|
||||
@repository.save
|
||||
@project.reload
|
||||
|
||||
assert_equal 0, @repository.changesets.count
|
||||
@repository.fetch_changesets
|
||||
@project.reload
|
||||
|
||||
assert_equal NUM_REV, @repository.changesets.count
|
||||
@repository.send(:clear_changesets)
|
||||
assert_equal 1, @repository.extra_info.size
|
||||
assert_equal "1", @repository.extra_info["extra_report_last_commit"]
|
||||
end
|
||||
|
||||
def test_refetch_after_clear_changesets
|
||||
assert_nil @repository.extra_info
|
||||
assert_equal 0, @repository.changesets.count
|
||||
@repository.fetch_changesets
|
||||
@project.reload
|
||||
assert_equal NUM_REV, @repository.changesets.count
|
||||
|
||||
@repository.send(:clear_changesets)
|
||||
@project.reload
|
||||
assert_equal 0, @repository.changesets.count
|
||||
|
||||
@repository.fetch_changesets
|
||||
@project.reload
|
||||
assert_equal NUM_REV, @repository.changesets.count
|
||||
end
|
||||
|
||||
def test_parents
|
||||
assert_equal 0, @repository.changesets.count
|
||||
@repository.fetch_changesets
|
||||
|
||||
Reference in New Issue
Block a user