Instructions to sync with the upstream hostap.

Do this once:
  git remote add upstream git://w1.fi/hostap.git

You can use "git remote -v" to check if the upstream
remote already exists and points to the right place.

To merge with upstream:
  git fetch -t upstream
  git checkout upstream/master
  git push gfiber-internal HEAD:refs/heads/upstream

At this point, upstream/master is a pristine copy of the
hostapd upstream. So now we want to merge the changes into
our local, modified tree.

  repo start merge_from_upstream .
  git merge upstream/master

Resolve any conflicts, and commit.

  repo upload .

This will almost certainly warn that there are an exceptionally
large number of commits and make you type 'yes'. The vast, vast
majority of those commits will already exist in Gerrit, from
when we pushed HEAD:refs/heads/upstream. These will be detected
as duplicates and not appear in your code review list. So type
'yes' to upload, and expect just the merge commit (where any
conflicts were resolved) to appear in your code review list.

You send the merge commit for review.
