Hi,
Well, *my* packaging workflow is pretty simple:
1. point to the upstream git repo in my spec file with %{forgeurl} and the rest of the forge macros 2. point to the target upstream tag or commit with the associated variable 3. spectool (or co from lookaside if already there) 4. build
If I need changes in upstream code I fork the upstream git repo, make the changes there and point %{forgeurl} to my fork till the changes got merged upstream (sometimes I am the upstream).
If upstreaming stalls I export the corresponding git patches and apply them manually. This is painless enough I’ve not bothered yet to code a per-forgeurl %{patchlist} in forge macros. Someday I will spend the time here and I’ll have a safe %autoforgesetup that does not assume all the patches belong to archive 0.
Step 3 is a bit annoying in practice *but* absolutely necessary. WIP fixing can rely a lot on ephemeral multi-rebased topic branches. I *need* to cut the link to upstream git in my spec files by exporting the state the spec packages, without polluting other git repos with transient topic branches.
I don’t waste time modifying my Sources, %forgemeta produces a %{forgesourceX} that I declare as SourceX once and for all. I will, eventually, code a %forgesources that can be dropped in %sourcelist so it just works in multi-source specs, but those are few and frowned upon in Fedora.
Sometimes upstream is itself a galaxy of forked repos, again, being able to point the spec file to one of those (and change the pointer ar need) without assuming upstream is a monolithic monotonic ethernal repo is a godsend.
So, I *definitely* do not think making the Fedora git repo a clone or extension of some upstream git repo is a good idea, not that it is needed.
Better autobumping and auto changeloging would be appreciated, but not if it introduces adherences to specific Fedora git objects.
Like others wrote, the correct data model is to make the buildsys record real official Fedora build events in Fedora git, not invent esotheric rules to workaround the fact the git can not guess accurately what was actually build in what order. That can never work reliably.
Just bite the bullet, builds are controlled by the build system, no one *but* the build system can record them accurately in Fedora git.
Regards