Il 24/01/2025 02:06, Otto Kekäläinen ha scritto:
Hi!

Current https://dep-team.pages.debian.net/deps/dep14/ states that the
default Debian branch name is 'debian/latest':

In Debian this means that uploads to unstable and experimental should be 
prepared either in
the debian/latest branch or respectively in the debian/unstable and 
debian/experimental
branches.
...
The helper tools that do create those repositories should use a command like 
git symbolic-ref
HEAD refs/heads/debian/latest to update HEAD to point to the desired branch.
I would be curious to hear why people are *not* adopting 'debian/latest'?

Why does the majority of Debian packages still use 'master' or
'debian/master' branch as the main development branch?

Is it simply because git-buildpackage does not to default to 'debian/latest'?


The DEP-14 has been around since November 2014 and one would think
that DDs would have adopted 'debian/latest' as the default branch and
git head now. Since 2020/2021 the whole 'master' was deprecated in
favor of 'main' by most git services and tools, yet 'master' is still
the most popular one in Debian.

Git is a great tool for collaboration. It is sad to see that in Debian
usage of git is stifled by simple things like people not agreeing to
use a common branch naming scheme despite there being a proposal for
10+ years now.

I think:

- because is not the default in tools

- because it is not addressed in the documentation or as an example I have seen documentation that used it but due to the lack of details of additional operations there was the risk of not really using it (https://wiki.debian.org/PackagingWithGit?action=diff&rev2=53&rev1=52)

- because it has changed (it was debian/master) and maybe they don't want to change again, or they fear it will change again

- because it is not easy and fast to migrate and if you do it you have to redo the local repository, if you are alone working on the repository it is not a big problem while if you are many it can create inconveniences


for example, about migration, I changed major repositories on cinnamon team recently where I near only me to work with:

- push any works if not already done

- change d/gbp.conf for new branches name and push skipping salsa-ci (if used)

- convert with salsa cli that is faster but one thing fails and require manual operation:

salsa --group cinnamon-team protect_branch cinnamon master no
salsa --verbose --group cinnamon-team --rename-head rename_branch cinnamon --source-branch=master --dest-branch=debian/latest # this will fails to delete master, change default branch from salsa website (in Settings->Repository) and delete master branch (from website)
salsa --group cinnamon-team protect_branch cinnamon debian/latest m d
salsa --verbose --no-fail --group cinnamon-team rename_branch cinnamon --source-branch=upstream --dest-branch=upstream-tmp salsa --verbose --no-fail --group cinnamon-team rename_branch cinnamon --source-branch=upstream-tmp --dest-branch=upstream/latest

note: in case of multiple debian/upstream branches more operations will be needed

- for local repository instead multiple operation to convert is simpler and fast do new with a gbp clone

In case of multiple people active working on repository is good to advise all to push any work not pushed, not to do anything else at the scheduled time of conversion and then make a new copy with gbp clone.


Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to