Augie Fackler <raf@durin42.com> [Tue, 16 Dec 2014 13:07:10 -0500] rev 23597
darwin: omit ignorable codepoints when normcase()ing a file path
This lets us avoid some nasty case collision problems in OS X with
invisible codepoints.
Augie Fackler <raf@durin42.com> [Tue, 16 Dec 2014 13:06:41 -0500] rev 23596
encoding: add hfsignoreclean to clean out HFS-ignored characters
According to Apple Technote 1150 (unavailable from Apple as far as I
can tell, but archived in several places online), HFS+ ignores sixteen
specific unicode runes when doing path normalization. We need to
handle those cases, so this function lets us efficiently strip the
offending characters from a UTF-8 encoded string (which is the only
way it seems to matter on OS X.)
Augie Fackler <raf@durin42.com> [Thu, 11 Dec 2014 15:42:49 -0500] rev 23595
test-casefolding.t: demonstrate a bug with HFS+ ignoring some codepoints
Augie Fackler <augie@google.com> [Fri, 12 Dec 2014 13:40:44 -0500] rev 23594
manifest: disallow setting the node id of an entry to None
manifest.diff() uses None as a special value to denote the absence of
a file, so setting a file node to None means you then can't trust
manifest.diff().
This should also make future manifest work slightly easier.
Augie Fackler <augie@google.com> [Fri, 12 Dec 2014 15:29:54 -0500] rev 23593
context: stop setting None for modified or added nodes
Instead use a magic value, so that we can identify modified or added
nodes correctly when using manifest.diff().
Thanks to Martin von Zweigbergk for catching that we have to update
_buildstatus as well. That part eluded my debugging for some time.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 13 Dec 2014 13:33:48 -0500] rev 23592
largefiles: don't actually remove largefiles in an addremove dry run
The addlargefiles() method already properly handled dry runs.
Eric Sumner <ericsumner@fb.com> [Wed, 17 Dec 2014 15:11:26 -0800] rev 23591
bundle2: lowercase part types
Since the capitalization no longer carries any meaning (previous diff), this
patch normalizes all of the bundle2 part type strings to lower case.
Eric Sumner <ericsumner@fb.com> [Wed, 17 Dec 2014 21:14:19 -0800] rev 23590
bundle2.bundlepart: make mandatory part flag explicit in API
This makes all bundle2 parts mandatory unless they are expressly made advisory
via the keyword parameter or the bundlepart.mandatory property.