mirror of
https://github.com/chrislusf/seaweedfs
synced 2025-07-23 03:52:48 +02:00
* test versioning also * fix some versioning tests * fall back * fixes Never-versioned buckets: No VersionId headers, no Status field Pre-versioning objects: Regular files, VersionId="null", included in all operations Post-versioning objects: Stored in .versions directories with real version IDs Suspended versioning: Proper status handling and null version IDs * fixes Bucket Versioning Status Compliance Fixed: New buckets now return no Status field (AWS S3 compliant) Before: Always returned "Suspended" ❌ After: Returns empty VersioningConfiguration for unconfigured buckets ✅ 2. Multi-Object Delete Versioning Support Fixed: DeleteMultipleObjectsHandler now fully versioning-aware Before: Always deleted physical files, breaking versioning ❌ After: Creates delete markers or deletes specific versions properly ✅ Added: DeleteMarker field in response structure for AWS compatibility 3. Copy Operations Versioning Support Fixed: CopyObjectHandler and CopyObjectPartHandler now versioning-aware Before: Only copied regular files, couldn't handle versioned sources ❌ After: Parses version IDs from copy source, creates versions in destination ✅ Added: pathToBucketObjectAndVersion() function for version ID parsing 4. Pre-versioning Object Handling Fixed: getLatestObjectVersion() now has proper fallback logic Before: Failed when .versions directory didn't exist ❌ After: Falls back to regular objects for pre-versioning scenarios ✅ 5. Enhanced Object Version Listings Fixed: listObjectVersions() includes both versioned AND pre-versioning objects Before: Only showed .versions directories, ignored pre-versioning objects ❌ After: Shows complete version history with VersionId="null" for pre-versioning ✅ 6. Null Version ID Handling Fixed: getSpecificObjectVersion() properly handles versionId="null" Before: Couldn't retrieve pre-versioning objects by version ID ❌ After: Returns regular object files for "null" version requests ✅ 7. Version ID Response Headers Fixed: PUT operations only return x-amz-version-id when appropriate Before: Returned version IDs for non-versioned buckets ❌ After: Only returns version IDs for explicitly configured versioning ✅ * more fixes * fix copying with versioning, multipart upload * more fixes * reduce volume size for easier dev test * fix * fix version id * fix versioning * Update filer_multipart.go * fix multipart versioned upload * more fixes * more fixes * fix versioning on suspended * fixes * fixing test_versioning_obj_suspended_copy * Update s3api_object_versioning.go * fix versions * skipping test_versioning_obj_suspend_versions * > If the versioning state has never been set on a bucket, it has no versioning state; a GetBucketVersioning request does not return a versioning state value. * fix tests, avoid duplicated bucket creation, skip tests * only run s3tests_boto3/functional/test_s3.py * fix checking filer_pb.ErrNotFound * Update weed/s3api/s3api_object_versioning.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update weed/s3api/s3api_object_handlers_copy.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update weed/s3api/s3api_bucket_config.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/s3/versioning/s3_versioning_test.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
114 lines
1.9 KiB
Text
114 lines
1.9 KiB
Text
.goxc*
|
|
vendor
|
|
tags
|
|
*.swp
|
|
### OSX template
|
|
.DS_Store
|
|
.AppleDouble
|
|
.LSOverride
|
|
|
|
# Icon must end with two \r
|
|
Icon
|
|
|
|
# Thumbnails
|
|
._*
|
|
|
|
# Files that might appear in the root of a volume
|
|
.DocumentRevisions-V100
|
|
.fseventsd
|
|
.Spotlight-V100
|
|
.TemporaryItems
|
|
.Trashes
|
|
.VolumeIcon.icns
|
|
|
|
# Directories potentially created on remote AFP share
|
|
.AppleDB
|
|
.AppleDesktop
|
|
Network Trash Folder
|
|
Temporary Items
|
|
.apdisk
|
|
### JetBrains template
|
|
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
|
|
|
|
*.iml
|
|
|
|
## Directory-based project format:
|
|
.idea/
|
|
# if you remove the above rule, at least ignore the following:
|
|
|
|
# User-specific stuff:
|
|
# .idea/workspace.xml
|
|
# .idea/tasks.xml
|
|
# .idea/dictionaries
|
|
|
|
# Sensitive or high-churn files:
|
|
# .idea/dataSources.ids
|
|
# .idea/dataSources.xml
|
|
# .idea/sqlDataSources.xml
|
|
# .idea/dynamic.xml
|
|
# .idea/uiDesigner.xml
|
|
|
|
# Gradle:
|
|
# .idea/gradle.xml
|
|
# .idea/libraries
|
|
|
|
# Mongo Explorer plugin:
|
|
# .idea/mongoSettings.xml
|
|
|
|
## vscode
|
|
.vscode
|
|
## File-based project format:
|
|
*.ipr
|
|
*.iws
|
|
|
|
## Plugin-specific files:
|
|
|
|
# IntelliJ
|
|
/out/
|
|
|
|
# mpeltonen/sbt-idea plugin
|
|
.idea_modules/
|
|
|
|
# JIRA plugin
|
|
atlassian-ide-plugin.xml
|
|
|
|
# Crashlytics plugin (for Android Studio and IntelliJ)
|
|
com_crashlytics_export_strings.xml
|
|
crashlytics.properties
|
|
crashlytics-build.properties
|
|
|
|
workspace/
|
|
|
|
test_data
|
|
build
|
|
target
|
|
*.class
|
|
other/java/hdfs/dependency-reduced-pom.xml
|
|
|
|
# binary file
|
|
weed/weed
|
|
docker/weed
|
|
|
|
# test generated files
|
|
weed/*/*.jpg
|
|
docker/weed_sub
|
|
docker/weed_pub
|
|
weed/mq/schema/example.parquet
|
|
docker/agent_sub_record
|
|
test/mq/bin/consumer
|
|
test/mq/bin/producer
|
|
test/producer
|
|
bin/weed
|
|
weed_binary
|
|
/test/s3/copying/filerldb2
|
|
/filerldb2
|
|
/test/s3/retention/test-volume-data
|
|
test/s3/cors/weed-test.log
|
|
test/s3/cors/weed-server.pid
|
|
/test/s3/cors/test-volume-data
|
|
test/s3/cors/cors.test
|
|
/test/s3/retention/filerldb2
|
|
test/s3/retention/weed-server.pid
|
|
test/s3/retention/weed-test.log
|
|
/test/s3/versioning/test-volume-data
|
|
test/s3/versioning/weed-test.log
|