[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Subversion binary file detection is look like broken

From: Navrotskiy Artem <bozaro_at_ya.ru>
Date: Fri, 03 Oct 2014 11:26:32 +0400
Hello,
Subversion console client try to detect binary file with algorythm:
  1. File is NOT BINARY if it contains only BOM UTF-8 signature (why not check as first N bytes is corret UTF-8?);
  2. File is BINARY if first 1024 bytes contains ZERO byte (uniform distribution of bytes takes change of absent ZERO byte: (1 - 1 / 256) ^ 1024 = ~1.8%);
  3. File is BINARY if first 1024 bytes contains over 85% of characters not in range0x07-0x0D, 0x20-0x7F (total we have 153 "binary" bytes, ~60%).
This algoritm looks like broken.
For example:
  1. File "text.txt":
    Is file contains text block from wikipedia about subversion in UTF-8 (https://ru.wikipedia.org/wiki/Subversion) andunfortunaly contains too many cyrillic charactes (on character - 2 "binary" bytes).
  2. File "binary.txt" detected as "text"
    It was created by "dd if=/dev/urandom of=binary.txt count=1 bs=2048" and unfortunaly does not contains ZERO byte in first 1024 bytes.
--
Best regards,
Navrotskiy Artem

6$AQ^FBfex}:^`̷$N;޳S}9ڨe/[k΋Y-"Q)_+_n.b-ڳ`= F$d CJcuǕWwVex.6R'WqP!(Cƭ~֊ -`iQiX+ǽ=F~,P֏I`1(gmzqdɝ$G3p`F,ޜ*w1Ӵ/-%i0qcN9,28Q(́u2RȊEjVP9ezw}1IKTwnlBg搩 tc!\:\Imҋp#;x\du_愻gӶp[0ZjFQ@jYԺF;XWbMZnVi\g˸(y*. L:h1
'T_at_YuUdsUg a WBP2ݳ+GCXav_P ({v2SCLfq/\?+Qmr@6VQ?7oWsLxzE/
tF( 6g1+$M:E%hL_n55IFXAۭ ls{j5׋jxP*V4"CK (hFWb/a
ݧgB6gMDg@Z?ziS|?G
r'юZebu^Is:z0TD {\ 14w)N\=JjRqOAűppWSe|D۝]7o{#Apf'cxNdO5>פ>ngcN9HG(绣=Z5! LqGfФ'YE2oB<Fq:ԯ=@_Տ DzQcU_at_4 X/qoddGqKXZe@'ˠ'ok&EOY|2.^*6Nvs (Hm!njobON Nˬ0j 3EɏLI] 2$8=M {, W K,g^($;= 89 ˰3yJe@h/%ojIn9S<Ȭ8ZuC&1"ܶkH'_pU)T_՟w'Uٙ5nCBVgOLeکS>*u[zp/2R)rU?^~7 DwgVFsBr$ 3Mwvzg hYma[&HB,GY KOt%O//S柏$YH?ikH*kN}mTw)[pae&z0 g*t eHd7@UPxc}cZA$Q{5hޥ޿hIyrv($fLD"<s,mHIa԰vux]\QVEPT{E^U<#f'b*3|J ]sAlE$sԙaPESMA;m E1tle/wBߤt&Smg<[]xnXfz=Hp'sw$-$g@}8˖eu#wOޠIltA
ߜm>
rח[.:<`7Ap@Rv?: l[ k1I.B/:rdDԢ3

Разработка Subversion была начата в 2000 году по инициативе и при финансовой поддержке CollabNet. Инициаторы проекта хотели создать свободную систему управления версиями, в основном похожую на CVS, но лишённую её ошибок и неудобств. В то время не существовало лучших программ этого класса со свободной лицензией, CVS была стандартом де-факто среди разработчиков свободного программного обеспечения. Выбрав её за основу, разработчики Subversion надеялись упростить разработку за счёт использования уже проверенных концепций и в то же время облегчить переход на новую систему многочисленным пользователям CVS.[15]
Received on 2014-10-03 13:07:41 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.