Menu

#90 Fewer Unnecessary Uploads with Creatable Transcripts

open
nobody
UNIX (32)
5
2009-10-19
2009-10-19
Jeff Kelley
No

When using fsdiff -C, files are always uploaded, regardless of the change. I'd like to see an option for fsdiff that would make it work more like fsdiff -A; files that need to be uploaded would be prefaced with a + and files that have merely changed attributes (say, modtime) would not. For instance, if we have this transcript:

d ./foo 0755 183575 20
f ./foo/bar 0644 183575 20 1255976903 0 -
f ./foo/baz 0644 183575 20 1255976906 0 -

If I change bar while only touching baz, this is the current output (1.13):

aristotle:~ slauncha$ echo "test" >> ./foo/bar; touch ./foo/baz; fsdiff -C -I ./foo
f ./foo/bar 0644 183575 20 1255977020 5 -
f ./foo/baz 0644 183575 20 1255977020 0 -

Ideally, the output would look like this:

aristotle:~ slauncha$ echo "test" >> ./foo/bar; touch ./foo/baz; fsdiff -C -I ./foo
+ f ./foo/bar 0644 183575 20 1255977020 5 -
f ./foo/baz 0644 183575 20 1255977020 0 -

Then, lcreate would only upload ./foo/bar, not ./foo/baz.

On the server side, lmerge would simply link the old version of the file with the new transcript. This would save a ton of hard disk space in the case where a version update for a program touches every file in its directory, not just the ones that have changed.

Discussion


Log in to post a comment.

Auth0 Logo