Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ocaml-patch for openSUSE:Factory checked in at 2026-07-17 01:38:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ocaml-patch (Old) and /work/SRC/openSUSE:Factory/.ocaml-patch.new.24530 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ocaml-patch" Fri Jul 17 01:38:47 2026 rev:4 rq:1365567 version:3.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/ocaml-patch/ocaml-patch.changes 2026-04-18 21:35:05.842439426 +0200 +++ /work/SRC/openSUSE:Factory/.ocaml-patch.new.24530/ocaml-patch.changes 2026-07-17 01:40:55.500069200 +0200 @@ -1,0 +2,6 @@ +Tue Jul 7 07:07:07 UTC 2026 - [email protected] + +- Update to version 3.1.2 + see included CHANGES.md file for details + +------------------------------------------------------------------- Old: ---- ocaml-patch-3.1.0.tar.xz New: ---- ocaml-patch-3.1.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ocaml-patch.spec ++++++ --- /var/tmp/diff_new_pack.5MXfUg/_old 2026-07-17 01:40:56.168091756 +0200 +++ /var/tmp/diff_new_pack.5MXfUg/_new 2026-07-17 01:40:56.168091756 +0200 @@ -21,25 +21,27 @@ %if "%build_flavor" == "testsuite" %if %{without ocaml_patch_testsuite} ExclusiveArch: do-not-build +%else +ExclusiveArch: aarch64 ppc64le riscv64 s390x x86_64 %endif %define nsuffix -testsuite %else +ExclusiveArch: aarch64 ppc64le riscv64 s390x x86_64 %define nsuffix %nil %endif %define pkg ocaml-patch Name: %pkg%nsuffix -Version: 3.1.0 +Version: 3.1.2 Release: 0 %{?ocaml_preserve_bytecode} Summary: Patch library purely in OCaml License: ISC -Group: Development/Languages/OCaml -URL: https://opam.ocaml.org/packages/patch +URL: https://opam.ocaml.org/packages/patch/ Source0: %pkg-%version.tar.xz BuildRequires: ocaml(ocaml_base_version) >= 4.08 BuildRequires: ocaml-dune >= 3.0 -BuildRequires: ocaml-rpm-macros >= 20231101 +BuildRequires: ocaml-rpm-macros >= 20260707 %if "%build_flavor" == "testsuite" BuildRequires: ocamlfind(alcotest) @@ -52,8 +54,7 @@ %package devel Summary: Development files for %name -Group: Development/Languages/OCaml -Requires: %name = %version +Requires: %name = %version-%release %description devel The %name-devel package contains libraries and signature files for ++++++ _service ++++++ --- /var/tmp/diff_new_pack.5MXfUg/_old 2026-07-17 01:40:56.204092971 +0200 +++ /var/tmp/diff_new_pack.5MXfUg/_new 2026-07-17 01:40:56.208093107 +0200 @@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="manual"> <param name="filename">ocaml-patch</param> - <param name="revision">59a318563d745e63fc69f3d58a8a8ff302e91c4b</param> + <param name="revision">1b977a11d5e3c80c325aed6ea8a85a9801cbe57c</param> <param name="scm">git</param> <param name="submodules">disable</param> <param name="url">https://github.com/hannesm/patch.git</param> ++++++ ocaml-patch-3.1.0.tar.xz -> ocaml-patch-3.1.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-patch-3.1.0/.github/workflows/main.yml new/ocaml-patch-3.1.2/.github/workflows/main.yml --- old/ocaml-patch-3.1.0/.github/workflows/main.yml 2025-11-06 09:12:52.000000000 +0100 +++ new/ocaml-patch-3.1.2/.github/workflows/main.yml 2026-07-06 10:23:42.000000000 +0200 @@ -15,7 +15,7 @@ os: - ubuntu-latest ocaml-compiler: - - 4.08.x + - 4.11.x - 4.14.x - 5.4.x diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-patch-3.1.0/CHANGES.md new/ocaml-patch-3.1.2/CHANGES.md --- old/ocaml-patch-3.1.0/CHANGES.md 2025-11-06 09:12:52.000000000 +0100 +++ new/ocaml-patch-3.1.2/CHANGES.md 2026-07-06 10:23:42.000000000 +0200 @@ -1,3 +1,12 @@ +## v3.1.2 (2026-07-06) + +* opatch: exit with 1 if a patch does not apply (#45 @hannesm) + +## v3.1.1 (2026-05-05) + +* Handle Edit when ---/+++ contradicts git Create/Delete metadata + (#42 @Alizter, review by @kit-ty-kate) + ## v3.1.0 (2025-11-06) * Use a rope data structure instead of lists. Improves performance especially diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-patch-3.1.0/bin/opatch.ml new/ocaml-patch-3.1.2/bin/opatch.ml --- old/ocaml-patch-3.1.0/bin/opatch.ml 2025-11-06 09:12:52.000000000 +0100 +++ new/ocaml-patch-3.1.2/bin/opatch.ml 2026-07-06 10:23:42.000000000 +0200 @@ -195,6 +195,7 @@ if verbose then Printf.printf "%S applied.\n%!" (Option.value ~default:"-" patch)) patches - with Invalid_argument msg -> Printf.eprintf "Fatal error: %s\n" msg + with Invalid_argument msg -> + Printf.eprintf "Fatal error: %s\n" msg ; exit 1 let () = main Version.v diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-patch-3.1.0/src/patch.ml new/ocaml-patch-3.1.2/src/patch.ml --- old/ocaml-patch-3.1.0/src/patch.ml 2025-11-06 09:12:52.000000000 +0100 +++ new/ocaml-patch-3.1.2/src/patch.ml 2026-07-06 10:23:42.000000000 +0200 @@ -425,8 +425,8 @@ | x::y::xs when Lib.String.is_prefix ~prefix:"--- " x && Lib.String.is_prefix ~prefix:"+++ " y -> begin match git_action, operation_of_strings ~p x y with | None, op -> Some op, xs - | Some (f, _, Delete_only), (Delete f' as op) - | Some (_, f, Create_only), (Create f' as op) + | Some (f, _, Delete_only), (Delete f' | Edit (f', _) as op) + | Some (_, f, Create_only), (Create f' | Edit (_, f') as op) when String.equal f f' -> Some op, xs | Some (a, b, Rename_only (_, _)), (Edit (a', b') as op) when String.equal a a' && String.equal b b' -> Some op, xs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ocaml-patch-3.1.0/test/test.ml new/ocaml-patch-3.1.2/test/test.ml --- old/ocaml-patch-3.1.0/test/test.ml 2025-11-06 09:12:52.000000000 +0100 +++ new/ocaml-patch-3.1.2/test/test.ml 2026-07-06 10:23:42.000000000 +0200 @@ -1013,12 +1013,42 @@ let p0_root = operations ~p:0 [Patch.Edit ("/a/test", "/b/test")] p0_p1_root let p1_root = operations ~p:1 [Patch.Edit ("a/test", "b/test")] p0_p1_root +let spurious_new_file_mode = {|\ +diff --git a/dir/baz.ml b/dir/baz.ml +new file mode 100644 +index b69a69a5a..ea988f6bd 100644 +--- a/dir/baz.ml ++++ b/dir/baz.ml +@@ -1 +1 @@ +-This is wrong ++This is right +|} + +let spurious_new_file_mode = + operations ~p:1 [Patch.Edit ("dir/baz.ml", "dir/baz.ml")] spurious_new_file_mode + +let spurious_deleted_file_mode = {|\ +diff --git a/foo.ml b/foo.ml +deleted file mode 100644 +index b69a69a5a..ea988f6bd 100644 +--- a/foo.ml ++++ b/foo.ml +@@ -1 +1 @@ +-This is wrong ++This is right +|} + +let spurious_deleted_file_mode = + operations ~p:1 [Patch.Edit ("foo.ml", "foo.ml")] spurious_deleted_file_mode + let patch_p = [ "-p1", `Quick, p1; "-p2", `Quick, p2; "-p1 with adjacent slashes", `Quick, p1_adjacent_slashes; "-p0 with root files", `Quick, p0_root; "-p1 with root files", `Quick, p1_root; + "spurious new file mode", `Quick, spurious_new_file_mode; + "spurious deleted file mode", `Quick, spurious_deleted_file_mode; ] let pp_output_test = Alcotest.testable Format.pp_print_string String.equal
