github GitoxideLabs/gitoxide gix-filter-v0.34.0
gix-filter v0.34.0

one hour ago

Bug Fixes

  • a trailing DOS EOF marker doesn't make a text file binary, like in Git.

  • substitute every %f in a filter driver command, like in Git.
    substitute_f_parameter() copies the command prefix from index 0 on
    every iteration instead of from the point it has already consumed, so a
    clean/smudge template containing more than one %f re-emits the
    whole prefix each time:

    substitute_f_parameter("cmd a %f b %f c", "p")
      before: cmd a 'p'cmd a %f b 'p' c
      after:  cmd a 'p' b 'p' c
    

    The result is usually not even valid shell. With

    filter.two.clean = sh -c 'cat >/dev/null; echo "A=%f B=%f"'
    

    Git (2.50.1) stores A=f B=f, while gitoxide builds

    sh -c 'cat >/dev/null; echo "A='f'sh -c 'cat >/dev/null; echo "A=%f B='f'"'
    

    and the driver dies with unexpected EOF while looking for matching "'".
    As required drivers propagate that failure, the file cannot be
    converted at all.

    The loop was written to handle repeated %f from the start; only the
    slice start was wrong. Present since the function was added in
    c538c6e (2023-06-27); git blame points at 5670bbb because that
    commit moved driver.rs to driver/mod.rs on the same day.

    Nothing changes for the common case of zero or one %f, and the path is
    still quoted with gix_quote::single.

Commit Statistics

  • 9 commits contributed to the release over the course of 30 calendar days.
  • 30 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Update manifests prior to release (ebe9095)
    • Merge pull request #2864 from shuvamk/fix/filter-multiple-f-parameters (97efe87)
    • Merge pull request #2867 from GitoxideLabs/fix-url-authority-parsing (cc3ee80)
    • Release gix-path v0.12.4, gix-command v0.9.2, gix-config-value v0.19.1, gix-url v0.37.1, gix-credentials v0.39.1, gix-transport v0.58.1 (ab4fcb0)
    • Merge pull request #2866 from shuvamk/fix/eol-trailing-ctrl-z (873100b)
    • Review (7104a12)
    • A trailing DOS EOF marker doesn't make a text file binary, like in Git. (f02d6df)
    • Substitute every %f in a filter driver command, like in Git. (8662f88)
    • Merge pull request #2812 from GitoxideLabs/report-july (ae8845a)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.