Compare commits

..

1 Commits
1.4.7 ... 1.4.5

Author SHA1 Message Date
Jean-Philippe Lang
54eecf54ff tagged version 1.4.5
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/tags/1.4.5@10835 e93f8b46-1217-0410-a6f0-8f06a7374b81
2012-11-17 13:25:19 +00:00
10 changed files with 76 additions and 146 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -4,7 +4,7 @@ module Redmine
module VERSION #:nodoc:
MAJOR = 1
MINOR = 4
TINY = 7
TINY = 5
# Branch values:
# * official release: nil

View File

@@ -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