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.
"Otto" == Otto Kekäläinen <otto@debian.org> writes:
I would be curious to hear why people are *not* adopting 'debian/latest'?Because it works fine and it is the most commonly used branch name for development. It is also shorter, which is nice.
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'?No, I am happy to change other gbp defaults.
The DEP-14 has been around since November 2014 and one would thinkClearly not deprecated enough...
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 DebianIt is not obvious at all to me how this would be stifling usage of git
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 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?
3. "latest" is a misnomer (unlike "main" or "master"). For example, I often use
"experimental" branch which is more recent than "master", yet the main
development is happening in "master".
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'?
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.
... precisely in 2020-11-29. Before that the DEP recommended
`debian/master`.
As a remainder, that whole `master` deprecation is still controversial
(e.g. should we deprecate "server" and "service" as well?).
2. With debian/* I lose another convenient way to use debian/ as a path
name,
without adding "--" to the options.
I would be curious to hear why people are *not* adopting 'debian/latest'?
I call the branch debian/sid simply because sid is already what we call
the distribution where we by default do work on the "latest stuff".
In Debian this means that uploads to unstable and experimental shoulddebian/latest = UNRELEASED (may be unstable or experimental)
be prepared either in the debian/latest branch or respectively in the debian/unstable and debian/experimental branches.
On 24/01/25 09:10, Julien Plissonneau Duquène wrote:
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.
... precisely in 2020-11-29. Before that the DEP recommended `debian/
master`.
As a remainder, that whole `master` deprecation is still controversial
(e.g. should we deprecate "server" and "service" as well?).
Aside from the "master"/"slave" discussion, prefixing branches with a namespace is a basic good practice when dealing with multiple
development places at the same time (upstream, debian, ubuntu), each
having multiple short- and long-lived branches (mainline, backports, features).
Even if we were to keep "master" instead of "latest", it's much better
to use "upstream/master" and "debian/master": no name clashes and no ambiguity about which "master" one is referring to.
Even if we were to keep "master" instead of "latest", it's much better
to use "upstream/master" and "debian/master": no name clashes and no ambiguity about which "master" one is referring to.
Le 2025-01-24 09:37, Gioele Barabucci a écrit :
Even if we were to keep "master" instead of "latest", it's much better to use
"upstream/master" and "debian/master": no name clashes and no ambiguity about
which "master" one is referring to.
Or maybe `debian/main` to keep up with the popular trend, and as `main` is a better choice anyways, regardless of some popular controversial arguments.
On 24/01/25 09:30, Gard Spreemann wrote:
I would be curious to hear why people are *not* adopting 'debian/latest'? >> I call the branch debian/sid simply because sid is already what we callthe distribution where we by default do work on the "latest stuff".
You mean debian/unstable, don't you? :P
"unstable" is what is written in changelog and "debian/unstable" is DEP-14 compatible:
In Debian this means that uploads to unstable and experimental shoulddebian/latest = UNRELEASED (may be unstable or experimental)
be prepared either in the debian/latest branch or respectively in the
debian/unstable and debian/experimental branches.
debian/unstable = This will be uploaded to unstable.
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?
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.
debian/latest = UNRELEASED (may be unstable or experimental)
debian/unstable = This will be uploaded to unstable.
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.
Why does the majority of Debian packages still use 'master' or 'debian/master' branch as the main development branch?
"Otto" == Otto Keklinen <otto@debian.org> writes:
Otto> I would be curious to hear why people are *not* adopting
Otto> 'debian/latest'?
Because debian/latest is more to type and because until we adopt
something I think has a chance of getting real conformity, I am far more interested in my own convenience as a maintainer than I am in a
standard not many people are going to follow.
Effectively I disagree with you that incremental adoption of the kinds
of changes has significant value until you reach a core threshhold of
people committed to the work.
I think you're really close and if you manage to actually get this DEP accepted, I'm going to fall in on as much of it as I can and on some of
the other recommendations you have been pushing.
I think uniformity in our use of git would be really really helpful.
But there have to be enough people committed before I'm going to
sacrifice my own convenience in favor of that uniformity.
Even if the convenience is really small.
So, the biggest thing you can do to get people like me to fall in would
be to give me a list of people who have committed to the uniformity so I
can see if we've met the threshold where I think it has a chance.
24.01.2025 04:06, Otto Keklinen wrote:
3. "latest" is a misnomer (unlike "main" or "master"). For example, I often use
"experimental" branch which is more recent than "master", yet the main
development is happening in "master".
There were cases when git wont let me use debian/foo "branch subdir" since it clashed with other objects in the git repository, but I don't remember what it
was.
Thanks,
/mjt
Am Fri, Jan 24, 2025 at 09:16:50AM +0300 schrieb Michael Tokarev:
24.01.2025 04:06, Otto Kekäläinen wrote:
3. "latest" is a misnomer (unlike "main" or "master"). For example, I often use
"experimental" branch which is more recent than "master", yet the main
development is happening in "master".
Same here. I think "latest" is a bad choice, as it is ambigious in some situations: For example, is my experiment(al) package* latest or is the one target for the next stable latest? For me, it is much clearer to say e.g "debian/sid" or "debian/experimental" to express what I want.
* (noting that experiments might not end up in sid, those changes might not
* even have a business
in the latest branch.)
There were cases when git wont let me use debian/foo "branch subdir" since it
clashed with other objects in the git repository, but I don't remember what it
was.
(Maybe that you cannot have <$branch> and <$branch>/something)
Thanks,
/mjt
To some extent this is backwards. DEPs are supposed to codify best practice; DEP-14 suggests something that the majority of packages are not actually doing.
Its status as DRAFT, and the fact it could change at any time, aren't encouraging etiher.
If a large packaging team adopted it, or the git-buildpackage maintainers changed their defaults, that would help the numbers.
Thanks everyone for sharing your viewpoints, it is interesting to read!
I feel I need to clarify that I am not a native English speaker and my
intent was to write a polite and honest email. It does not say
anywhere that "you must use debian/latest". I am happy with whatever
the convention is, as long as it works, and is universal at least for
new packages.
I am fine if single-maintainer packages, or closed-team packages do
whatever they want, as it won't affect others (at least immediately),
but not having "best practice" agreed on basic things like git
branches does cause unnecessary friction and time waste for those who participate in the maintenance of packages in multiple different
teams, at least from my perspective.
As somebody who is mentoring multiple new maintainers, I see them in particular having unnecessary hardship from lack of properly agreed conventions. For the long-term success of Debian, I think that
discussing the best practices and having some things agreed is
valuable, even though running the discussions does take energy.
What you experience shows one thing: having the default branch being
set correctly should be what we mandate.
Le 2025-01-24 22:43, thomas@goirand.fr a écrit :
What you experience shows one thing: having the default branch being
set correctly should be what we mandate.
That's one thing, but going one step further, NOT pushing upstream branches to the packaging repositories may help here as well.
Le 2025-01-24 22:43, thomas@goirand.fr a écrit :
What you experience shows one thing: having the default branch being
set correctly should be what we mandate.
That's one thing, but going one step further, NOT pushing upstream branches to the packaging repositories may help here as well.
On 25 January 2025 08:07:04 GMT, "Julien Plissonneau Duquène" <sre4ever@free.fr> wrote:
That's one thing, but going one step further, NOT pushing upstream
branches to the packaging repositories may help here as well.
I'm going to have to disagree with this part, the whole point of DEP14
is that our debianisms are namespaced, so there's no harm in pushing
all branches.
people keep including all upstream history in the packaging reposand this affirmation may deserve some discussion.
(which seems like an anti pattern to me and goes against the
overwhelming packaging practices for pretty much every other
distribution not based on Debian)
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'?
I am maintaining a package which does only have debian/ in git, so gbpHi,
stuff does not really apply, but still.
On 25/01/25 16:23, Rene Engelhard wrote:
I am maintaining a package which does only have debian/ in git, so gbp stuff does not really apply, but still.Hi,
just for the record: gbp supports debian/-only repositories.
Just set `overlay = True` and `export_dir = ../build-area/` in debian/gbp.conf and gbp will work as expected.
See, for example: https://salsa.debian.org/debian/findutilsThat is not a debian/-only repository, it has a README.md in there and then a debian/ subdir.
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'?
What should debian/latest be? The latest upstream (pre-)release? Aka what is in experimental? Or not even there,
just preparing stuff for experimental?
That would confuse people and waste peoples time.
People look up debian/latest and see stuff not relevant for sid where they ae working on/for. Especially on freezes where stuff still happens for experimental.
Or even worse, as follows:
"Latest stuff"? That would in my case be a version which will only be released in August and has not even have a pre-release yet. The alpha
will be in May only.
Il 24/01/2025 02:06, Otto Keklinen ha scritto:
Why does the majority of Debian packages still use 'master' or 'debian/master' branch as the main development branch?I think:
- because is not the default in tools
- 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
I'm going to have to disagree with this part, the whole point of DEP14
is that our debianisms are namespaced, so there's no harm in pushing
all branches.
Are you really sure that there is no harm in, for example, pushing all
the 5785 (and counting) branches of https://github.com/JetBrains/kotlin/
to its packaging repository? For the record, it's a 4 GiB download, and
it makes some tools crash. There are probably even worse examples in the wild.
182M .git
219M .git
I would
also expect that if the man page for munch is *not* on the master
branch, then it means that nobody else has written it and solved the
bug yet.
But then it's not "latest". I would call whet is in experimental for libreoffice "latest". Especially next week when 25.2.0 will be released 25.2.0 is the "latest" upstream final release, and 24.8.x is not :)That would confuse people and waste peoples time.Personally if I have some features that are not ready to be uploaded
People look up debian/latest and see stuff not relevant for sid where they ae working on/for. Especially on freezes where stuff still happens for experimental.
Or even worse, as follows:
"Latest stuff"? That would in my case be a version which will only be released in August and has not even have a pre-release yet. The alpha
will be in May only.
for a long time, I would maintain them in a 'feature branch'. In some
cases that feature branch might live as a MR that is open for a very
long time.
Or I might call it debian/experimental and upload to
experimental, but not merge to debian/latest until post early June in
the context of your question.
Am 26.01.25 um 02:07 schrieb Otto Keklinen:
Personally if I have some features that are not ready to be uploaded
for a long time, I would maintain them in a 'feature branch'. In some
cases that feature branch might live as a MR that is open for a very
long time.
But then it's not "latest". I would call whet is in experimental for libreoffice "latest". Especially next week when 25.2.0 will be released 25.2.0 is the "latest" upstream final release, and 24.8.x is not :)
I would like to echo on this point. I had worked on a repository that
has the "master" branch marked as the default branch on Salsa, which
lacks many changes compared to the released version. I tried to
manually incorporate those changes, and only later found out that the
actual latest branch is "debian/sid" and it did have everything
up-to-date. (Note that this has since been fixed[1]). I think for new repository, standardizing on a name (either "debian/latest" or people's liking) helps identify where the latest work goes to.
thomas@goirand.fr writes:
What you experience shows one thing: having the default branch being
set correctly should be what we mandate.
Indeed. Though IIRC the default branch was not a native git concept
until 2.28, so user of older git may still get confused.
On 1/26/25 01:10, gregor herrmann wrote:
Yes, and more importantly:indeed.
- 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 isIMO this is the real hurdle.
not a big problem while if you are many it can create inconveniences
this has been the main blocker, why I did not update the repositories
(at least those, where i'm practically the sole committer).
ideally, there would be a simple script that does all the conversion for
me, unlocking/relocking branches and what not:
```sh
salsa2dep14 hello-team/helloworld
```
Hello everybody,
How about debian/default or debian/devel?
At 2025-01-27T12:27:12+0100, IOhannes m zmölnig (Debian GNU|Linux) wrote:
as for the original subject of this thread: what's actually wrong with 'debian/main' instead of 'debian/latest'? i personally do not really
care, and can live with whatever is decided.
I'd point out that "debian/main" also refers to the part of the Debian package archive that is not "contrib" or "non-free".
I therefore perceive "debian/main" as ambiguous.
I'd point out that "debian/main" also refers to the part of the Debian package archive that is not "contrib" or "non-free".I think this has been mentioned in the past, and I understand this could
I therefore perceive "debian/main" as ambiguous.
be considered confusing depending on the context. But I think that in
this specific context this looks a bit like a stretch, because using
this naming to refer to an archive area without also qualifying it in addition with a specific suite/codename does not make much sense to me,
also when in particular the main archive area is implicit in most (if
not all) of the maintainer side of the packaging. So in context, to me
it seems clear it should be referring to the main development branch
for Debian. :)
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'?
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.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 463 |
Nodes: | 16 (2 / 14) |
Uptime: | 159:11:58 |
Calls: | 9,384 |
Calls today: | 4 |
Files: | 13,561 |
Messages: | 6,096,190 |