Page MenuHomePureOS Tracker

Please provide scripts to update downstream forks
Open, NormalPublic

Description

Seems to go like this:

  • locate on souce.puri.sm
  • create fork in gitlab
  • gbp clone
  • gbp pq import
  • setup git attributes
  • add salsa repo as remote
  • git merge <debian tag>
  • rebase patches
  • create MR
  • add source.puri.sm blessed repo for future updates (or to push a signed tag)
  • ...
  • push signed tag

with good metadata this could be automated since the upstream fork could be located and added and we could at least have the repos setup by default

Event Timeline

guido created this task.Mar 2 2021, 02:37

I have found that doing git merge <debian tag> on top of an already forked and deviated package leads to a package history which interleaves parent and fork-specific changes, which I have not found a way to automatically produce a (to me) comprehensible changelog from.

So instead of this:

  • clone previously cloned + downstream-forked + patched project
  • git merge <debian tag>

I do this:

  • clone previously cloned + downstream-forked + patched project
  • git merge <debian tag>
  • git branch draft
  • git reset --hard <debian tag>
  • git merge --strategy ours --allow-unrelated-histories -m "Fake-merge previous PureOS fork." draft
  • re-do downstream-forking (see T1011)
  • re-apply patches

With that detour, doing "gbp dch --since <commit after fake-merge>" produces a changelog which I consider ideal: Bottom part of the file is identical to parent Debian package, and on top of that are the changes which still apply since this newest re-sync with Debian.
I.e. there are no interleaved changelog sections from previous forking "leaves" which I would consider irrelevant noise for the present history.

jonas.smedegaard triaged this task as Normal priority.May 25 2021, 10:18