Date: Thu, 4 Mar 2021 21:39:03 +0100 From: Ulrich =?utf-8?B?U3DDtnJsZWlu?= <uqs@freebsd.org> To: Michael Grimm <trashcan@ellael.org> Cc: freebsd-git@freebsd.org, freebsd-questions@freebsd.org Subject: Re: ports and git, first steps Message-ID: <YEFFZ18nBocAG8j4@acme.spoerlein.net> In-Reply-To: <003857DB-447A-49E5-8A70-064AD27EB791@ellael.org> References: <6996AB6C-B178-48C2-94D4-1F7D62E59998@ellael.org> <YD6XP9uqNwa9L5y%2B@acme.spoerlein.net> <B98FC9B8-216F-48CF-9FCC-18E780E13CDE@ellael.org> <YEDO2xpsjz6gMG7C@acme.spoerlein.net> <003857DB-447A-49E5-8A70-064AD27EB791@ellael.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2021-03-04 at 14:46:13 +0100, Michael Grimm wrote: >Ulrich Spörlein <uqs@FreeBSD.org> wrote: >> On Wed, 2021-03-03 at 16:10:15 +0100, Michael Grimm wrote: > >>> Does anyone know if poudriere is using 'git pull —rebase' as default? >> >> It's just a bunch of shell scripts, so easy to check: >> >> % git grep GIT_CMD >> src/share/poudriere/common.sh:: ${GIT_CMD:=git} >> src/share/poudriere/jail.sh: ${GIT_CMD} clone ${GIT_DEPTH} -q -b ${VERSION} ${GIT_FULLURL} ${SRC_BASE} || err 1 " fail" >> src/share/poudriere/jail.sh: ${GIT_CMD} -C ${SRC_BASE} pull --rebase -q || err 1 " fail" >> src/share/poudriere/jail.sh: ${GIT_CMD} checkout -q "${TORELEASE}" || err 1 " fail" >> src/share/poudriere/jail.sh: git_sha=$(${GIT_CMD} -C ${SRC_BASE} rev-parse --short HEAD) >> src/share/poudriere/ports.sh: ${GIT_CMD} clone --depth=1 --single-branch ${quiet} -b ${BRANCH} ${GIT_FULLURL} ${PTMNT} || err 1 " fail" >> src/share/poudriere/ports.sh: ${GIT_CMD} -C ${PORTSMNT:-${PTMNT}} pull --rebase ${quiet} > >Sorry for the noise, I should have find out by myself :-( > >> Besides, `git pull --rebase` is pretty much the only sane choice for poudriere anyway. > >Good to know. Now, all I need to modify is the git repository's server name after the final migration. Yes and no. It defaults to using the Github mirror and we will force-push the new content there, but `git pull --rebase` will totally barf on that, so you'll need to manually: - git fetch --prune - git checkout -B main origin/main - git branch -D master or something like that. (you need to rebase your stuff from old-master to new-main as well). We could actually bake this logic into poudriere and have it do its thing during a ports update, but it'll be rather fragile I suppose. Cheers Uli
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YEFFZ18nBocAG8j4>