プロジェクト

全般

プロフィール

Vote #67823

完了

Most binary files become corrupted when downloading from CVS repository browser when Redmine is running on a Windows server

Admin Redmine さんが3年以上前に追加. 3年以上前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
SCM_3
対象バージョン:
開始日:
2010/08/09
期日:
進捗率:

0%

予定工数:
category_id:
3
version_id:
31
issue_org_id:
6090
author_id:
13723
assigned_to_id:
11192
comments:
6
status_id:
5
tracker_id:
1
plus1:
0
affected_version:
closed_on:
affected_version_id:
30
ステータス-->[Closed]

説明

Most binary files become corrupted when downloading from CVS repository browser when Redmine is running on a Windows server. The corruption is 100% repeatable.

The patch is a one character change at source:trunk/lib/redmine/scm/adapters/abstract_adapter.rb#L191.

<             IO.popen(cmd, "r+") do |io|
----
>             IO.popen(cmd, "r+b") do |io|

On Windows, without this change the pipe is opened in text mode and any 0x1A bytes are treated as EOF and subsequent bytes already in the pipe are discarded.

Note: "r+b" is equivalent to "r+" on non-Windows platforms, so this patch should be harmless for all platforms.


journals

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Gareth, Could you try this patch?
And where can I download Windows CVS 1.12 binary?
--------------------------------------------------------------------------------
Maruyama-san,

> Gareth, Could you try this patch?

Your patch works great on my system, thanks.

You probably spotted that my original patch was flawed, since some of the other calls to shellout() need to be opened using "r+" instead of "r+b"; since submitting my original one, I modified it locally to pass the mode as an argument with a default of "r+".

Your solution is neater!

> And where can I download Windows CVS 1.12 binary?

My CVS servers are running CVS 1.11 (stable), although I'd like CVS 1.12 for the enhanced directory listing. At the moment, I'm relying on patch #4113.

My Redmine server seems to have very old CVSNT 2.5.03 client.

Links:
* http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-woe/ (Windows CVS 1.11)
* http://ftp.gnu.org/non-gnu/cvs/binary/feature/x86-woe/ (Windows CVS 1.12)
* http://www.cvsnt.org/

Thanks,
Gareth

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
I commited trunk r4815 and 1.1 stable r4818.

Thanks.
--------------------------------------------------------------------------------


related_issues

relates,Closed,2664,Mercurial: Repository path encoding of non UTF-8 characters

Admin Redmine さんが3年以上前に更新

  • カテゴリSCM_3 にセット
  • 対象バージョン1.1.2_31 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0