I am new to DVCS's so please bear with me...
I am the author of a software library, currently hosted as a private repository on BitBucket. I would like to release the source code of my library to the public, but with the following setup:
How can I pull this off? If it helps, my private repo only has one branch (the main one).
Well, concatenating changesets can be achieved with one of these technics or with rebase extension with --collapse
.
To do what you want you must have a development branch with the detailed commits and a publish branch with the concatenated ones. As long as the publish branch doesn't have any node from the development branch as ancestor, you can push only the publish branch. That means you would have to use one of the options above, you can't merge development branch into publish branch because that would set development branch nodes as ancestors of public branch and you would have to push those nodes.
Although this is possible, I agree with @Ringding, it shoudn't be the routine workflow. Here are two good reasons for not doing that: