diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2023-03-15 18:03:15 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2023-03-15 18:30:21 +0000 |
commit | 97d454cb324d5a1dae16cde52dd2f412ea571c02 (patch) | |
tree | 006895e34d85de77ca25bea61c923a66f0e2bbed | |
parent | 066d8387973dedaebc0604cdaf14f4c07e44879b (diff) | |
download | freebsd-ports-97d454cb324d5a1dae16cde52dd2f412ea571c02.zip |
devel/git-cinnabar: unbreak after d3a5eb641d28
patch -p1 -F0 -o helper/object-file.patched.c git-core/object-file.c < helper/object-file.c.patch
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff --git a/object-file.c b/object-file.c
|index 8be57f48de..52315414f3 100644
|--- a/object-file.c
|+++ b/object-file.c
--------------------------
Patching file git-core/object-file.c using Plan A...
Hunk #1 failed at 34.
1 out of 1 hunks failed--saving rejects to helper/object-file.patched.c.rej
done
gmake[2]: *** [helper/helper.mk:104: helper/object-file.patched.c] Error 1
PR: 270222
-rw-r--r-- | devel/git-cinnabar/Makefile | 2 | ||||
-rw-r--r-- | devel/git-cinnabar/files/patch-git-2.40 | 124 |
2 files changed, 125 insertions, 1 deletions
diff --git a/devel/git-cinnabar/Makefile b/devel/git-cinnabar/Makefile index 10fcb797153b..84f39404465a 100644 --- a/devel/git-cinnabar/Makefile +++ b/devel/git-cinnabar/Makefile @@ -1,6 +1,6 @@ PORTNAME= git-cinnabar DISTVERSION= 0.5.11 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= devel MAINTAINER= jbeich@FreeBSD.org diff --git a/devel/git-cinnabar/files/patch-git-2.40 b/devel/git-cinnabar/files/patch-git-2.40 new file mode 100644 index 000000000000..875927c5f745 --- /dev/null +++ b/devel/git-cinnabar/files/patch-git-2.40 @@ -0,0 +1,124 @@ +https://github.com/glandium/git-cinnabar/commit/6c77d861b70a + +--- helper/cinnabar-fast-import.c.orig 2022-10-28 23:43:03 UTC ++++ helper/cinnabar-fast-import.c +@@ -422,12 +422,17 @@ static void handle_changeset_conflict(struct hg_object + ensure_notes(&git2hg); + while ((note = get_note(&git2hg, git_id))) { + struct hg_object_id oid; ++ struct object_info oi = OBJECT_INFO_INIT; + enum object_type type; + unsigned long len; +- char *content = read_object_file_extended( +- the_repository, note, &type, &len, 0); +- if (len < 50 || !starts_with(content, "changeset ") || +- get_sha1_hex(&content[10], oid.hash)) ++ char *content; ++ oi.typep = &type; ++ oi.sizep = &len; ++ oi.contentp = (void **) &content; ++ if ((oid_object_info_extended( ++ the_repository, note, &oi, OBJECT_INFO_DIE_IF_CORRUPT) == 0) && ++ (len < 50 || !starts_with(content, "changeset ") || ++ get_sha1_hex(&content[10], oid.hash))) + die("Invalid git2hg note for %s", oid_to_hex(git_id)); + + free(content); +@@ -437,10 +442,12 @@ static void handle_changeset_conflict(struct hg_object + break; + + if (!buf.len) { +- content = read_object_file_extended( +- the_repository, git_id, &type, &len, 0); +- strbuf_add(&buf, content, len); +- free(content); ++ if (oid_object_info_extended( ++ the_repository, git_id, &oi, ++ OBJECT_INFO_DIE_IF_CORRUPT) == 0) { ++ strbuf_add(&buf, content, len); ++ free(content); ++ } + } + + strbuf_addch(&buf, '\0'); +--- helper/cinnabar-helper.c.orig 2022-10-28 23:43:03 UTC ++++ helper/cinnabar-helper.c +@@ -1554,11 +1554,17 @@ static void upgrade_files(const struct old_manifest_tr + if (note && oidcmp(note, &entry.other_oid)) { + struct hg_file file; + struct strbuf buf = STRBUF_INIT; ++ struct object_info oi = OBJECT_INFO_INIT; + unsigned long len; + enum object_type t; + char *content; +- content = read_object_file_extended( +- the_repository, note, &t, &len, 0); ++ oi.typep = &t; ++ oi.sizep = &len; ++ oi.contentp = (void **) &content; ++ if (oid_object_info_extended( ++ the_repository, note, &oi, ++ OBJECT_INFO_DIE_IF_CORRUPT) != 0) ++ goto corrupted; + strbuf_attach(&buf, content, len, len); + hg_file_init(&file); + hg_file_from_memory(&file, &hg_oid, &buf); +--- helper/hg-data.c.orig 2022-10-28 23:43:03 UTC ++++ helper/hg-data.c +@@ -33,11 +33,16 @@ void hg_file_load(struct hg_file *result, const struct + void hg_file_load(struct hg_file *result, const struct hg_object_id *oid) + { + const struct object_id *note; ++ struct object_info oi = OBJECT_INFO_INIT; + char *content; + enum object_type type; + unsigned long len; + size_t metadata_len; + ++ oi.typep = &type; ++ oi.sizep = &len; ++ oi.contentp = (void **) &content; ++ + strbuf_release(&result->file); + hg_oidcpy(&result->oid, oid); + +@@ -47,9 +52,9 @@ void hg_file_load(struct hg_file *result, const struct + ensure_notes(&files_meta); + note = get_note_hg(&files_meta, oid); + if (note) { +- content = read_object_file_extended( +- the_repository, note, &type, &len, 0); +- if (!content) ++ if (oid_object_info_extended( ++ the_repository, note, &oi, ++ OBJECT_INFO_DIE_IF_CORRUPT) != 0) + die("Missing data"); + strbuf_add(&result->file, "\1\n", 2); + strbuf_add(&result->file, content, len); +@@ -64,9 +69,9 @@ void hg_file_load(struct hg_file *result, const struct + if (!note) + die("Missing data"); + +- content = read_object_file_extended( +- the_repository, note, &type, &len, 0); +- if (!content) ++ if (oid_object_info_extended( ++ the_repository, note, &oi, ++ OBJECT_INFO_DIE_IF_CORRUPT) != 0) + die("Missing data"); + + strbuf_add(&result->file, content, len); +--- helper/object-file.c.patch.orig 2022-10-28 23:43:03 UTC ++++ helper/object-file.c.patch +@@ -2,9 +2,9 @@ +++ b/object-file.c + index 8be57f48de..52315414f3 100644 + --- a/object-file.c + +++ b/object-file.c +-@@ -34,6 +34,8 @@ +- #include "promisor-remote.h" ++@@ -35,6 +35,8 @@ + #include "submodule.h" ++ #include "fsck.h" + + +#define write_object_file_flags real_write_object_file_flags + + |