Note: I'm posting this on my blog because since May 2011 GitHub is gone in submarine mode: the Google group is closed, support requests are not public anymore and users can't keep track of their past support requests. And I got no response to the last feature request I submitted.

When my repo is a fork, I would like to be able to fast-forward all the branches that exist in my repo to the latest commit on that branch in the parent repo.
The user inteface would be a single button at the left of "Pull request".
Of course, the process should fail for branches where fast-forward (as defined by git merge) is not possible. For example if I committed directly in a branch of the parent repo (instead of branching before committing) of if the parent has done dirty things with his repo. This is a merge conflict.
The process should also warn me about branches that have been added/removed in the parent repo compared to mine and give me the option to do the same (a list of branches with checkboxes to select the ones to pull/keep/delete). The default action must be conservative (not remove the local branches if they have not been merged into another branch of the parent repo ; not add branch from the remote repo which are locally missing but have been merged into another branch of the parent repo).

Github should also warn me when I'm submitting a pull request but the local branch from which I branched for my patch is not fast-forwarded. This probably means either I missed recent commits of the parent (so my patch may not be relevant anymore) or that I did the fast-forward (on a working repo not on Github) but did not push it to GitHub.