Skip to content
Snippets Groups Projects
Commit 8a42cb24 authored by Jan Beich's avatar Jan Beich
Browse files

devel/git-cinnabar: bundle devel/git dependency

Avoid bustage on system Git updates or divergency from Windows fork.

https://github.com/glandium/git-cinnabar/commit/6a7658b7e847
parent 9cd95b7a
No related branches found
No related tags found
No related merge requests found
PORTNAME= git-cinnabar
DISTVERSION= 0.5.11
PORTREVISION= 5
PORTREVISION= 6
CATEGORIES= devel
MAINTAINER= jbeich@FreeBSD.org
......@@ -9,32 +9,28 @@ WWW= https://github.com/glandium/git-cinnabar
LICENSE= GPLv2
BUILD_DEPENDS= ${NONEXISTENT}:devel/git:configure
LIB_DEPENDS= libcurl.so:ftp/curl
RUN_DEPENDS= git:devel/git
USE_GITHUB= yes
GH_ACCOUNT= glandium
GH_TUPLE= git:git:v2.38.1:git/git-core
USES= gmake python:3.6+,run shebangfix
USES= gmake iconv python:3.6+,run shebangfix
TARGET_ORDER_OVERRIDE= 510:fix-shebang # after do-patch
SHEBANG_FILES= ${PORTNAME} git-remote-hg
ALL_TARGET= ${PORTNAME}-helper
MAKE_ENV= ${:!${MAKE} -V MAKE_ENV -C ${.CURDIR:H}/git!}
MAKE_ARGS= SUBMODULE_STATUS=dummy ${:!${MAKE} -V MAKE_ARGS -C ${.CURDIR:H}/git!}
MAKE_ENV= V=1
MAKE_ARGS= SUBMODULE_STATUS=dummy NEEDS_LIBICONV=${ICONV_LIB} \
CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
CFLAGS+= -ffunction-sections -fdata-sections
LDFLAGS+= -Wl,--gc-sections
.export CPPFLAGS CFLAGS CXXFLAGS LDFLAGS # :configure
DATADIR= ${PREFIX}/libexec/git-core
PORTDATA= *
PORTDOCS= README.md
OPTIONS_DEFINE= DOCS
post-configure:
@${TAR} cf - -C$$(${MAKE} -V WRKSRC -C ${PORTSDIR}/devel/git) . | \
${TAR} xof - -C${WRKSRC}/git-core
do-install:
${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME} ${WRKSRC}/git-remote-hg \
......
TIMESTAMP = 1667018365
SHA256 (glandium-git-cinnabar-0.5.11_GH0.tar.gz) = 20f94f6a9b05fff2684e8c5619a1a5703e7d472fd2d0e87b020b20b4190a6338
SIZE (glandium-git-cinnabar-0.5.11_GH0.tar.gz) = 184004
SHA256 (git-git-v2.38.1_GH0.tar.gz) = 91456b031324f7909f35e067dcfb907956d1a5c3d2069cfc5b4549e42089e546
SIZE (git-git-v2.38.1_GH0.tar.gz) = 10480172
https://github.com/glandium/git-cinnabar/commit/1bcdfb890566
--- 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
+
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment