Submind YouTube summaries
Thumbnail for Merge Request based Collaboration for Debian packages

Merge Request based Collaboration for Debian packages

Watch on YouTube

Video summary

The session focused on promoting merge request-based collaboration as the standard method for contributing to Debian packages, primarily hosted on Salsa CI. The speaker emphasized that while Debian policy currently lacks explicit mention of Salsa or GitLab workflows, there is a strong community preference for moving away from isolated development and patch uploads in favor of open code reviews. A key argument presented was that relying solely on uploading new package versions without prior discussion often leads to friction, whereas merge requests allow contributors and maintainers to collaborate efficiently before any changes are merged into the archive. The speaker highlighted that over 10,000 merge requests have already occurred within the Debian group, demonstrating significant adoption, though many maintainers are unaware of how to configure notifications to receive alerts when new requests are submitted to their packages. A major portion of the discussion addressed the technical and procedural challenges surrounding notification settings and repository hosting. Currently, Salsa does not automatically send email notifications to package maintainers by default, requiring manual configuration for each project, which creates a barrier compared to systems like Debian Bug Tracking System (BTS). The community debated whether Salsa should automatically link to maintainer fields in packages to solve this, but technical limitations and the "chicken and egg" problem of establishing consensus before implementing such features were noted. Additionally, the talk touched upon the diversity of hosting preferences, with some maintainers using GitHub or other platforms due to concerns about GitLab's licensing model or community size, though the overwhelming trend is toward Salsa. The consensus leans toward encouraging all new contributors to use Salsa and merge requests, provided that maintainers are willing to engage with them rather than ignoring them indefinitely. The conversation also delved into specific workflows regarding patch management and branch formats, particularly the tension between using applied patches versus unapplied patches in Git repositories. The speaker advocated for recommending `git-buildpackage` and standard Debian packaging practices but acknowledged the difficulty of changing long-standing habits among experienced maintainers who are accustomed to managing separate patch queues. There was a strong sentiment that merge requests should not become "black holes" where contributions go unnoticed; instead, if a maintainer does not respond, other community members should feel empowered to step in and collaborate. The session concluded with the drafting of a Debian Policy proposal (DEP 18) aimed at making Salsa usage and merge request workflows official recommendations, ensuring that new contributors have clear guidelines and that maintainers are held accountable for reviewing incoming changes rather than rejecting them without engagement.
Read the full video transcript
Uh welcome to the next session of DEPCON 25. Uh now we have Otto who is a Debian developer for a long time and the main maintainer of salsa CI pipelines. Uh it's very important uh infrastructure for Debian. I think most of packages are being um hosted on Zarsa and many of them are using salsa. I'm using also almost for all of my packages instead of those who are building years. And now we have a both merch request basic collaboration for Debian packages. So please welcome Otto here. [applause] All right. Hello everyone. Is the mic working? Hello everyone. Yes. So um I'm not the only maintainer or developer of South Sici but yes I'm one of the um main people there and uh I this talk or uh buff session is about merge requests. So obviously I'm in favor of merge requests. I'm I like code reviews. I don't think people should work on their Debian packages fully alone and and uh on their own all the time. and I like code reviews and in the context of Debian at the moment the way I think they should be done or most efficiently done is through merge request. So that's the topic for today. But I would like to hear like what opinions people have about merge requests. Do you want to use them? Do you want to do something else or how do you want to do them and so forth? And there is also a pad. The address is very long but you can find the link in the schedule. So basically what is a merge request? Let's start what by defining what we're talking about. So 90% of Debian source packages are hosted on salsa.debian.org or at the moment and uh anyone can sign up for an account there and uh for most Debian source packages unless it has been explicitly disabled you can fork it and you can submit a merge request using the GitLab's UI and uh and you you don't have to be a Debian developer anyone can do it and when it's done it's they are also public and you don't have to be the maintainer, but anyone can actually comment on those merge requests and we are already using them to like hugely across Debian. Uh how many here have done a merge request on salsa? How many of you have reviewed one? How many of you have merged one? Yes. So most people are are doing this and indeed just in the Debian group we have over 10,000 merge requests already happened and 800 of them are by the way open if you want to go and review somebody else's and uh also one thing I want to highlight is that by default the settings we have on salsa at the moment are such that if you have a project on salsa you won't get email notifications when somebody files a new merge request. So I just wanted to point out that if you are maintaining something go and check go to the project click on that bell icon dropown thing and make sure you don't have your global settings but you have the watch settings on like in this screenshot so that you will receive an email every time somebody submits a new merge request. What >> project or team? >> This this setting is your own setting. So open all the projects, all the packages you maintain and then do this for yourself. You can also go to your profile and then there's a subpage about notifications which will then list uh all the settings you have at the moment. There there's also uh settings to fiddle with the project ones, but this is the most important because most of the time the packages that you actually upload and maintain, you want to be the person getting a notification when there's a retro request. Uh how many knew this and have this configured? So not everyone but many. Good. All right. So what's the basic mechanism of how a merge request works? So uh the submitter opens it and it's basically they have a branch and they're proposing that branch to be merged to the target branch and anyone can give feedback or comment it and the submitter can at any time update that branch. They can add commits or they can just uh rebase and force push new versions of the stuff. And I I prefer to force push the new version because the merge request is supposed to represent the thing that the recipient can go and merge as is. Uh if salsa CI is active, it will also provide kind of automatic review telling that did the build pass and did auto package test pass and things like that. Uh then in GitLab there's this feature that you can click on approve on merge requests as a token that you approved it and depending how your project is configured it might show up in the merge uh merge git message that who approved it and then there's a you need to have higher permissions to be able to merge it and you can either merge it in the UI by clicking merge or you can just the oldfashioned way you can pull it on your own laptop and push and GitHub will then GitLab will or both of them actually will detect that that exact commit went on the target branch and then mark the merge request as closed. So that's that's the basic mechanism of how it works. And then of course how do you do a code review in general? That's a bigger topic and I have some of my opinions in my own blog if you want want to check that out. Okay. So in the context of of Debian today, what does the project say about merge requests? Well, basically nothing. So if you search the Debian policy with the word salsa, it doesn't it it hasn't isn't actually mentioned anywhere at all, which I think is a little bit surprising. So I did try to submit one change there but it wasn't accepted. So but uh maybe in some future version of the policy we might mention something that we have this salsa thing and it's good to use it. Uh the developers reference does mention salsa in a couple of places but the process is describing on how you contribute a package basically the salvaging process which Andreas was talking about earlier today. Uh that process description today is based on the assumption that when you want to contribute somewhere you basically just do a new version of the package and upload that. And uh in my view that's uh not very collaborative. I think that posting a merge request and then uh having that merge request open for maybe 3 months or something and then seeing if the maintainer will ever respond or or object or something. If they respond and object, then you know that you shouldn't probably go uploading anything and just deal with the or like collaborate in the merge request until it gets merged or rejected. But if it nobody responds anything, then you can probably uh and if there's no other activity on the package either, then that probably could be a sign that it would be okay for you to go and merge it yourself and fix the thing. uh I don't have any proposals for the policy manual or the developers reference at the moment regarding this but I did start last year to draft a DEP 18 to to kind of make it uh explicit that we in Debian do have salsa and we recommend using it for people who want to have a efficient calibration. So it looks like like this. How many have seen it? A couple. So basically I'm I'm proposing that uh Debian packages should by default be hosted on salsa and they should be in git and and uh the merge request feature should be enabled and people should be using it if they want to have collaboration with the assumption that participating in the merge request uh review is is easier than the other alternatives. And then also as a salsa CI uh maintainer and and promoter, I also hope people would run SAC CI at least once before uploading. And obviously if if people are using merge requests, then the SAC CI will give automatic review results on on the basic stuff that things work. Yeah. All right. So this was my introduction to the topic and now I'd like to hear people people's views that uh what should the Debian project say or recommend about merge requests and the one more thing is like why do I think it's important that the Debian project would say something is because I don't want to like u it's not about enforcing that everyone has to do this but to establish I want that there should is some clear guidelines on what is kind of the default process for doing doing things. So that then when for example new people join the project and start contributing it's clear for them what they should be doing and if they do the thing that is clear then the maintainers would uh they would have a less friction with the maintainers because they're doing something that is familiar and makes sense to everyone. Okay. Uh, yeah, please. >> So, at the moment, if you're a new contributor to Debian, you have two choices. You can file a merge request in Salsa or you can send a patch to BTS. Yeah. I'm not very keen on this. I don't know uh like how we can get out of that, but I think it's harmful for the new contributor experience for there to be multiple ways to do things and for maintainers to have different preferences about how they accept contributions. So, I wonder where the room stands on um ideally doing something. I'm not saying get rid of the BTS, but doing something to make that situation better. Any responses? So, I just noticed >> I just noticed that uh for every package that I have in Salsa that I'm a maintainer for, uh the notifications aren't set to send me any notification when a merge request goes in. So, I have to manually go into every package that I that I'm a maintainer for in Salsa and configure it so that it will send me notifications. Whereas with BTS, BTS uses the maintainer field of the package to send information about change requests for that package. So should Salsa be sending notifications to the maintainers instead of having you manually configure all the notification settings? I I think yes, but I think it's also a chicken and egg and that's why I'm like doing this session because if we don't first somehow somewhere establish that people actually like merge requests and are happy using them, then the salsa maintainers don't want to put this as a default setting. >> If I if I'm maintaining a package in salsa, I've already said I want people to be interacting with me through salsa. If I don't want to get notifications from salsa, I should probably not upload something to salsa. >> I I agree. But there is actually people who have packages in salsa who say that they don't want to have any notifications from >> they could go and configure it to turn it off. But by default, a maintainer package >> could be. Yes. >> Yeah. >> Let's let's do that. But >> I just I just realized I had never received a merge request from Salsa. Not because there weren't any merge requests in Salsa, but because I had never manually I had assumed that uploading something into Salsa would make it so that it would talk to me because every other GitHub certainly does. GitHub spams me with email all the time. >> So if if here's enough people that we have consensus on this thing and then we could announce it that let's configure things this way. >> Yeah. >> Then I think the salsa admins would believe that yes, this probably is what the majority wants. But it's not a matter of configuration. >> I don't think it's as simple as a matter of configuration because salsa simply doesn't know who to send it to. >> There's a maintainer field in the package. >> Yeah, I know. But Salsa is not connect is a GitLab instance, right? So it doesn't Salsa could have code that went and looked in the Debian directory. >> The usernames, >> we agree, but I'm saying that's why it's not a configuration. It's going to take some work. >> It it is possible because the usernames are the Debian names as well. And we already have uh some email notification scripts. I think >> you know I'm talking about actually using a maintainer field in the package to figure out who to send the mail to >> if you have the owner of the project. So you can set the order >> but I think the technical details on how to implement this is doable but first there needs to be like the decision somehow made by this group that this is actually what we want and that the emails from salsa are more useful than they're annoying. >> So I think then the onus is on anyone who objects really like we need to hear from the other side. So, who in this room would prefer not to have that? Me not. I wanted to refer to to Keith. Um, I I I I had to I had the safe the same problem with uh forgetting or or not seeing merge request for months until I chance. But you can send the email to owner to the owner of the project because there was someone who created the project and has some interest in it. Um and you can this one has a email the profile so you can send it to them and for for other people they can subscribe. >> Yeah. Okay. >> Okay. Thank you. >> Who was the first? >> Okay. [laughter] No, I would say that most people that are here probably uh agree with our what we are proposing. I don't think we have many people that disagree here. So I don't think we'll find uh anything like thinking differently here but I totally agree just like uh we we do something like that with newcomers in Brazil. It works pretty well. So I think this should be the default is yes. Yes it is. Someone mentioned on IRC that maybe we should uh create a bot to redirect all merge requests to BTS. I don't know if that would be useful and if the the broader community would agree with that. I yeah I I don't think so. But >> yeah, he wants to say something. Yeah. >> And possible we've moved on a little bit for for just a uh on the uh SA merge quest versus patches in the BTS for newcomers idea. There seems to be an assumption that the people who are pushing for change from officially our BTS is the way to do it. um are responsible for making it a perfect 100% solution. Um whereas it'd be nice if we could get to a point where we like enable merge requests to be usable. Um, and if some people aren't getting the right notifications or whatever reason for that as as the maintainer, um, maybe they should write something that integrates between salsa and the BTS and puts the onus on the other way around to say, um, yeah, that was my thought. [snorts and sighs] I think what Otto suggested is the best that we are going to have today. If we want something else that salsa cannot do at the moment, it's it's kind of open source. So people can start doing merge requests against Git against GitLab to implement that. But I would like you to consider that we have a truckload of packages where there is no onetoone relationship between the project owner or or or a project member and salsa and the maintainer or the uploader. We have many teammate packages where the maintainer is a mailing list or the package tracker so that salsa does not does not find the their their relationship to to the salsa user. And I would most certainly not like having a mail message for everything that happens against any package in the Debian project in salsa. >> Yeah. Okay. >> So that's why I'm like as a short-term solution, I'm advocating that people go to your own packages and enable this notifications because like we can't maybe do it on a group level because then everyone in the Debian group would get massive amounts of emails and so forth. And and also we had on the mailing list on Debian Devil, we had some discussions recently about the notification emails and if we dig them up there's links by the salsa admins to the scripts they are using and there is actually some bunch of automation checking the checking like who is who and and stuff. So I think uh further automation in this field is definitely possible but I think it's a chicken and egg that we first need to say that we actually want this and we want to embrace this and not have this as a secondass citizen. >> Um I would like to ask somebody maybe on IRC uh just to document the stuff which we are um document the stuff on other part what we are discussing now just not to lose it. >> Yeah. So >> yeah, a small comment about the notifications is that you can activate them at the group level. So maybe not for the Debian group, but if you're part of a team that has so many packages, it can be useful to activate it at at your team groups level. And another comment I wanted to have is um earlier someone said like if you put your package on GitLab then you're okay with I don't know merge request, notifications, anything. If you put it the other way, it means if you're not okay, you shouldn't put your package on GitLab, which is I think a very wrong message to send. So, we should be careful on the way we phrase things. I think it's beneficial to the project as a whole to have everything in salsa or any git instance whether or not you agree with a particular process. >> Okay, thanks. Uh G, um are there any? Yeah, I think yeah. So, going back to the someone said something about uh it being two different ways to contribute patches either directly on the BTS or through a merge request. I don't have a problem with that except if merge request get ignored. So, that's where we that's why we talked about notifications. But I'd like to point out that there are other ways to notify maintainers. You could get uh the number of merge requests on uh tracker debian or and on the other dashboards used by maintainers. And another area where we are probably uh a bit lacking is that by default merge request are enabled and maintainers are probably not aware that merge request are enabled for their package and that people might submit merge requests that they're not looking at. So UD already has data about uh linking Debian packages to salsa projects and has information about through VCS watch about the number of open merge requests. So it would be probably uh alpha day job to to add information about merge request on uh on tracker and various other dashboards. So I can help with that. But I think on DDPO page there is already some kind of sign that merch request is open or maybe I'm missing something. No. >> Okay. Good. >> Not on track. Okay. I see. Okay. uh doesn't >> also I wanted to remind if people prefer to not use the browser there is like the salsa command line tool and then there's the gab generic gitlab command line tool and you can use this to list uh open merge requests and things like that. So some people don't want to have any emails at all and they are concerned about how they can like access it other ways. So just a reminder about that command line tools exist as well. >> Okay. >> I I have I have one question uh about the merge request uh being fast forward or just having the merge commit on top. Do you do you find anything on that document about about that if we're going to follow a pattern? Because personally I prefer linear history but then in bigger projects it might get difficult and then like if some projects might ask their committers to sign their commits and then you can't rebase them anymore because otherwise the hash won't match anymore. So I I wouldn't at this point recommend anything too strict about that. I I would like just start with let's recommend or like state somewhere that if the maintainer doesn't have like some really good reason the package should be on salsa in git and it should accept merge requests and the maintainer should uh should not be hostile towards merge requests and and since it's easy then also please have si enabled and look at the results. >> Okay. Uh I have I have a small question. Uh is DEP 18 uh in what state is it ready to be reviewed and maybe accepted or you want to add some? >> So it is a draft but uh we I I started it last year and we had a whole bunch of discussions. Some people probably remember this from the meeting lists, but it has been like without changes for maybe four months or five months. So, it's now as a draft and I actually have a merge request on on making it a candidate. So if you want to check this DEP 18 out, you can either file new merge request to change the text or if you think it's fine, then you can go and vote on this one and and express your opinion that way. >> Okay, thank you. >> I just saw of an edge case just trying to think of um not me but who would object and why. Uh there was a package that I um was involved in where I was surprised to see that the VCS field pointed to GitHub. Um but the I think the reason for that was the upstream maintainer in GitHub was also doing the Debian packaging and so they preferred the branch there. And so I don't know if we've got a um an opinion about the trade-off between I really like the idea that everything is in salsa. you tell contributors they can reliably expect you you you train them to look at salsa and I really dislike the idea that um you know Otto onboards a new Debian contributor at devconf and shows them salsa and 3 weeks later the contributor is lost because they're trying to do a contribution to a package and it's not on salsa. So that's my view but I can see the reason that somebody wanted it on GitLab uh sorry GitHub. So where do we stand like so >> do we need to take a position? >> So actually most of the packages that are not on salsa are not using any version control at all. So this is a tiny amount of packages that are on version control or are in git but are hosted somewhere else. Some of the people think GitLab is too proprietary. They don't like the open core model. So they prefer to host it on codeberg or forger or somewhere else. And then some people think that there's not enough of a community there and the main developer community is on GitHub. So they prefer to host it on GitHub to like entice more contributions. But I think both of these are like very marginal at this point. And at least one of the guys with his packages on GitHub uh promised that he's going to mirror everything on salsa as soon as I publish a blog post explaining how to have multiple remotes on your Git repository. Okay. Does anybody want to comment something? Okay. Uh so I I'm one of the soft admins and several of the ideas you guys uh uh suggested here requires automation and that requires code. So if you want to write the code, we are open to it. And if you write the code before the conf ends, we we can deploy it before the conf ends. But like uh linking me Quest to B to the BTS is doable via the uh via either web hooks or the GitLab API. Uh there is a I I experimented with experimented with uh adding a custom issue tracker to GitLab. So we could in theory write a custom issue tracker that will list the bugs in the BTS in the GitLab in in instead of the GitLab issues that's possible as well but requires code. So, so yes, if we we are open to to making things work, changing these defaults. For instance, if you want to notify the owner of the the repository by default, that's easy to do. for new repositories, for the existing ones, we'll have to write the code to go over the API and and change to to whatever we want to change and always allow people to opt out because I mean requiring stuff to be on South at this point is kind of redundant because most of the packages are in salsa. If you look at trends.net that Lucas did on the VCS hosting graph, sure is just dominating everything. everything else is shrinking and yeah >> so actually to that point I'm mentoring a bunch of new people and I actually see many times that they have the package on GitHub and then I tell them that hey you should actually have it on salsa and then they ask why and because I like that but I can't tell that Debian likes that because there's no like backbone for that so are there any uh any people in the policy writers with any views on should salsa be mentioned there in some form >> did you have some comments >> I did but it's not about this maybe I don't know if you can change the subject >> and what what was your name I just put that you were in the room >> they say Antonio So, uh, at the risk of opening yet another controversial can of worms, I I don't think I'm going to get an agreement from many of you here, but I just wanted to grind my axe. Uh, in particular today, my we should be using a patches applied git branch format axe. Now, I know that this is not popular within Debian. Most people are using basically the GBPQ format or you know the same format with manual quilt but I've seen multiple people outside Debian try to deal with code that they got from salsa and end up with very strange things because if you start with the patches unapplied branch you can't if you build the package the Debian patches don't get applied maybe it builds maybe it doesn't dish build package might apply the patches in which case you've got a dirty git tree. Now, um you can't just update the code in the tree where the code is with your editor. You have to do some kind of weird magic thing to turn it into a patch in Debian/patches. Now the tooling we have for maintaining patch cues in git as patches applied is not as mature and there aren't as many like great options and it's not as easy but there is some good tooling for this. If you normally have no patches, then just using git merge is actually really great. Um, then you're not paying much of a price for having like not maintaining your patch queue as a set of diffs because if that set of diffs is normally empty or one tiny hunk, then you kind of know what that thing is. Anyway, I have a tool called Git Debbase which is used by the Zen team to maintain a large patch queue in a large package. It may not be suitable for everybody. I think what I would like to ask here is that we don't nail down that we're doing everything patches unapplied because patches unapplied is deeply weird by external to Debian standards and you know I I had a friend who who built a version of a Debian package and they got the source code from Salsa and they were trying to like debug something and they didn't know to use dpage build package so they used make they ran configure make and what they got was an executable that didn't have Debian security patches applied but ran. And that is kind of the worst case failure of a patches unapplied branch format and it's very easy and it can just happen. Anyway, I think I've made my point. >> Thank you. >> Here here um a couple additional points. Uh first of all, I don't think it's good for um merge requests to be a black hole. you either they should be disabled or they should get yield notifications but they should not be just enabled and go nowhere and also I've I've double checked and um sal itself um supports um mirroring um other repositories so the um maintainers don't need to do any um thing manually they just check the box and then it'll do the right thing >> okay thank you >> actually I think the black hole is also fine because uh yes if you as a maintainer don't respond anything you there's still other people who might respond. So what I see happening in several packages is that the original maintainer is passive or maybe like does something twice a year. But then the bigger the problem is the more people are affected and then those people can discover each other and collaborate and do do something and if you turn off merge requests then makes it harder for them to discover each other and the issue. >> Fair point. Um I have also a comment regarding uh what you said about uh un applied patch. So I think it's good to have patch uh in patches not applied because if you are importing a new version of uh software so you need to be sure that the patches which are in most of cases DBN specific are still can be applied because if you are just importing new version you're just overwriting or what is so just my comment I do not have a hard opinion on that Then uh okay so uh yes Ian I I got your point and uh I I was uh seriously seduced to change my ways. My I think the main problem with uh having a repository with patches applied is that it's a departure from the native Debian packaging uh format and all the tooling is optimized for the for for handling the patches separately and all the error messages and lint reports and everything else is based on the conventional model. So it it would be a a mental conceptual change for for me to retrain myself to use a patches applied uh branch and uh I'm afraid that I I would have to go back anyway because I will eventually have to fix some bug and find out some problem and and all the tooling just uh uses the conventional I mean the quer package format. So I I would have to understand that anyway and in the end at the end of the day I would have to use that package format anyway but I'd like I I'd be happy to get rid of this but I think we would need some deeper >> maintainers that's a bit difficult. >> I I'm sure it does. It's a it's my point of view that uh I finally learned something. I I understand how things fits to fit together. And uh I would have to do it some other way which may be more straightforward for people not involved in Debian packaging but it is not for me. Can I propose that we skip the topic of patches applied because it's uh we're not really discussing like we're I'm proposing that we should use salsa and git but I'm not proposing here explicitly that we should use a specific git format there. >> That's good. I'm glad to say that on the stage but that's not what your document says. Uh yeah, >> the document explicitly mentions GDP. >> Yes. So >> and all I want is for you to >> All right. Uh I I >> uh thank you. So, I'm glad to hear uh that you say that on the stage, but the document that I read earlier today um explicitly mentions GBPQ get bill package and uh assumes and recommends that you're using patches unapplied branch format. If you want to soften that, that would be great. >> Okay. Um, so in this step 18 indeed I do recommend git build package and I recommend it because it's currently the most widely used and if I today like mentor somebody to start Debian packaging I would recommend them to use this and uh you uh you are developing new tooling and and uh >> I developed five years ago. Yeah. Or Yeah. But um in in Debian context it's it's still new. I think this is pretty softly stated already. >> We have one more question here. >> Yeah. Sorry again on the same topic but I have to mention that in some teams we prefer to use Debian only repositories without the upstream source code in Selsa and I think it makes a lot of these topics a lot easier. Basically we work with the upstream repo on the one side not in not in salsa and pure Debian packaging in with just the Debian folder on salsa and I found it much easier to work with than having to dance with all the branches. >> Okay, thank you. Um I want to mention >> I I I think that the the the main problem is that you you're in some kind with this patch in Debian you are distorting the the the way that is standard in GitLab. So that's why it's sometimes uh for newcomer they don't understand why we use patch like this and we don't make branch. >> Yeah. If you do a merge request that updates a patch, you will see a patch of a patch. Yes, that's not very clear. >> And it it has some effect in fact also in the interface when you upload then you you have got some message that uh you can accept the merge request just because you you were pushing two branches. >> I've seen this. >> Yes. So for this is actually on topic on merge requests. So I would use >> when I do a merge request it's or when you anyone does a merge request it's just proposing to merge one branch to another. And when using git build package which most people are using at the moment if you do a new upstream version import you can't really do a merge request which would push all of those branches at once. But I don't think that's a problem because those two other branches, the pristine tar branch and the upstream branch, they are not supposed to contain any changes that you did. So in the review code review process, you can't really get the feedback that you should [clears throat] go and change that because you're not going to change it. It's mechanically inherited from upstream. So for new versions, I I recommend that you only just do one single merge request for the actual branch that has the Debian stuff and that gets reviewed and then when that's done then then uh it merged and the the other branches get merged as well. >> Yes, but but but sorry but you need permissions to do that. If you have a contributing as a new new contributor to a to a repository um and you want to update something and you don't have permission on that web for what whatever reason because you are new and not known and whatever you still need a way to get exactly that upstream and pristine branch into that. You push it to your own fork and then the person merging it will pull from your fork. >> Okay. Okay. Yeah. Yeah. >> Okay. Um any more questions? We have 3 minutes. If not uh I have one more point. I do not know whether it's related to it. Uh what I find annoying. So my most of my packages are on all of my packages on salsa and since the beginning of packaging history and I'm just taking from git making some updates upload the package into Debian and it's been rejected because somebody enued my package which is totally okay but I do not know how to uh motivate the people to uh bring the change back to salsa and not to forget it because uploading to NMU is easy but uh it it takes some time then if you do not have those changes being documented in g so I do not know how can we change this processes maybe just a point which we need to think about but it's really annoying because you need to take uh change from arch heave you need to rebase my it's it's really not a good stuff so my my workflow is to run the git uh build package uh DCS something which will then automatically fetch from unstable whatever is newest if there is something just to check that it's doing this but ideally the tool should be doing that automatically by itself when I do like pull or something else so it's not very ideal and also I'm not a big fan of people doing NMUs so that the way I learn about the NMU that it's already in the archive like I I would much rather have a merge request and Then like if I'm on vacation for 3 months then like still I think it's better that somebody posts a merge request and then I at least have a chance to like discuss the thing before they proceed and then they go and do the NMU or something like that. >> Okay. >> But then of course like the fundamental problem is that the archive is not in Git. So it's possible to bypass git completely but that's so so so also like in these discussions of what should we like recommend in Debian there's like always the discussion that what's the next generation tooling and what could we do in the future and should we have a new package format should we have a monor repo and everything there and so forth maybe in the future but at the same time we need to have like new contributors today and this week joining us and we need to tell them something and we should be able to agree right now that what is the tooling that most people use and then somehow like have consensus that if new contributors are using that tooling then the the maintainers shouldn't like be negative towards him. I mean yes I I think what I'm finding a bit frustrating about this is apparently there are several people who are in this room who don't know about like DG for example which has existed for 12 years that is not new tooling. It's extremely solid and helps solve many of these problems. um merging patches applied workflows don't have an NMU integration problem. Many of these things become a much better if you use the tooling that is not like some kind of blue skies thing that we're doing in the future. It's 12 years old, >> but it still has like [snorts] things that probably needs to be developed into it. No, it's like it's hardly changing. >> Guys, I don't have to interrupt you. We are out of time. Thanks a lot for your productive uh discussion and a lot of comments and questions. And Otto, thanks for bringing this topic. And I would like to ask you to thank Otto also. [applause]