On Tue, Dec 3, 2013 at 1:58 AM, Daniel James
On 2 December 2013 19:47, Rene Rivera
wrote: On Mon, Dec 2, 2013 at 2:44 AM, Daniel James
wrote: This has been discussed in the past. The existing repo will need to remain as the super module refers to the hash values of its commits. The suggested fix was to combine the two repos, since a git repo can contain two separate trees. The old branches will need to be kept alive by tagging them.
I'd rather have kept the two separate by using a different name for the converted repo (e.g. svn-predef), but no one agreed with me.
Since it seems that we need to BoostOrg repo.. My preference would be to slam the BoostOrg one with my canonical repo and only keep the BoostOrg repo around. Since the canonical one has more, and more accurate, history than the BoostOrg one. But I don't know what the ramifications of such a move are.
Sorry, I don't understand what you mean. Although what I wrote above wasn't particularly comprehensible either. What I was trying to get at is something like the following which stores both histories in a single repo, but keeps them separate and makes yours the main branches. Afterwards the super-repo will need to be updated accordingly. Maybe someone has a better idea?
# Create clone containing both repos: git clone git@github.com:boostorg/predef.git cd predef git remote add grafik git@github.com:grafikrobot/boost-predef.git
I'm assuming you're the lead (only?) developer for this library. As the library maintainer you would integrate changes from other contributors into your repo under github.com/grafikrobot (or if you work on other open source projects, you may want to create an organization under your account, e.g. grafikrobot-boost to do all your boost work. See Creating a new organization accounthttps://help.github.com/articles/creating-a-new-organization-account--2. I'm going to assume you've created a grafikrobot-boost organization under your user account. If not, then do this under grafikrobot. So under grafikrobot-boost, fork the github.com/boostorg/predef repository: - Go to http://github.com/boostorg/predef and click on the fork button in the upper right of the window. - In the pop-up window select grafikrobot-boost to create the fork. - Now your new forked repo is linked to the official boostorg/predef repo as a fork and you can submit pull requests to boostorg/predef. The Boost release manager will than pull in your changes from the develop branch of grafikrobot-boost/predef. Follow the above steps for the github.com/boostorg/boost respository. Now that you have your new predef and boost repo under grafik-boost, execute the following commands on your PC: git clone --recursive -o upstream -b develop https://github.com/boostorg/boost git remote add -b grafikrobot/develop origin git@github.com: grafikrobot-boost/boost git fetch origin "+refs/heads/*:refs/heads/grafik/*" git fetch upstream "+refs/heads/*:refs/heads/*" cd libs/predef git remote add -b grafikrobot/develop origin git@github.com: grafikrobot-boost/predef git fetch origin "+refs/heads/*:refs/heads/grafik/*" git fetch upstream "+refs/heads/*:refs/heads/*" You now have the boost and predef repos connected to the official repos under github.com/boostorg using the upstream remote and connected to your public repos under github.com/grafikrobot-boost using the origin remote. The local branch develop has the latest changes from boostorg. The local branch grafik/develop is equivalent to the develop from boostorg. Now we add a remote to retrieve the changes you want to add to the grafik/develop branch from grafikrobot/boost-predef into temp/develop: git remote add -b temp/develop temp git@github.com:grafikrobot/boost-predef git fetch temp "+refs/heads/*:refs/heads/temp/*" You now have a temp/develop branch that contains your new changes. Now merge the changes in temp/develop into grafik/develop and push to your public repo: git checkout grafik/develop git merge temp/develop git commit -a git push origin grafik/develop Now you have to add and commit a submodule ref in the super-repository boost: cd ../.. git add . git commit -m"Update submodule ref to point to latest commits in predef." git push origin grafik/develop Now that you have all the changes in grafikrobot-boost, go to github.com/boostorg/predef and github.com/boostorg/boost and submit pull requests from the branches grafik/develop in the boost and predef repositories under github.com/grafikrobot-boost. You can now delete the temp remote and temp/* local branches from the repositories on your PC. Also, you can delete the github.com/grafikrobot/boost-predef repository ( github.com/grafik-boost/predef is your new public repository). You can pull from the upstream remote any changes in the boost repo by other developers. Since all contributions to predef should flow through you, you probably won't need to pull updates from the upstream remote pointing to github.com/grafikrobot-boost/predef repository. Michael