Hacker News new | past | comments | ask | show | jobs | submit login

i looked at the history and it seems they just close them even when they merge them, and then merge them via their own commits. but you can see them accepting stuff in the comments of the closed pull requests



That's extremely obnoxious, why?


Github still doesn't provide a means to mark a pull request as merged if you've locally rebased and pushed.

https://github.com/isaacs/github/issues/2 https://github.com/isaacs/github/issues/548

This is what's happening with Signal's PRs. Here is an example:

PR: https://github.com/signalapp/Signal-Android/pull/10266/commi...

Commit in PR: https://github.com/signalapp/Signal-Android/pull/10266/commi...

Rebased and pushed commit: https://github.com/signalapp/Signal-Android/commit/6df839612...

Note that they have different commit references. Thus Github does not recognise this as a merge, and there's no way to explicitly tell Github that you did merge it.


Hi, there, Signal Android developer here. This is correct. Our process is that we work in a pre-release branch, and then merge that to master when we make a release. So GitHub doesn't usually recognize it as a merge, but we always keep the original authorship and whatnot.


You could include "Closes #123" or "Merges #123" or "Fixes #123" in the commit message of the merge commit, and GitHub will link it, and currently close it (it doesn't actually consider it merged, but it at least auto-closes and links)


Can’t you just change the merge target to the prerelease branch?


Maintainers can't. Only the PR owner can.

For that to work the PR owner has to know which branch to target (assuming it's public).

Unless the PR creator somehow knows which release their PR is going to be included in, with a guarantee it'll be merged in said release, then it's just not possible for the PR creator to target the correct branch.


It’s a bit undiscoverable, but if you click the edit title button it will actually allow you to edit the base branch as well. Sibiling comment said this might be opt-out-able, but at least in ms/vscode no one seems to opt-out.


> Maintainers can't. Only the PR owner can.

Just tried it, seems to work fine for me..?


When filing a PR there's a "allow maintainers to edit the PR" checkbox (I don't recall the exact wording). If the PR owner doesn't check it, the maintainer can't change the target branch.


Hey there, would be great if you reference these merges in the issues so it would be visible to everyone (and especially the devs who put in the work) that the code is used.


In one of the projects I was in, we did the same but then made a comment with the merged commit hash so that folks can check it out.


Ah, it turns out Github is the obnoxious one.


I don't know but I can speculate a couple reasons why they might:

-They might not want people who aren't officially affiliated to get "contributor" badges on github, so people don't get confused thinking they speak for the project when they participate in discussions

-github may not be their primary way of managing their source, so pull requests have to be transferred to their internal system first before being released on github

-better control over what gets into what version without having to micromanage when to accept pull requests


Also helps with ownership. They have to maintain the thing, and it's easier to do when the person who committed it is a co-worker you can get a hold of.


Sounds like they don't use github to manage the codebase.


But Git is a distributed VCS. They could just as well cleanly merge pull requests into the main branch as hosted on GitHub and then merge GitHub's main branch into their canonical system's main branch.


I just randomly picked a contribution from an external party. The commit that made it into mainline has an author set to the person that contributed the code originally and a committer set to one of the 'signal.org' members. I'm confused why people would have a problem with how they chose to manage their code if the original attribution is not lost in the process. I'm fairly certain the Linux codebase is managed similarly.

Edit: adding links I forgot https://github.com/signalapp/Signal-Android/pull/10219 https://github.com/signalapp/Signal-Android/commit/dda51bf36...


Git is a distributed VCS, so if another tool works better for their workflow, then they can use that instead of GitHub




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: