ncw / swift

Go language interface to Swift / Openstack Object Storage / Rackspace cloud files (golang)
MIT License
313 stars 107 forks source link

Add symlink support #152

Closed thiagodasilva closed 4 years ago

thiagodasilva commented 4 years ago

Added symlink support with tests. Dynamic links have been available in Swift since version 2.17.0 and static links since 2.23.0

Closes #139

ncw commented 4 years ago

This looks like a nice contribution - thank you :-)

However the tests still need to pass on older swifts which don't support this feature.

Can you think of a way of doing that?

thiagodasilva commented 4 years ago

@ncw thanks for taking a look! I tried to add a check on the /info endpoint. What do you think?

ncw commented 4 years ago

Looks like a great plan! Do the tests still work when you try them on a swift backend with symlinks enabled?

I don't have access to a swift server like that... I wonder if there is a docker image for a swift all in one to test against - that would be really convenient and we could add that to the integration tests...

thiagodasilva commented 4 years ago

Looks like a great plan! Do the tests still work when you try them on a swift backend with symlinks enabled?

yeah, worked for me. Although I wish I was able to get the skip messages printed out on terminal. That would tell me when tests are running or not

I don't have access to a swift server like that... I wonder if there is a docker image for a swift all in one to test against - that would be really convenient and we could add that to the integration tests...

Yeah, please try: docker run -d -p 8080:8080 openstackswift/saio This image is maintained by the openstack swift community. latest is tracking master, but there's also a tag for release 2.23

ncw commented 4 years ago

This looks great now thanks, I'll merge it.

Yeah, please try: docker run -d -p 8080:8080 openstackswift/saio This image is maintained by the openstack swift community. latest is tracking master, but there's also a tag for release 2.23

I've had a go with that with rclone and it works very well for testing.

It would be nice to set up a travis build which runs against that - fancy having a go at that?