Merge of glibc-ports

As the separation between the architectures supported via the glibc and glibc-ports git repositories has become somewhat artificial, it has been decided to merge the glibc-ports repo into the ports/ directory of the glibc repo. As merging the glibc-ports repo while keeping the revision history will result in git shortlog glibc-2.16..HEAD (and similar) listing all commits from glibc-ports, the optimal time to do this merge is immediately after the glibc-2.16 release allowing the creation of an additional tag.

Merging Process

The following is an overview of the process used to merge the glibc and glibc-ports repos. Individual components will be clarified below:

Merging glibc-ports repo

The glibc-ports repo is to be merged in the ports/ folder of the glibc repo using the following steps

git clone git://sourceware.org/git/glibc-ports.git
cd glibc-ports
mkdir ports
git mv Banner ChangeLog* data/ Makefile README sysdeps/ ports
git commit -a -m "Move all files into ports/ subdirectory in preparation for merge with glibc"

DO NOT PUSH this change to the glibc-ports repo

git clone git://sourceware.org/git/glibc.git
cd glibc
git checkout -b glibc-ports-merge
git remote add -f ports <path/to/glibc-ports/repo>
git merge -s ours --no-commit ports/master
git read-tree --prefix=TMP/ -u ports/master
git mv TMP/ports .
git rm -f TMP/.gitignore
git commit -m "Merge glibc-ports into ports/ directory"

The success of the merge can be verified by looking at the git history (which should have all glibc-ports commits at the top) and using git blame ports/Makefile and git log --follow ports/Makefile. Once this is verified, a tag such as glibc-2.16-ports-merge is added and the glibc-ports-merge branch can be pushed. Once people have verified the correctness of the ports merge, this branch will then merged into master.

Clean-up of glibc-ports repo

A file named README.ports-moved-to-libc is added to the root of the glibc-ports repo and subsequent commits to master are disabled. At some stage in the future all files apart from README.ports-moved-to-libc will be removed from the repo.

Clean-up of ports/ directory

Once glibc-ports is merged, both ports/Banner and ports/Makefile can be removed and ports/README should be updated to reflect the current situation.