 Go from there. Welcome. This is the Jenkins Inclusive Naming Project with Shikot Africa. Thanks for being here. It is the 4th of May. I'm going to share my screen so that we can look. Today's objective was a very simple one. We've got 30 minutes where we would like to show how to do a multi-file, multi-component pull request from the GitHub web user interface. That, I think, is a very worthwhile goal. Catherine, are you okay if we take that as our goal for today? We've got this recorded and then others can refer to it. I have a goal to be done with this a little earlier than the 30 minutes because I have to attend the Jenkins Governance Meeting and I haven't yet assembled the agenda for that meeting. I'm motivated to finish promptly here. That's okay. I think if I have any questions, I'll just post on Slack. Well, and you're welcome to ask questions during this discussion. Absolutely. But let's go through it. So what I did was I used the Inclusive Naming Sheet to try to find a plugin that needs multiple changes. And where did I put that sheet? That sheet was right here, just a minute. And what I found was that the Subversion plugin, I thought, oh, that's an old enough plugin that it might need multiple changes. So what I did was look here to see where did it occur. And if we look for the Subversion plugin, whoops. Yes, here it is. So we're going to do, that's the one I'd propose we do today because it's got at least two or three changes that that could be made in two or three different files. So I open, I open the plugins page, go to the GitHub repository. Let's make the GitHub repository view more readable. And now I look for the word master. And here we see, okay, this one is a branch name. This one is a Java object. Okay, this one actually is in some kind of a comment. So it could be worth capturing. This one is related to branch name. So it shouldn't be this one, no, this one, no. This one is another one that is in a comment. So it could be corrected. This one is really embarrassing because it's in the plugin documentation. So it absolutely should be changed. And I think we've got three examples already in different files. This is the old changelog. We would generally not revise that. So we've got at least three places that we need this change. One in the, let me go find it in the copy of the master branch. One in here where we see, let's find that. There we go. This comment. Oh, with master, wait a sec. Yes, yes. So that is talking about the controller. Okay, good. And then here, again, the same thing. Let's be sure that it's visible on the master branch. And there it is. Okay. And here's a use of the word slave. So there's another thing that needs to be corrected. And now this one in read me, great big right in the headline. We definitely want to change that. So we have three places that need to be changed in three different files in this in this plugin. So the technique I used was start by editing one of the files. So I'm going to edit the read me because for me, it's the most important one. That's the certainly the first thing that we should check to be sure we don't have insensitive naming. So here it is controller. And this should be changed to controller. Now, while we're here, let's look for slave. And let's change those as well. I think you there is just a type on agents. I think you wrote a jet. Oh, yes. Thank you very much for an old good cat. Thank you. Okay. Okay. And here is another one agents. Okay, so we've corrected several several references to slave and several references to other things. So it really looks like a a useful change. So I propose I'm going to update this and say, okay, so this is correct that use use inclusive naming in plugin documentation. And now I'm going to hit the propose change buttons. Okay, now I'm going to not complete the task here. So what that did is that created a branch. Notice right here, the branch name is patch dash two and it's patch dash some number, it's on my fork, and it's proposing it back to the upstream. But I'm going to cancel out of this and remember the branch name patch dash two. Okay, so I'm not going to create the pull request, I'm actually going to close this tab completely, because I'm done with it. I don't want to create a pull request for that yet. Now I'm I'm going to switch back to one of the other places that needs changing. This is a different file. And in it, there is a place that needs text update for some for some Java doc. So edit icon on this different file. Look for the word master. Okay, on the controller, sent to the agent via remoting. Here's another case of the use of the word master. And let's see if we can find any uses of slave, no uses of slave. Now I'm going to go down to the bottom of the page, propose. Oh, no, wait a second. Okay, this, I think I may have to cancel this, because it didn't quite give me what I wanted. Let me refresh this page. I'm going to go into edit again. We're going to see if I can make this work. It worked when I tried it earlier today. Master. Okay, looking for master make the change here controller controller agent. Okay, now scrolling down. All right, and this one we're going to say this is again, inclusive naming in the Java doc. Okay, and I'm going to hit the propose changes button. No, it created as patch three. That was not what I wanted. I know that it worked for me earlier. So now I'm going to have to go figure out why it worked for. Oh, oh, oh, oh, I know what I did earlier. Sorry. Peace and Catherine, you get to watch me making mistakes once again. Here's what we're going to do to fix my mistake. Okay, remember that I started with the first tab that was named patch two. In this tab in the second place that I need to make the change, I need to set my branch to patch dash two and then make the change there. So the mistake I made was I did not set my branch. So throw this change away. And I am going to hear in this file, cancel changes and switch. Now notice I'm in the Jenkins CI subversion plugin. I need to change this from Jenkins CI to my fork. So I'm editing the URL to put my username in up at the top. It's now going to say marquee weight subversion plugin. So I've switched. I'm going to change this branch dropdown to patch dash two. There it is right there. Now I've got the right context. Now I go find that workspace updater thing. And it was where now I've unfortunately lost track of my it was called. Well, let's see if I can search in here. I don't think I can. Nope. Okay, so back to the search. Here we go. We have to go find it. My place that I needed to edit was not that one, not that one, not that one, not that one, not that one, not that one. This one. Okay, that's where we want to go. So in this context, I want to go to a file named that. Okay, so notice now I'm in patch dash two. I'm inside this file and now I'm going to edit this file and do my oops, do my search here master. Okay, sorry to make you watch me redo this change twice agent. Any questions so far on the technique that I'm using this be sure I'm editing in the context of the branch that I want to make the commit on. I don't have any question. In fact, I wanted to interrupt just before you realize we're making a mistake. I was wondering if you had some kind of sorcery trick to concatenate everything in just one PR but no, you're just using a branch. Okay, that's fine for me. Thank you. Right, exactly. Well, and that's that's correct is that, okay, a pull request is just submitted from a branch and by creating a branch and that's what I did in the first step was create a branch. I created a branch and then made changes on the branch and then switch the context in the other windows to also use that same brand new branch and then made the changes there as well. So what I'll what the end result will be is multiple commits on a single branch that contain the different things that I wanted to change. Okay, master is all fixed here slave. Oh, go ahead. Just for clarity. So does that mean that this process saves you from the process of having to make a change in your local environment? It does. Correct. If you would prefer to make multiple changes from the GitHub web interface, this technique will let you do that. Exactly, Catherine. Very good. So up. Okay, so inclusive. So I'm going to commit this one and notice that it offers commit directly to the patch to branch or create a new branch. So inclusive naming, naming for Java doc. Okay, so I'm going to commit this one. Now, now if we look at the list of commits on this branch, we would see that there are two commits on this branch now. And now I want to do the same thing again with that. Oops, I just moved my window around. Hang on back here. Wrong keystrokes. Okay. If I want to do the same thing here, same thing on that additional file, that was this third file I need to change. So I'm going to cheat and replace that much. And I think this will work. Let's see. No, I didn't get it right. Okay, let's try again. Yes, you still have globe and master, which is too much. Oh, right. That's, thank you. Okay, so I can just edit that and that very good. Excellent. Okay. So what we see now is I'm on the patch to branch in yet another place that needs a change. I'm going to edit it and search for the word master here. Well, maybe I was wrong. Maybe this one doesn't need the change. Huh. I thought I had proven that this, okay, maybe I need to look for slave. No, I'm not sure that this one needs a change or maybe I've already fixed it. Well, whatever, I must have made a mistake thinking this file needs a change, but in the patch to branch, go ahead. I've seen the term master. So let's go back there. Okay. So you're saying master? Yeah. Okay. So here at the bottom, this is a Java identifier. It was in the comments. Oh, okay. Well, so maybe I'm just missing it. Right there, line 94. Oh, interesting. Yes. And why didn't it match my search? I realized, and I don't like you something someone else has experienced. If you search in lower caps, it does bring up some terms. Huh. Oh, oh, I used uppercase. Thank you. Nice catch. Okay. My mistake. Very good. So use lower case because then it will match both. But because I made the mistake of searching for an uppercase master, it was looking only for things that were a literal match. No, I still don't see it. Okay. If I look for it's look master lowercase, there it is. Okay. Thank you, Catherine. Excellent find. All right. So I think this should be the controller. So the method is called quite a few times during a subversion operation. So consulting is not practical. Therefore, we set this. Okay. So I think that that is referring to a controller. So I'm going to go ahead and save this. So inclusive naming in a Java dot comment. And I'm going to commit it to the patch two branch. Okay. So now I've committed. And now there are several different ways I could get to create this poll request. One is I go back here to the code page and GitHub put this very big nice line here that says I could do a poll request. If that happens to not be available for you, and sometimes it's not, you can also click this thing right here. Notice this contribute word. That thing is always available. And so when I'm going to click it to take it through the more general case. So contribute, whoops, contribute, it says this branch is three commits. And by this branch, it means patch two is three commits ahead of master. So now I'm opening the poll request. And now, now I have to fill in inclusive naming in docs and Java doc, switch from deprecated terms to preferred terms in doc and Java doc. And this you're familiar with, right? Be sure I'm doing it from a branch. Yes, I am. The branch is patch two. Ensure that the poll request describes it. Yep, describe what you did. Yes, link to relevant issues. There aren't any. So that's okay. And I'm not providing any additional tests. So I'm going to make that a strike through. And that's it. So now I'm going to create the poll request. So we can see three commits to three different files in a single poll request all created from the GitHub UI. I don't. This is a good method. Sorry, Catherine, could you say that again? I didn't quite hear it. I'm saying it's a good method. Thanks for sharing. Oh, well, and thank you for asking. Peace. Thanks very much for asking. I had, I had never attempted this kind of thing before and wasn't sure how to do it. So it was a fun exercise to explore it. Thank you, Mark. I really appreciate this. Okay, so I apologize. I need to call an end to our session so that I can go get ready for the Jenkins governance meeting. Before I end the session, are there any things that are urgent for the two of you that we need to address in order to allow you to keep going on inclusive naming work? But Mark, please, will this video be available soon? It will. I will do my best to make this video available within the next six or eight hours. I've got a personal appointment that starts in about five hours. So if I haven't done it within five hours, it will be more like 15 hours before I can do it. Okay, thank you very much. If ever you still have some questions related to write on the Slack channels, so that I can try or anybody else can try to answer your questions. Good point. And Kevin, Kevin is available also. Kevin's sort of during the start of his working in the more closer to his working hours. Bruno is near end of his working hours. But tomorrow morning, if you were to have questions, Bruno will be awake about the same time you are. All right. Thanks, everybody. Thanks very, very much. Enjoy your evening.