[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.