Differences between revisions 6 and 7
Revision 6 as of 2007-02-17 02:02:53
Size: 3038
Editor: LidiaYngsdal
Comment:
Revision 7 as of 2007-02-17 10:08:24
Size: 1348
Comment:
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
Note that we rarely need to Note that we rarely need to 
Line 30: Line 30:
 [http://bogusly.freewebpages.org/52.html horny webcam girls] | [http://future.exactpages.com/60.html tight voyeur pussy] | [http://incipiency.envy.nu/79.html anal shemale porn] | [http://brunettes.o-f.com/55.html big breasts webcam] | [http://homepage.mac.com/nonreader/10.html reality sex hooker] | [http://homepage.mac.com/shit3/8.html ffm fist] | [http://carrycot.dreamstation.com/34.html anal webcam] | [http://militated.g0g.net/39.html teens sports bra] | [http://buckshots.741.com/48.html masturbate on webcam] | [http://dispersal.100freemb.com/76.html webcam hidden] | [http://lister.100freemb.com/92.html webcam pee] | [http://hoodwink.fcpages.com/40.html leagal public nudity] | [http://woofed.ibnsites.com/50.html huge penis novel] | [http://potty.freewebsitehosting.com/81.html katie bdsm story] | [http://whistle.angelcities.com/4.html telephone femdom] | [http://checkoff.1accesshost.com/34.html webcam naked] | [http://mesas.1accesshost.com/12.html ass on webcam] | [http://homepage.mac.com/wylie4/73.html clit gallery] | [http://sprites.dreamstation.com/18.html webcam gay chatroom] | [http://rumbas.freecities.com/59.html pussy fuck mpg] | [http://pooed.741.com/29.html gray hirsute] | [http://ctenophore.angelcities.com/13.html masturbating webcam amateurs] | [http://bogusly.freewebpages.org/5.html webcam archive nude] | [http://absolutely.wtcsites.com/86.html penis webcam] | [http://similar.741.com/37.html tgp cumshot] | [http://foreknown.150m.com/88.html school spanking lawsuits] | [http://crosier.bravepages.com/28.html tits on webcam] | [http://whistle.angelcities.com/30.html cooking school miami] | [http://homepage.mac.com/tormenting/52.html red head fucking]

To deal with CaseFolding on the repo side, we need to:

  • escape uppercase ASCII characters in filenames
  • escape high ASCII
    • Unicode and other characters may be case-folded as well
    • Filesystems and operating systems may do other unfortunate things to
      • filenames which will cause interoperability trouble
  • use the same scheme by default on all systems to avoid backup and media sharing issues

A simple escaping scheme is as follows:

  • replace _ with __

  • replace A-Z with _a, etc.
  • replace characters 126-255 and '\:*?"<>|' with ~7e to ~ff (note this escapes tilde as well

Note that we rarely need to

Implementation plan:

  • add separate localrepo access methods for all store data (changelog, manifest, data/*, journal, lock) (./)

  • if .hg/data exists at localrepo init time, use old access scheme (./)

  • if not, access all store data with escaped paths inside .hg/store/ (eg .hg/store/00changelog.i or .hg/store/data/_readme.i) (./)

This scheme will automatically escape all paths on newly cloned or created repos.

On the working directory side, the best we can do is detect collisions. A simple scheme might look something like this:

  • detect case sensitive filesystem at checkout/update time (./)

  • scan manifest for case-folding collisions and issue a warning (./)

CaseFoldingPlan (last edited 2012-11-06 23:04:58 by abuehl)