Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: yuya-takeyama/strict-s3-sync
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.2.0
Choose a base ref
...
head repository: yuya-takeyama/strict-s3-sync
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.3.0
Choose a head ref
  • 3 commits
  • 5 files changed
  • 3 contributors

Commits on Aug 10, 2025

  1. feat: separate plan and result JSON outputs with improved structure (#52

    )
    
    * feat: add skipped files tracking to JSON output
    
    - Add SkippedFile type to track excluded files with reason
    - Collect skipped files during local and S3 file scanning
    - Include skipped files and count in JSON result output
    - Update Summary struct with Skipped field
    
    This enhancement provides visibility into which files were excluded
    from sync operations when using --exclude patterns.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * refactor: restructure JSON output to use unified Files array
    
    BREAKING CHANGE: JSON output structure changed
    - Replaced "changes" with "files" array containing all file operations
    - Removed separate "skipped" array for excluded files
    - Files with unchanged checksums are now included with action "skip"
    - Excluded files (via --exclude patterns) are NOT included in output
    - Each file entry now includes "reason" field explaining the action
    
    This provides a cleaner, more consistent JSON structure where all
    processed files are in a single array with their action type and reason.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * feat: separate plan and result JSON outputs
    
    BREAKING CHANGE: Restructured JSON output format
    - Added --plan-json-file for execution plan output
    - Modified --result-json-file for execution results only
    - result-json-file is not output in dry-run mode
    
    Plan JSON structure:
    - files: array of planned operations
    - summary: counts by action type (skip, create, update, delete)
    
    Result JSON structure:
    - files: successfully executed operations
    - errors: failed operations with error messages
    - summary: execution counts (skipped, created, updated, deleted, failed)
    - Removed total_files field
    
    Key changes:
    - Plan shows what will be done (present tense actions)
    - Result shows what was done (past tense actions)
    - Failed operations appear in errors array, not in summary counts
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * fix: initialize errors array as empty instead of null
    
    Ensure JSON output consistency by initializing the errors array
    as an empty array [] instead of null when there are no errors.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * docs: update README with new JSON output formats
    
    - Document --plan-json-file and --result-json-file options
    - Add examples for both plan and result JSON structures
    - Clarify dry-run behavior with result JSON
    - Show difference between present tense (plan) and past tense (result)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude <noreply@anthropic.com>
    yuya-takeyama and claude authored Aug 10, 2025
    Configuration menu
    Copy the full SHA
    ef87f33 View commit details
    Browse the repository at this point in the history
  2. refactor: rename "action" to "result" in result JSON output (#54)

    More semantically accurate field naming:
    - ResultFile.Action -> ResultFile.Result
    - Makes it clearer that this is the outcome/result of an operation
    - Plan JSON keeps "action" (what will be done)
    - Result JSON uses "result" (what was done)
    
    This provides better distinction between planned actions and executed results.
    
    Co-authored-by: Claude <noreply@anthropic.com>
    yuya-takeyama and claude authored Aug 10, 2025
    Configuration menu
    Copy the full SHA
    a276c34 View commit details
    Browse the repository at this point in the history
  3. Release for v0.3.0 (#53)

    * [tagpr] prepare for the next release
    
    * [tagpr] update CHANGELOG.md
    
    ---------
    
    Co-authored-by: yuya-takeyama-tagpr[bot] <224357098+yuya-takeyama-tagpr[bot]@users.noreply.github.com>
    yuya-takeyama-tagpr[bot] authored Aug 10, 2025
    Configuration menu
    Copy the full SHA
    ebaf586 View commit details
    Browse the repository at this point in the history
Loading