[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 rangeš0x07-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) andšunfortunaly 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õ^¥ÝFBfÝex}:^ã`œìØÌ·$N;÷Þ³Sé}ç9Ú¨âÞÞýe/ùò¯¹[æk΋‘Y-žúœ"ÛQ)_+_±³™¼n.çØÃb¤ç-Ú³Ç`ƒ·Ž‡ËÙ=â æF™Ëœ$dÞÉâú CJc�u¢ÝÇ•Wîëw­¾Vö†ex.‰�6�Œ™RˆÙ'ÞôˆWµìqP�Š÷»‹ëÀï!¸à¯(™CÆ­±~ ÖŠ -Ø`iQi·X®™ê“+ǽ�ú=Fƒ~,P¯ñÖ�¢I`1Ù(gm¨ézq·ÙdÉ�ç÷â$G3 Š�p`º‚üFÍñ”,Þœ­*wä1Ó´/€-¤Ä%iè0q»cN9éù�,28Q(äÍ�®u¯2RìÈŠEj‡‹ÝÝéVPä9ïûñýËÑØe¶˜„zw}1—IÞKÀìTwn‘��ÈlíâBígÀæ�©‚ë tšc!Å\:\¼àImÒ‹p#é;Ãx\ƒd¿�ÂuŒº¤_æ„»ÜðâÀ gÓ¶žpõ¹ð‰[£0îZjFQ@‹jòY‚€éÔºÃFö;áXWúbÞMÍ¿ZÀän–ŒVi\gÍ˸(‹y…¹†—*. LùÔ:h1
'T_at_YuUµèßdísUg ©aêÁ Á¯W²BPÚìÒä÷¸™2‰ì˜Ý³+½G¨šÇCXav_P ûîãâ(ŒÃ{Îïåûv2®S€ÝÇCLÚžñ�‰Ëñfq/\?Ó+Q�¬ý¼ÁÃmrÏä@6VÔQ?â7ëoË÷ÎçºWs†„ŸLxzE/
Èt¿F( 6gðŠ„ƒ1ŸýéÄ+”$M“:ÒE%ô×hˆ¶ÌþÚL°_n55­IF¬ûŽÀXíAÛ­º “—îl¢£ãs{j5ç׋­Ïj¬¥x©¿Pƒµ‚ü*æV4³¥¹÷ü"þCK�ù˜ ê(hFÔW£b˜/÷aÁ‰ •¥
ݧg–ÌBñ6¼ÜýgM—Dê©ñg@¯Z?zµÙiS|ù?G§
rž¿'ÇÑŽZ„ebë«ÂuÌä�†Ðí^øIs:zßß0TD¾ ¯Á†Ò{·\È—» ¶ –14wºí)ÖN\=¹J€jR‹qíOA¦Å±pp©èW’S·Øeý»|£ôDÛ�¹]7oŠ{#–A£Öpf'«cx·NÈúd§ÌO´š·‚5Ú>ž×¤×>ngæcN9×ß­H‹�½�G´°®Ã(£ç»£=Z5Ø!²Ó L¾q”£ø£Güf³Ð¤'YüÇE÷¡ò‘†2øÎÂoB<ÆïFq:Ô¯ß=Öð@Ëû“ü ¬é_¸Õ� Dzú�QþcU_at_4¶ò­�ð��§ Xé€/qo•ÍddGqèKXZeù@'¦Ë 'ok&ÈEÏùÄݯæóOŠY¿|½š2Š„Ê.¯^®´‚*�6ÁNv«­s¿ ¦(áHmˆ¾!ÇŒ¸oàbON˜ ¥¶N’“ˬ0 êj€ �”¡•±3EÉ�LÊI]‚ 2$�8=îÁMá ¡Ü{Óã, ðW K,g‰^Õ÷Åù�(À�$;í= 89 ˰¯Ó3yJeêÝã@çöh/’¦‹µ%çoš³šjÊI‹n9S<ŽÑȬþ8ZuC&—1"ܶŒñ òÒ†kÒH'_pUú)T_ÕŸwï'UÙ™5nCÁBV˜îgO¿LèÚe�Ú©S±>ÃÓ*u[z¸pØ/È2üûRžç÷)ÊråUÙü?^²~7ÇÒÆ Ž®Åó�Dºwg‡ãŸåúVF½›sŒ¥Büü»ˆâê÷’r$ Í3M¸wvzg ŒhÈYºm¸·©Ìaí[æ&¦H²šòBÐë,¬ÇGY  KOt%O€/ŠŠ�‘/�õ¶ÆSŠæŸ�Ðϼ$Yƒ‹êH¨¿?øô•ÀÛiˆkHÀÊÿ½*kN}m�ÚÅT¢w)¼Èò[paúeœ&çå…z0ö g*Ût ¤° eé¼ÿHd7ÃÂ@ÙUˆP¶ŽxÚÔc©Ò�à}…cZAŸ$ŽQ”Ð{5hÞ¥Þ¿hµõàí‘ÛI¬�ݺ”yrv($fLþDü§ŽÌ"öå<Æs¹,ŸàÄÿ‡mH‘Iââa£Ô°¦v»uð‰’x]\ÜQ§ÍØVEñàPÕþT{E·þ•¸^U�Û<#Âù÷f»'b*3Ïßê|�J ]sAlE$sÔ™­æaPÉES°´ýüMÊA»¼;m EâÃ1’tð­le /wB‘ߤt&œSáümÚæg<ÓÑ[š£ÿÍ]Àxn³£Xfzêï=Hp'sw$-$g@üš‡}þÙ8Ë–eu·#wâ‰OãÞ ¯�IŒÔltA‚
´ÈÒßœm>
År×—[.:ÌË<`7ñAó†÷p@¸ºð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.