Hello Xiyue,

Sorry for the late answer, and thank you very much for the clarifications.

Le mardi 27 janvier 2026 à 16:26, Xiyue Deng <[email protected]> a écrit :

Hi,

Xiyue Deng <[email protected]> writes:

(With permission to reply to list from Aymeric.)

Hi Aymeric,

Aymeric Agon-Rambosson <[email protected]> writes:

Hello,

Le jeudi 8 janvier 2026 à 16:45, Xiyue Deng <[email protected]> a
écrit :

Hi Sean,

Sean Whitton <[email protected]> writes:

Hello,

Xiyue Deng [07/Jan  6:58pm -08] wrote:
I thought the existence of pristine-tar branch indicates the
workflow.

It does, but you're the maintainer now, so it's okay to take steps
towards modernisation.

Ack. I think for maintaining max compatibility, we can just mark
the
branches `upstream' and `pristine-tar' as read-only by setting
`Allowed
to merge' and `Allowed to push and merge' to `No one' instead of deleting those branches. This requires one to have a Maintainer
role
though.

Also, as there are other magit uploaders, I have CCed them here to
see
whether there is any objection to migrate magit to the
dgit-maint-merge
workflow. If no objection is received by the end of next week, I'll request the Maintainer access and mark the branches read-only. And
do
let me know if you want to extend the decision period.

I prefer the current workflow. You managed to explain it in less than
20 lines in commit 7061b8aa.


To be clear, if by the "current" workflow you meant what we have been doing in the recent uploads since 4.3.2 (around the time I started working on magit) and before the latest 4.5.0, we actually had been
using the dgit-maint-merge workflow effectively.  See below.

And it does not even require gbp. You wrote :

And then switch to the `master' branch and do the usual `gbp
import-orig --uscan'. The upstream tag will be `vX.X.X' and the Debian upstream tag will be upstream/X.X.X. The pristine-tar branch

But you can simply go back to the master branch and merge the same tag
you merged to the upstream one :

,----
| $ git branch master && git merge vX.X.X # vX.X.X is the latest
  versioned tag
`----


This is exactly how the dgit-maint-merge workflow works. Notice that
this does not involve the Debian "upstream" branch at all.

In fact, the last push to the Debian upstream branch before the 4.5.0 release was done at the time when 4.3.1 was released, which was some
time after Bookworm and well before Trixie.

The problem with the current Debian upstream branch is that it is not exactly the same as the Magit upstream git (and as a result the Debian upstream tag `upstream/X.X.X' is not the exact upstream tag `vX.X.X'), which breaks the expectation of tag2upload[1]. And as I mentioned, we have not been using the Debian upstream branch at all for quite some
time before 4.5.0.

For the dgit-maint-merge workflow, a maintainer should have an upstream repo setup and merge the tags directly into the Debian master branch,
which we have been doing.

If the point is just to use upstream tags and not pristine-tar, then there is nothing to change to the workflow : just do not commit
anything to the pristine-tar branch.


And AAMOF we didn't commit to the Debian upstream branch either.

I thought the existence of pristine-tar branch indicates the
workflow.

Not necessarily. I never use it, and I forget to commit the tar to the
pristine-tar branch half of the time.


Ack.  Same here before I notice the existence of pristine-tar.

Remove the pristine-tar branch if you must (or better yet, just ignore
it), but please leave the upstream branch.


I think by "the upstream branch" you meant the Magit upstream branch? I would make both the Debian upstream and pristine-tar branches read-only to avoid any accidental commits there given the reasoning above.

Let me know what you think.

Best,

Aymeric


Thanks!

[1] See also Ian's reply to the long thread regarding including commit id in *.changes where "gbp import-orig --uscan" should be discouraged
due to the divergence in the upstream branch:
https://lists.debian.org/debian-devel/2026/01/msg00127.html

On reading the recent debate on d-d@, I saw one proposal that suggested to add "upstream-vcs-tag" to d/gbp.conf. With this, `gbp import-orig --uscan' will import the full upstream history with a no-change commit (either to the tag or HEAD) to our upstream branch. This seems to be very close to the dgit-maint-merge workflow and people can still use `gbp import-orig --uscan'. We can also stop using pristine-tar (right after my previous silly attempt) for good and things should continue to
work.

If I understand correctly, does this mean that our upstream branch remains after all ?

I think this is also compatible with tag2upload, though one may need to specify which upstream tag to use when running `git debpush' since this
may create 2 upstream tag: one like `v?%(version)s' and one like
`upstream/%(version)s'.

(Adding Sean to CC to confirm whether the above is true or is
recommended.)

I haven't heard back from Aymeric, but hopefully this arrangement will
meet his expectation as well.

I'm good as long as you can assure me that the simple workflow I described on my last mail still works.

Best,

Aymeric

Reply via email to