[go: up one dir, main page]

This website requires JavaScript.
Explore About FAQ Help Donate
Register Sign in
mergiraf/mergiraf
mergiraf/mergiraf
9
213
Fork
You've already forked mergiraf
45
Code Issues 50 Pull requests 6 Releases 19 Activity Actions

19 releases 20 tags

RSS feed
  • v0.15.0 6e69355155

    Mergiraf 0.15.0
    All checks were successful
    / test (push) Successful in 1m40s
    Details
    / release (push) Successful in 2m7s
    Details
    Stable

    wetneb released this 2025-09-17 20:30:41 +02:00 | 8 commits to main since this release

    🚀 Features

    • Recover from commutative merging failures (#568) by @wetneb
    • Install via cargo binstall (#583) by @wetneb
    • Bundle comments into nodes they annotate (#576) by @ada4a
    • Support for pyproject.toml (#582) by @wetneb
    • (Python) Enable commutation of class attributes, with docstrings (#590) by @wetneb

    🐛 Bug Fixes

    • Reject parse trees with missing nodes (#587) by @wetneb
    • (typescript) Bad handling of semicolons in commutative merging of class bodies (#585) by @wetneb
    • (AstNode::bundle_comments) Don't bundle at A, // comment \n B (#588) by @ada4a

    📚 Documentation

    • Update adding-a-language.md (#596) by @ada4a

    🧪 Testing

    • Utility to minimize test cases, continued (#527) by @ada4a

    ⚙️ Miscellaneous Tasks

    • Update to Rust 1.89 (#579) by @wetneb
    • Update crate dependencies (#580) by @wetneb
    • Update dependencies (#592) by @wetneb
    • Simplify pyproject language profile (#591) by @wetneb

    Download

    Consider installing Mergiraf via a package manager to benefit from automatic updates. Otherwise, binaries are available for your convenience below. Binaries for MacOS can be obtained from Homebrew.

    Downloads
    • Source code (ZIP)
      0 downloads
    • Source code (TAR.GZ)
      154 downloads

    • mergiraf_aarch64-apple-darwin.tar.gz
      161 downloads · 6.5 MiB
    • mergiraf_aarch64-unknown-linux-gnu.tar.gz
      21 downloads · 6.1 MiB
    • mergiraf_aarch64-unknown-linux-musl.tar.gz
      4 downloads · 6.1 MiB
    • mergiraf_x86_64-apple-darwin.tar.gz
      118 downloads · 6.2 MiB
    • mergiraf_x86_64-pc-windows-gnu.zip
      522 downloads · 6.1 MiB
    • mergiraf_x86_64-unknown-linux-gnu.tar.gz
      153 downloads · 6.3 MiB
    • mergiraf_x86_64-unknown-linux-musl.tar.gz
      198 downloads · 6.3 MiB
  • v0.14.0 270d3cdfdb

    Mergiraf 0.14.0
    All checks were successful
    / test (push) Successful in 1m50s
    Details
    / release (push) Successful in 4m1s
    Details
    Stable

    wetneb released this 2025-09-02 08:34:52 +02:00 | 23 commits to main since this release

    🚀 Features

    • (TypeScript) Commutative merging for union and intersection types (#531) by @wetneb
    • Add support for starlark. (#509) by @amartani
    • Switch to the tree-sitter-dart-orchard dart parser (#557) by @wetneb
    • Add some signatures for children of commutative parents (#567) by @ada4a
    • Minimal CMake support (#572) by @OvidiusCicero

    🐛 Bug Fixes

    • (postprocess/merge_same_sigs) Use the revisions that the node is actually known to be in (#533) by @ada4a
    • (ast) Correct byte_range for empty injections (#543) by @wetneb
    • (AstNode::parse) Respect char boundaries of source when informing about a parse error (#558) by @ada4a
    • (Rust) Mark comments as atomic (#560) by @wetneb
    • Prevent the commutative merging of all extra elements (#562) by @wetneb
    • Switch from grammar_name to kind (#561) by @wetneb
    • Panic in unicode boundary checking code (#578) by @wetneb

    💼 Other

    • (merged_text) Clean-up and comments (#559) by @ada4a

    🚜 Refactor

    • (tests) Inline all language-specific parse methods (#530) by @wetneb
    • (MultiMap) Clean-up trait bounds (#538) by @ada4a
    • Get rid of some Option/Result::and_thens (#549) by @ada4a
    • (merge) leak in fewer places (#555) by @ada4a
    • Return exactly a Conflict from TreeBuilder::build_conflict (#569) by @ada4a
    • (AstNode) Replace UnsafeCells with Cells (#574) by @ada4a

    ⚡ Performance

    • Distinguish between exact and inexact initial matchings (#523) by @wetneb
    • (mgf_dev) Speed up commutative isomorphism via hashing (#536) by @wetneb

    🛕Governance

    • Make mathstuf a developer (#566) by @wetneb

    🧪 Testing

    • (ast) Improve legibility of source strings (#550) by @ada4a
    • (parse) Add an option to limit tree depth (#535) by @ada4a
    • (ParentType) Make Display less verbose in the common case (#542) by @ada4a
    • Add a Cargo feature for mgf_dev-specific functionality (#541) by @ada4a
    • (merge,solve) Create the debug dir if not present (#575) by @ada4a

    ⚙️ Miscellaneous Tasks

    • Highlight new contributors in release notes (#528) by @wetneb
    • Print line numbers when reporting a syntax error (#529) by @wetneb
    • (cargo/aliases) Run mgf_dev compare in release mode (#539) by @ada4a
    • Update dependencies (#548) by @wetneb
    • (changelog) Add commit ids to log entries without names (#547) by @wetneb
    • Fix cargo install git-cliff with --locked (#544) by @wetneb
    • Switch to tree-sitter-java-orchard (#546) by @wetneb
    • Improve log output (#553) by @wetneb
    • Add AstNode::succeeding_whitespace() (#571) by @wetneb

    🎉 New contributors

    • @OvidiusCicero made their first contribution in #572
    • @amartani made their first contribution in #509

    Download

    Consider installing Mergiraf via a package manager to benefit from automatic updates. Otherwise, binaries are available for your convenience below. Binaries for MacOS can be obtained from Homebrew.

    Downloads
    • Source code (ZIP)
      0 downloads
    • Source code (TAR.GZ)
      165 downloads

    • mergiraf_aarch64-apple-darwin.tar.gz
      135 downloads · 6.4 MiB
    • mergiraf_aarch64-unknown-linux-gnu.tar.gz
      6 downloads · 6 MiB
    • mergiraf_aarch64-unknown-linux-musl.tar.gz
      6 downloads · 6 MiB
    • mergiraf_x86_64-apple-darwin.tar.gz
      101 downloads · 6.2 MiB
    • mergiraf_x86_64-pc-windows-gnu.zip
      593 downloads · 6 MiB
    • mergiraf_x86_64-unknown-linux-gnu.tar.gz
      98 downloads · 6.3 MiB
    • mergiraf_x86_64-unknown-linux-musl.tar.gz
      166 downloads · 6.3 MiB
  • v0.13.0 bd0745b788

    Mergiraf 0.13.0
    All checks were successful
    / test (push) Successful in 1m38s
    Details
    / release (push) Successful in 3m43s
    Details
    Stable

    wetneb released this 2025-07-23 20:03:49 +02:00 | 60 commits to main since this release

    🚀 Features

    • (verilog) Switch to tree-sitter-systemverilog (#514) by @come_744
    • (Python) Merge decorated methods and inner classes (#522) by @wetneb
    • (Haskell) More commutative parents and signatures (#488) by @maralorn
    • Add support for GNU Make (#510) by @twz123

    🐛 Bug Fixes

    • (rust) Add signature to self in use_declaration (#505) by @ada4a
    • Improve detection of Jujutsu usage (#513) by @senekor
    • (tests) Correct python/working/all case (#524) by @wetneb

    💼 Other

    • Add cargo shortcuts for the subcommands of mergiraf and mgf_dev (#499) by @ada4a

    🚜 Refactor

    • Add submodules to merged_tree.rs (#497) by @ada4a
    • (MergedTree) Take &Leader in methods to avoid derefs (#498) by @ada4a
    • (RevisionNESet) Use impl Deref<Target=RevisionSet> instead of forwarding methods (#501) by @ada4a
    • (RevisionSet) Misc changes to iter and any (#502) by @ada4a
    • (mgf_dev) Only match on args.command once (#517) by @ada4a
    • (fallback_to_git_merge_file) Some minor clean-up (#518) by @ada4a
    • Simplify ParsedMerge::rev_range_to_merged_range (#525) by @wetneb

    📚 Documentation

    • Update rotten link (#504) by @ada4a
    • Use XDG paths for git directories (#508) by @jadeprime

    ⚡ Performance

    • (ParsedMerge::is_empty) Don't render the whole merge just to see if it's empty (#526) by @ada4a

    🧪 Testing

    • (lang_profile) Introduce helper to reduce (some) boilerplate (#506) by @ada4a
    • Minimal environment when invoking git (#512) by @twz123

    ⚙️ Miscellaneous Tasks

    • (lints) Also enable in mgf_dev (#500) by @ada4a
    • (flake) Update (#515) by @ada4a

    🎉 New contributors

    • @twz123 made their first contribution in #510
    • @jadeprime made their first contribution in #508

    Download

    Consider installing Mergiraf via a package manager to benefit from automatic updates. Otherwise, binaries are available for your convenience below. Binaries for MacOS can be obtained from Homebrew.

    Downloads
    • Source code (ZIP)
      25 downloads
    • Source code (TAR.GZ)
      206 downloads

    • mergiraf_aarch64-unknown-linux-gnu.tar.gz
      28 downloads · 5.9 MiB
    • mergiraf_aarch64-unknown-linux-musl.tar.gz
      9 downloads · 5.9 MiB
    • mergiraf_x86_64-pc-windows-gnu.zip
      795 downloads · 6 MiB
    • mergiraf_x86_64-unknown-linux-gnu.tar.gz
      168 downloads · 6.2 MiB
    • mergiraf_x86_64-unknown-linux-musl.tar.gz
      349 downloads · 6.2 MiB
  • v0.12.1 79b5378df5

    Mergiraf 0.12.1
    All checks were successful
    / test (push) Successful in 1m28s
    Details
    / release (push) Successful in 3m23s
    Details
    Stable

    wetneb released this 2025-07-10 18:33:46 +02:00 | 84 commits to main since this release

    🐛 Bug Fixes

    • Language detection by full filenames (#490) by @wetneb
    • Include full filenames in languages list (#493) by @wetneb

    🚜 Refactor

    • Move priority_list to under tree_matcher (#495) by @ada4a

    ⚙️ Miscellaneous Tasks

    • Update testing helpers to support test cases without extensions (#486) by @wetneb
    • Update dependencies (#483) by @wetneb
    • Fix crates.io upload (#494) by @wetneb
    • (cli/solve) Make --keep a hidden alias of --stdout (#496) by @ada4a

    Download

    Consider installing Mergiraf via a package manager to benefit from automatic updates. Otherwise, binaries are available for your convenience below. Binaries for MacOS can be obtained from Homebrew.

    Downloads
    • Source code (ZIP)
      20 downloads
    • Source code (TAR.GZ)
      160 downloads

    • mergiraf_aarch64-unknown-linux-gnu.tar.gz
      9 downloads · 5.9 MiB
    • mergiraf_aarch64-unknown-linux-musl.tar.gz
      9 downloads · 5.9 MiB
    • mergiraf_x86_64-pc-windows-gnu.zip
      170 downloads · 5.9 MiB
    • mergiraf_x86_64-unknown-linux-gnu.tar.gz
      99 downloads · 6.1 MiB
    • mergiraf_x86_64-unknown-linux-musl.tar.gz
      132 downloads · 6.2 MiB
  • v0.12.0 814de756cc

    Mergiraf 0.12.0
    Some checks failed
    / release (push) Failing after 2m51s
    Details
    Stable

    wetneb released this 2025-07-09 07:27:21 +02:00 | 92 commits to main since this release

    🚀 Features

    • (Python) Let elements of __all__ = [ … ] statements commute (#453) by @wetneb
    • (Haskell) Let type classes commute in deriving tuples (#454) by @wetneb
    • Support specifying full file names in language profiles (#465) by @wetneb
    • Support for go.mod files (#474) by @wetneb
    • Support for go.sum files (#476) by @wetneb

    🐛 Bug Fixes

    • Add missing string signature to avoid duplicate elements in Python's __all__ (#455) by @wetneb
    • Check for Jujutsu repo at conflict location (#462) by @senekor
    • (PHP) Don't commutatively merge comments in declaration_lists (#459) by @wetneb
    • Ignore empty nodes in AstNode::isomorphic_to_source (#480) by @wetneb
    • Escape newlines in ascii art representation of trees (#481) by @wetneb

    🚜 Refactor

    • Prepare for #448 (#452) by @ada4a
    • Use let-chains all over the place (#470) by @ada4a

    📚 Documentation

    • (usage) Decribe merge results in example-repo (#446) by @ada4a

    🧪 Testing

    • Specify the language via a dedicated file (#464) by @wetneb
    • Update helpers to support explicit language setting (#475) by @wetneb
    • Reorganize parsed_merge tests (#472) by @ada4a
    • Add missing tests for go.mod support (#477) by @wetneb

    ⚙️ Miscellaneous Tasks

    • Remove extra newlines between changelog items (#457) by @wetneb
    • Move mgf_dev to a separate package (#458) by @senekor
    • Add CONTRIBUTING.md (#438) by @wetneb
    • Warn of default_trait_access (#471) by @ada4a
    • (go.mod) Update parser to 0.4.0 (#478) by @wetneb
    • Use Docker image with Rust already installed (#468) by @wetneb

    Download

    Consider installing Mergiraf via a package manager to benefit from automatic updates. Otherwise, binaries are available for your convenience below. Binaries for MacOS can be obtained from Homebrew.

    Downloads
    • Source code (ZIP)
      18 downloads
    • Source code (TAR.GZ)
      112 downloads

    • mergiraf_aarch64-unknown-linux-gnu.tar.gz
      0 downloads · 5.9 MiB
    • mergiraf_aarch64-unknown-linux-musl.tar.gz
      1 download · 5.9 MiB
    • mergiraf_x86_64-pc-windows-gnu.zip
      82 downloads · 5.9 MiB
    • mergiraf_x86_64-unknown-linux-gnu.tar.gz
      41 downloads · 6.1 MiB
    • mergiraf_x86_64-unknown-linux-musl.tar.gz
      32 downloads · 6.2 MiB
  • v0.11.0 104384241d

    Mergiraf 0.11.0
    All checks were successful
    / test (push) Successful in 1m57s
    Details
    / release (push) Successful in 4m14s
    Details
    Stable

    wetneb released this 2025-06-29 15:41:58 +02:00 | 117 commits to main since this release

    🚀 Features

    • OCaml support (#426) by @thufschmitt
    • Elixir support (#427) by @noaccOS
    • Haskell support (#429) by @maralorn
    • (Haskell) Make record updates commutative and add signatures (#431) by @maralorn
    • (Rust) Support reordering declarations with attributes (#428) by @wetneb
    • Resolve file revisions from git commits (#434) by @xmo

    🐛 Bug Fixes

    • Improve error reporting when working copy is not in a conflict state (#423) by @xmo

    💼 Other

    • Update (#442) by @ada4a

    📚 Documentation

    • Small improvements to "Adding a language" (#430) by @wetneb
    • (usage) Fix typo (#432) by @ada4a

    ⚡ Performance

    • Call checkout-index just once per file (#424) by @xmo

    ⚙️ Miscellaneous Tasks

    • Update Rust grammar to 0.7 (#435) by @wetneb
    • Fix formatting for CI to pass again (#444) by @wetneb
    • Make sure tests pass independently from the environment (#445) by @wetneb
    • Update tree-sitter-rust-orchard to 0.10.0 (#447) by @wetneb
    • Automate the release process (#433) by @wetneb

    Download

    Consider installing Mergiraf via a package manager to benefit from automatic updates. Otherwise, binaries are available for your convenience below. Binaries for MacOS can be obtained from Homebrew.

    Downloads
    • Source code (ZIP)
      24 downloads
    • Source code (TAR.GZ)
      138 downloads

    • mergiraf_aarch64-unknown-linux-gnu.tar.gz
      1 download · 5.9 MiB
    • mergiraf_aarch64-unknown-linux-musl.tar.gz
      1 download · 5.9 MiB
    • mergiraf_x86_64-pc-windows-gnu.zip
      122 downloads · 5.9 MiB
    • mergiraf_x86_64-unknown-linux-gnu.tar.gz
      113 downloads · 6.1 MiB
    • mergiraf_x86_64-unknown-linux-musl.tar.gz
      95 downloads · 6.1 MiB
  • v0.10.0 c8eb41c9fa

    Mergiraf 0.10.0
    All checks were successful
    / test (push) Successful in 1m36s
    Details
    Stable

    wetneb released this 2025-06-02 10:28:39 +02:00 | 134 commits to main since this release

    New languages

    • INI files (.ini) by @wetneb (#404)
    • HashiCorp Language (.hcl, .tf, .tfvars) by @maunzCache (#210)

    Bug fixes

    • Be more careful when trimming newlines around the end of nodes, by @wetneb (#421)

    Download

    Consider installing Mergiraf via a package manager to benefit from automatic updates. Otherwise, binaries are available for your convenience below. Binaries for MacOS can be obtained from Homebrew.

    Downloads
    • Source code (ZIP)
      27 downloads
    • Source code (TAR.GZ)
      192 downloads

    • mergiraf_aarch64-unknown-linux-gnu.tar.gz
      5 downloads · 4.5 MiB
    • mergiraf_aarch64-unknown-linux-musl.tar.gz
      1 download · 4.5 MiB
    • mergiraf_x86_64-pc-windows-gnu.zip
      993 downloads · 4.5 MiB
    • mergiraf_x86_64-unknown-linux-gnu.tar.gz
      92 downloads · 4.6 MiB
    • mergiraf_x86_64-unknown-linux-musl.tar.gz
      216 downloads · 4.7 MiB
  • v0.9.0 57b5dc33fc

    Mergiraf 0.9.0
    All checks were successful
    / test (push) Successful in 1m53s
    Details
    Stable

    wetneb released this 2025-05-27 09:57:51 +02:00 | 138 commits to main since this release

    New features

    • Support for nested languages (#403 by @wetneb). This makes it possible to solve conflicts in different languages than the file's source, when they are embedded through code blocks (for instance in Markdown). This feature was sponsored by Stainless.

    New languages

    • Markdown (.md) (#396 by @wetneb)

    Documentation

    • Recommend to use * merge=mergiraf in gitattributes (#384 by @wetneb)

    Performance

    • Avoid filling up MergedText with empty strings (#402 by @wetneb)

    Download

    Consider installing Mergiraf via a package manager to benefit from automatic updates. Otherwise, binaries are available for your convenience below. Binaries for MacOS can be obtained from Homebrew.

    Downloads
    • Source code (ZIP)
      34 downloads
    • Source code (TAR.GZ)
      119 downloads

    • mergiraf_aarch64-unknown-linux-gnu.tar.gz
      0 downloads · 4.4 MiB
    • mergiraf_aarch64-unknown-linux-musl.tar.gz
      0 downloads · 4.5 MiB
    • mergiraf_x86_64-pc-windows-gnu.zip
      101 downloads · 4.5 MiB
    • mergiraf_x86_64-unknown-linux-gnu.tar.gz
      25 downloads · 4.6 MiB
    • mergiraf_x86_64-unknown-linux-musl.tar.gz
      11 downloads · 4.7 MiB
  • v0.8.1 b8764ff33e

    Mergiraf 0.8.1
    All checks were successful
    / test (push) Successful in 1m38s
    Details
    Stable

    wetneb released this 2025-05-16 07:16:35 +02:00 | 153 commits to main since this release

    Maintenance release to update out of a yanked dependency.

    Changes

    • fix: Update zip to v3.0.0 (#391 by @voidedgin)

    Download

    Consider installing Mergiraf via a package manager to benefit from automatic updates. Otherwise, binaries are available for your convenience below. Binaries for MacOS can be obtained from Homebrew.

    Downloads
    • Source code (ZIP)
      31 downloads
    • Source code (TAR.GZ)
      112 downloads

    • mergiraf_aarch64-unknown-linux-gnu.tar.gz
      1 download · 4.3 MiB
    • mergiraf_aarch64-unknown-linux-musl.tar.gz
      0 downloads · 4.4 MiB
    • mergiraf_x86_64-pc-windows-gnu.zip
      127 downloads · 4.4 MiB
    • mergiraf_x86_64-unknown-linux-gnu.tar.gz
      38 downloads · 4.5 MiB
    • mergiraf_x86_64-unknown-linux-musl.tar.gz
      9 downloads · 4.6 MiB
  • v0.8.0 42b4ed80c2

    Mergiraf 0.8.0
    All checks were successful
    / test (push) Successful in 1m50s
    Details
    Stable

    wetneb released this 2025-05-13 17:06:48 +02:00 | 157 commits to main since this release

    General improvements

    • feat: Specify different separators for each children group of a commutative parent (#374 by @wetneb)
    • fix: Avoid displaying spurious conflicts (#371 by @wetneb and @ada4a)
    • fix: Check that the merged text is syntactically valid and consistent with the merged tree (#368 by @wetneb)
    • fix: Handling of duplicate signatures in base revision (#362 by @wetneb)
    • fix: Don't match nodes of different types (#367 by @wetneb)
    • fix: Writing changeset to debug dir (#376 by @wetneb)

    Language-specific improvements

    • C/C++: Restrict commutativity of initializer_list (#377 by @wetneb)
    • C/C++: even more C++ file extensions (#365 by @hexointed)
    • C#: Restrict commutativity (#375 by @wetneb)
    • YAML: Fix handling of quoted strings (#380 by @wetneb)

    Download

    Consider installing Mergiraf via a package manager to benefit from automatic updates. Otherwise, binaries are available for your convenience below. Binaries for MacOS can be obtained from Homebrew.

    Downloads
    • Source code (ZIP)
      23 downloads
    • Source code (TAR.GZ)
      98 downloads

    • mergiraf_aarch64-unknown-linux-gnu.tar.gz
      0 downloads · 4.3 MiB
    • mergiraf_aarch64-unknown-linux-musl.tar.gz
      2 downloads · 4.3 MiB
    • mergiraf_x86_64-pc-windows-gnu.zip
      60 downloads · 4.4 MiB
    • mergiraf_x86_64-unknown-linux-gnu.tar.gz
      26 downloads · 4.5 MiB
    • mergiraf_x86_64-unknown-linux-musl.tar.gz
      4 downloads · 4.5 MiB
First Previous 1 2 Next Last
Logo
Powered by

Forgejo logo Forgejo logo

with modifications
Codeberg
    Blog
  • Documentation
  • Community Issues
  • Contributing
  • Report Abuse
Association
  • Who are we?
  • Bylaws / Satzung
  • Donate
  • Join / Support
  • Contact
Services
  • Codeberg Pages
  • Codeberg Translate
  • Woodpecker CI
  • Forgejo API
  • Status Page
Legal
  • Imprint / Impressum
  • Privacy Policy
  • Licenses
  • Terms of Use
Mastodon | Matrix Space (Web link)

Powered by Forgejo

English
Bahasa Indonesia Dansk Deutsch English Español Esperanto Filipino Français Italiano Latviešu Magyar nyelv Nederlands Plattdüütsch Polski Português de Portugal Português do Brasil Slovenščina Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Page: 1474ms
Template: 445ms