top | item 47054892

(no title)

rtpg | 12 days ago

I just want a forge to be able to let me push up commits without making a fork. Do the smart thing for me, I don't need a fork of a project to send in my patch!

discuss

order

jamesfinlayson|12 days ago

Agreed. I assume there are reasons for this design choice though?

xigoi|11 days ago

Presumably, the reasons are that it inflates the number of repositories, which is useful when showing numbers to investors.

mbreese|11 days ago

I’m speculating here, but I think this is at least a plausible explanation. There is no guarantee that the pull request will be accepted. And the new commit has to live somewhere. When you require a fork, the commit is stored in the submitter’s version. If you don’t require the fork, the commit is stored somewhere in the main project repository. Personally, this is something I’d try to avoid.

I don’t know how the Agit-flow stores the commit, but I assume it would have to be in the main repo, which I’m happy to not be used for random PRs.

Requiring forks makes it more convoluted for simple quick pushes, but I can see why it would be done this way.

I suspect the real answer is that’s the way Linux is developed. Traditionally, the mai developers all kept their own separate branches that would be used track changes. When it was time for a new release, the appropriate commits would then be merged into the main repository. For large scale changes, having separate forks makes sense — there is a lot to track. But, it does make the simple use-case more difficult. Git was designed to make the complex use-cases possible, sometimes at the expense of usability for simpler use cases.