How does Mercurial handle Alternate Data Streams (in the NTFS file system)? If it can't handle that, is there a DCVS that does?
EDIT: When I change version with update, what happens to the ADS ? Is it lost (erased)? Is it versioned too? Is it alltogether ignored?
Alternate Data Streams (ADS) is a virtually unknown compatibility feature of New Technology File System (NTFS) that can provide attackers with a method of hiding hacker tools, keyloggers, and so on, on a breached system and then will allow them execution without being detected.
Description. The NTFS file system includes support for alternate data streams. This is not a well known feature and was included, primarily, to provide compatibility with files in the Macintosh file system. Alternate data streams allow files to contain more than one stream of data.
An Alternate Data Stream is a little-known feature of the NTFS file system. It has the ability of forking data into an existing file without changing its file size or functionality. Think of ADS as a 'file inside another file'.
Linux has support for extended attributes, but not for alternate data streams or NFSv4 named attributes (either on client or server). The NFSv4 protocol supports "user." extended attributes, see RFC 8276, as do recent Linux clients and servers.
Mercurial does not store alternate data stream. Additionally, they are likely to be overwritten on update.
I don't think any of the open source VCS I know handle that kind of thing (even permissions are usually not handled).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With