Tag Info

New answers tagged

3

This is a task that defies static analysis. For example the not-unlikely code def open_me(dir_path, filename, extension): return open(dir_path + filename + extension) would be a tough one to catch. When faced with an insoluble problem, use heuristics. I'd go both directions with this. Assume that every filename in the tree is a candidate for being ...


2

There are filesystems that do this, btrfs or ZFS for example. Not (just) for files, also for individual extents. Dropbox also does this (or at least used to). Uploading a large file that another user already uploaded takes only a small amount of time, because it isn't actually uploaded. The client sends a hash of the file to the server, and when the server ...


1

The problem is, by doing this in the background you are changing the mutability semantics of the system in a way that people just wouldn't expect. Consider the following workflow: I create a wonderful piece of art in myasciidrawing.txt. I decide that I want to create a similar piece of art, so I copy myasciidrawing.txt to awesomeasciidrawing.txt and ...


11

It's called deduplication. Some filesystems do it (like ZFS), some block-level storage systems do it (like NetApp), some backup systems do it (rsnapshot), source code managment systems do it (Git, bzr, fossil) It's not so rare, just that until recently it was an expensive option for generic filesystems. Note that it's not a good idea to do it as you ...


0

I'm going to assume you mean resource type files here e.g. images, songs, sounds etc. If you're on about sharing executable code, this path has already been well trodden: windows has had its DLL Hell whilst Unix gets round this by compiling an all singing, all dancing executable. The main problem with resource type files to my mind comes with editing. Say ...



Top 50 recent answers are included