<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Weiqi Gao&#039;s Observations - bzr tag</title>
  <link>http://www.weiqigao.com/blog/tags/bzr/</link>
  <description>Sharing My Experience...</description>
  <language>en</language>
  <copyright>Weiqi Gao</copyright>
  <lastBuildDate>Fri, 11 May 2012 12:48:36 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  <image>
    <url>http://pebble.sourceforge.net/common/images/powered-by-pebble.gif</url>
    <title>Weiqi Gao&#039;s Observations</title>
    <link>http://www.weiqigao.com/blog/</link>
  </image>
  
  
  <item>
    <title>Subversion, CVS, Bazaar-NG (bzr), ...</title>
    <link>http://www.weiqigao.com/blog/2006/05/18/subversion_cvs_bazaar_ng_bzr.html</link>
    
      
        <description>
          &lt;p&gt;Mark and Jonathan had a little Subversion problem today.  They wanted to move a directory in the repo and had a hard time doing it.&lt;/p&gt;

&lt;/p&gt;I&#039;ve been using Subversion for a long time and never had any problems with it.  However, I had never attempted to move a directory.  So I tried a little experiement with my toy repo using the svn command from Cygwin:&lt;/p&gt;

&lt;pre style=&#034;margin-left:3em&#034;&gt;[weiqi@gao] $ &lt;b&gt;svn co file:///var/svnroot&lt;/b&gt;
A    svnroot/trunk
A    svnroot/branches
A    svnroot/src
A    svnroot/src/foo.txt
A    svnroot/tags
Checked out revision 14.
[weiqi@gao] $ &lt;b&gt;ls&lt;/b&gt;
&lt;span style=&#034;color:blue&#034;&gt;svnroot&lt;/span&gt;/
[weiqi@gao] $ &lt;b&gt;cd svnroot&lt;/b&gt;
[weiqi@gao] $ &lt;b&gt;ls&lt;/b&gt;
&lt;span style=&#034;color:blue&#034;&gt;branches&lt;/span&gt;/  &lt;span style=&#034;color:blue&#034;&gt;src&lt;/span&gt;/  &lt;span style=&#034;color:blue&#034;&gt;tags&lt;/span&gt;/  &lt;span style=&#034;color:blue&#034;&gt;trunk&lt;/span&gt;/
[weiqi@gao] $ &lt;b&gt;svn move src trunk&lt;/b&gt;
svn: Can&#039;t move &#039;trunk/src/.svn/props/foo.txt.svn-work.tmp&#039; to &#039;trunk/src/.svn/p
rops/foo.txt.svn-work&#039;: Permission denied&lt;/pre&gt;

&lt;p&gt;I don&#039;t know what causes this problem.  But the problem goes away if I performs a server side move (&lt;tt&gt;svn move file:///var/svnroot/src file:///var/svnroot/trunk&lt;/tt&gt;).&lt;/p&gt;

&lt;hr align=&#034;center&#034; noshade=&#034;noshade&#034; size=&#034;1&#034; width=&#034;60%&#034;&gt;

&lt;p&gt;&#034;Why can&#039;t they just add the directory moving (and atomic commit) features to CVS?&#034;&lt;/p&gt;
&lt;p&gt;&#034;The maintainers of CVS wrote Subversion.&#034;&lt;/p&gt;

&lt;hr align=&#034;center&#034; noshade=&#034;noshade&#034; size=&#034;1&#034; width=&#034;60%&#034;&gt;

&lt;p&gt;And then there&#039;s &lt;a href= &#034;http://bazaar-vcs.org/&#034; &gt;Bazaar-NG (bzr)&lt;/a&gt;.  It&#039;s in both Cygwin and Fedora Core 5.  I vaguely know that it&#039;s a new kind of source control system, but not much more.  I read about it on &lt;a href= &#034;http://www.markshuttleworth.com/&#034; &gt;Mark Shuttleworth&lt;/a&gt;&#039;s &lt;a href= &#034;http://www.markshuttleworth.com/archives/34&#034; &gt;blog&lt;/a&gt; 10 days ago.&lt;/p&gt;

&lt;p&gt;Mark Shuttleworth, for those who don&#039;t already know, is the man behind the &lt;a href= &#034;http://www.ubuntu.com/&#034; &gt;Ubuntu Linux distribution&lt;/a&gt;.  (He was on &lt;a href= &#034;http://flickr.com/photos/webmink/148204920/&#034; &gt;stage with Jonathan Schwartz&lt;/a&gt; at JavaOne on Tuesday announcing the availability of Java in Debian and Ubuntu repositories.)&lt;/p&gt;

&lt;p&gt;Bzr is definitely different from CVS and Subversion.  Their tutorial is easy to follow.  And I like the fact that I&#039;m always working in a branch and can commit to my branch without bothering other developers.  However, some of the other features are not so easy to get used to.  For example, there is not a central repository.  (I guess that&#039;s why it is called a decentralized source control system.)  Everybody has his own branch, which they can push to a web site for others to marvel at.  And everybody can merge from everybody else&#039;s branch.&lt;/p&gt;

&lt;p&gt;It also seems to me that all the revisions are stored in a &lt;tt&gt;.bar&lt;/tt&gt; subdirectory of the working directory, just like in the SCCS days.  If I loose my hard drive, I loose my branch.&lt;/p&gt;

&lt;p&gt;What do you do when you want to release version 1.0?  Whose branch do you use?&lt;/p&gt;

&lt;p&gt;However, this &lt;a href= &#034;http://www.omat.nl/drupal/?q=node/76&#034; &gt;blog entry from Tom Albers&lt;/a&gt; shows a different scenario where bzr&#039;s usage may add value.  Because you can very easily bring any old directory laying around your hard drive under bzr&#039;s control (&lt;tt&gt;bzr init; bzr add; bzr commit;&lt;/tt&gt;) you can version directories that isn&#039;t normally versioned.&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.weiqigao.com/blog/2006/05/18/subversion_cvs_bazaar_ng_bzr.html#comments</comments>
    <guid isPermaLink="true">http://www.weiqigao.com/blog/2006/05/18/subversion_cvs_bazaar_ng_bzr.html</guid>
    <pubDate>Thu, 18 May 2006 05:16:34 GMT</pubDate>
  </item>
  
  </channel>
</rss>

