Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for s3sync.rb directories #5374

Closed
cyberduck opened this issue Oct 24, 2010 · 1 comment
Closed

Support for s3sync.rb directories #5374

cyberduck opened this issue Oct 24, 2010 · 1 comment
Assignees
Labels
bug fixed s3 AWS S3 Protocol Implementation
Milestone

Comments

@cyberduck
Copy link
Collaborator

d0d4ee7 created the issue

s3sync.rb (http://www.s3sync.net/) is a cross-platform Ruby program that easily transfers directories between a local directory and an Amazon S3 bucket:prefix.
I greatly recommend s3sync for any big S3 synchronization tasks.

Cyberduck (tested version 3.7 / 7380) does not yet support S3 directories created by s3sync, even though they are correctly displayed as directories in e.g. S3Fox (S3 Firefox plugin). The developer of s3sync quotes in his README:

In S3 there's no actual concept of folders, just keys and nodes. So, every tool
uses its own proprietary way of storing dir info (my scheme being the best
naturally) and in general the methods are not compatible.

s3sync seems to store directories as dummy nodes that all contain the same directory string "{E40327BF-517A-46e8-A6C3-AF51BC263F59}". See code snippets of s3sync.rb:

	$S3syncDirString = '{E40327BF-517A-46e8-A6C3-AF51BC263F59}'
	$S3syncDirTag = 'd66759af42f282e1ba19144df2d405d0'
	$S3syncDirFile = Tempfile.new("s3sync")
	$S3syncDirFile.puts $S3syncDirString
	$S3syncDirFile.close # not final; we need this file again to 'put' directory nodes

...

		def directory?()
			@tag ## $S3syncDirTag and @size $S3syncDirString.length

...

				# all s3 directories are dummy nodes contain the same directory string
				# so for easy comparison, set our size and tag thusly
				@size = $S3syncDirString.length
				@tag = $S3syncDirTag

It would be great if Cyberduck would support those directories as well in the future.

thanks!
Regards, Philip


Attachments

@cyberduck
Copy link
Collaborator Author

@dkocher commented

In 5cc8de2.

@iterate-ch iterate-ch locked as resolved and limited conversation to collaborators Nov 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug fixed s3 AWS S3 Protocol Implementation
Projects
None yet
Development

No branches or pull requests

2 participants