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.
The following is an overview of the process used to merge the glibc and glibc-ports repos. Individual components will be clarified below:
- Freeze both repos
Create glibc-2.16 release from master and tag as usual.
Merge the glibc-ports repo
Add "README.ports-moved-to-libc" to glibc-ports and disallow subsequent commits to master
Post release administrivia on glibc master (updating version numbers / development state)
- Clean-up of ports/ directory
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.