We are long time subversion users and have recently found the need to work in a more distributed way with one of our projects. I have been reviewing systems and so far have been really happy with bzr-svn, however, I have a question about how it handles sub revisions and logs. I am using the distributed workflow described here:<br>
<br><a href="http://doc.bazaar-vcs.org/latest/en/user-guide/index.html#organizing-branches">http://doc.bazaar-vcs.org/latest/en/user-guide/index.html#organizing-branches</a><br><br>where I create a local mirror of my subversion repository's trunk, then branch from it. When my branch is finished, I merge back into my local mirror and push that back to trunk. I'm new to distributed systems, so if my workflow isn't optimal, please let me know:<br>
<br>(Example of my workflow)<br><br>bzr branch svn+<a href="https://mydomain.com/svn/project/trunk">https://mydomain.com/svn/project/trunk</a> mirror # create my mirror of subversion repo<br>bzr branch mirror fix1 # create a branch to work on bugfix #1<br>
cd fix1<br> (make changes)<br> bzr commit<br> ...<br>cd ../mirror<br> bzr pull # update the mirror<br>cd ../fix1<br> bzr merge # merged changes from trunk into my fix branch<br> bzr commit -m "merged changes from trunk"<br>
(make more changes)<br> bzr commit<br> ...<br><br>Once my fix1 branch is done:<br><br>cd ../mirror<br>bzr merge ../fix1 <br>bzr commit -m "merged in bugfix #1"<br>bzr push svn+<a href="https://mydomain.com/svn/project/trunk">https://mydomain.com/svn/project/trunk</a><br>
<br>This all works fine, and I like that I get all my changes from my fix1 branch as a single subversion commit since this allows me to easily go back and remove a whole fix, even if it was several sub commits in the fix1 branch. The problem I am running into is that the only log others see is "merged in bugfix #1". I guess I expected to see each commit log from the fix1 branch tacked onto the final commit. But, in my mirror where I did the merge of fix1, if I run a bzr log, I see all the logs and sub revisions:<br>
<br>revno: 201<br> ...<br> message:<br> merged in buxfix #1<br> -------------<br> revno: 200.1.2<br> ...<br> message:<br> commit #2 in fix1 branch<br> -------------<br>
revno: 200.1.1<br>
...<br>
message:<br>
commit #1 in fix1 branch<br><br>But, If I make a fresh branch from my subversion repository on another machine:<br>
<br>bzr branch svn+<a href="https://mydomain.com/svn/project/trunk">https://mydomain.com/svn/project/trunk</a> mirror<br><br>and run a bzr log in this directory, all I see is:<br><br>revno: 201<br>
...<br>
message:<br>
merged in buxfix #1<br><br>Does this mean that all the individual commits and logs I did in the fix1 branch (200.1.1 and 200.1.2) are lost, and they are only seen as one final commit? Is there anyway to get back this information as it is really helpful when going back and reviewing commits.<br>
<br>Thank you in advance,<br>/Mark<br>