Let’s say a repo named cool-stuff is on github.
I have a fork of cool-stuff and I have submitted a PR associated with my fork of cool-stuff which is waiting to be merged.

Now, there is another independent fork of cool-stuff,say, even-cooler-stuff which works on new features to introduce to cool-stuff. I would like to contribute to the even-cooler-stuff repo but github won’t let me since I already have a fork of cool-stuff.

Is there any way to do what I want like this or should I manually tell the author of even-cooler-stuff the changes I want to do?

  • @glad_cat
    link
    22
    edit-2
    11 months ago

    I blame GitHub for this. They invented this cool concept of a “fork” which is not technically a fork but only a stupid clone with another remote URL, and “pull request” which is basically a merge request with another name. It’s confusing and seem to create problems across teams /rant

    • Aloso
      link
      fedilink
      11
      edit-2
      11 months ago

      The name “pull request” is actually more accurate, because you ask the upstream repository to git pull the changes from the downstream repo.

      • exu
        link
        fedilink
        English
        611 months ago

        Either one works imo, as the maintainer is asked to merge your changes into his repo.

      • @Sigmatics@lemmy.ca
        link
        fedilink
        211 months ago

        It’s only more accurate because they actually put the fork in a “different” repo (which really is the same repo).

        If you only have one repo like in Gitlab, merge request is more accurate.

        • Aloso
          link
          fedilink
          English
          2
          edit-2
          11 months ago

          Whenever possible, it’s recommended to work in a common Git repository and use branching strategies to manage your work. However, if you do not have write access for the repository you want to contribute to, you can create a fork.

          A fork is a personal copy of the repository and all its branches, which you create in a namespace of your choice. Make changes in your own fork and submit them through a merge request to the repository you don’t have access to.

          https://docs.gitlab.com/ee/user/project/repository/forking_workflow.html

          How is this different from GitHub?

          Just to make sure there’s no misunderstanding: When I want to contribute to a project I’m not involved in, like inkscape, I’m not allowed to create a branch in their repo, so I have to fork it, which creates a copy of the repo, and sets the original repo as a remote.

          Note that git is a distributed VCS that doesn’t distinguish between servers and clients. Forking and cloning are the same operation from a technical perspective, except when you git clone, the copy ends up on your local machine, and when you press the “fork” button, the copy is on a GitHub/GitLab server.