Announcement

Collapse
No announcement yet.

Git 2.28 Now Shipping With Feature For Configurable Default/Main Branch Name

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by tomas View Post
    lucrus Well, unlike you I actually back my statements with facts and references and try to make an argument as to why the name "master" is meaningless. You don't even try to argue why it is a good name. I could understand if the "master" branch would technically be some kind of master over a "slave" branch, then I would agree than the name makes sense. But the way it is now it's even a worse name than "main", "default" or "initial", since it's not master of anything by design. So if you don't want this to be the end of discussion, please start presenting some facts.
    I did not say "master" is good. I said "main" is as bad, because there's nothing that makes that branch more important than others to come. And no, "main" and "initial" do not mean the same thing, so "initial" could have been a sensible default name. I know, now I'm free to use "initial" if I like it, but you're missing my point, e.g. the motivation behind this work.

    Comment


    • #32
      Originally posted by someone View Post
      Most of the repos I work with don't have a 'develop' branch, so that's nonsense. Don't assume your workflow is universal.
      Yeah, "develop" is popular in the git-flow model, but it's certainly a long way from universal. In many situations, there's just no benefit in having a separate "develop" branch, compared to just developing off "master"... particularly if you aim to release fairly often, and expect that the main development stream should be in a releasable state most of the time.

      Comment


      • #33
        Originally posted by karolherbst View Post
        no matter how you look at it "master" is just the better name for the master branch than any other name
        Fixed that for you.

        Comment


        • #34
          lucrus The motivation is irrelevant since the change by itself is sound, both from a technical point of view as well as from a use case perspective. To remove the hard coded name of the initial branch and make it configurable is a sound change. The underlying motive is irrelevant. Also, the name "master" is in fact worse than "main" or "default" since it implicates a relationship that is non-existent. Not once during my 20 years as a professional software developer have I ever encountered a case where "master" would denote "master copy" or anything like that. It has always denoted a master-slave relationship.
          Last edited by tomas; 28 July 2020, 12:28 PM.

          Comment


          • #35
            Originally posted by bug77 View Post

            Considering "main" is used for a lot of other things in programming (main class, main entry point and whatnot), it is not a great pick. "Main" isn't even the main branch (unless you use git wrong). The main branch, where most of the activity takes place, is "develop".
            For OpenWrt, the "master" is the development branch, and the stable branches are branches with the version name.

            Following the tradition from SVN where they were using the "trunk" as development branch, so they are probably using git wrong.

            Comment


            • #36
              starshipeleven There is no "wrong way" with git, you choose the work flow that suits you best. That is the strength of git, that it's flexible and does not assume a particular way of working. And that is also why the proposed change makes sense in a git context. Since there is no pre-defined work flow in git and the initial branch, that just so happens to be named "master", does not differ from any other branch, it is logical that the name of the initial branch should be made configurable. Those who still believe that "master" is a good name may continue to use that name in their git repos.
              Last edited by tomas; 28 July 2020, 11:11 AM.

              Comment


              • #37
                Originally posted by starshipeleven View Post
                For OpenWrt, the "master" is the development branch, and the stable branches are branches with the version name.

                Following the tradition from SVN where they were using the "trunk" as development branch, so they are probably using git wrong.
                Well, like I said, I'm not too hung up on names. As long as they keep development in one branch and shippable versions/tags in another, they should be fine.

                tomas Any flow that doesn't allow you to ship/test/integrate quickly is wrong, regardless of the VCS. Proper VCS flows are even part of a CMMI certification (I think that is not too strict, but it does recommend best practices).
                Last edited by bug77; 28 July 2020, 10:56 AM.

                Comment


                • #38
                  Originally posted by tomas View Post
                  starshipeleven There is no "wrong way" with git,
                  Yeah I was just kidding. As long as you are using git it's ok.

                  flexible and does not assume a particular way of working. And that is also why the proposed change makes sense in a git context. Since there is no pre-defined work flow in git and the initial branch, that happens to be named "master", does not differ from any other branch, it is logical that the name of the initial branch should be made configurable. Those who still believe that "master" is a good name may continue to use that name in their git repos.
                  To be fair, anyone that ever gave 2 shits about the name of default branch just did
                  Code:
                  git branch -m master <new_name>
                  Since the "master" is just a default name and can be easily changed.
                  Everyone else will use whatever is default, and focus on the actual code.

                  This change and any discussion about it is mostly a nothingburger.

                  Comment


                  • #39
                    Originally posted by starshipeleven View Post
                    Yeah I was just kidding. As long as you are using git it's ok.

                    To be fair, anyone that ever gave 2 shits about the name of default branch just did
                    Code:
                    git branch -m master <new_name>
                    Since the "master" is just a default name and can be easily changed.
                    Everyone else will use whatever is default, and focus on the actual code.

                    This change and any discussion about it is mostly a nothingburger.
                    Yeah, most of the projects at my company were using dev/X.Y as the naming convention for each new release as we forked it off of the previous one. There was no master branch, and most of our repositories had closed the "default" branch back before we migrated from mercurial to git. Nowadays, we've got a few that do their main development in "master", and we fork off release/X.Y for long-term support/patches of released versions.

                    But master, default, main, trunk. Regardless of the default branch name chosen, people will still disagree on the ideal workflow for their VCS system. So I don't mind if we get away from a loaded term. It'll let us get away from fighting about the terminology and back to arguing about what color that bike shed should be.

                    Maybe it does go back to audio golden master recordings, but it could just as easily be rooted in master/slave terminology (e.g. IDE master/slave, master/slave back-end servers, etc). It doesn't really cost me anything to change it, beyond maybe tweaking a build-server config here or there, and maybe changing which remote branch to track from an upstream repository.

                    Comment


                    • #40
                      Originally posted by Veerappan View Post
                      I don't mind if we get away from a loaded term. It'll let us get away from fighting about the terminology and back to arguing about what color that bike shed should be.
                      None was ever fighting about terminology, it's a name you could change.

                      The issue about "fighting terminology" is that you open the door to sjw people that really should gtfo and not bother others with their historical revisionism, this is generally bad as people like that don't content themselves with "fighting terminology" but will eventually impose a biased CoC and other bs they can then (ab)use to get more power in the project.

                      Comment

                      Working...
                      X