[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Developer workflow and DVCS (was: Leaving DPMT?)



[re-sending as a followup to an older thread]

I see this discussion focussing on Subversion versus Git; I wish with
this message to point out that's a false dichotomy, as not all DVCSen
are necessarily like Git.

To do so, I'll engage in a little advocacy for Bazaar
<URL:http://bazaar-vcs.org/>. I hope people can be open to discussion
about relative merits of tools.

Stephan Peijnik <debian@sp.or.at> writes:

> On Fri, 2009-02-27 at 15:07 +0100, Sandro Tosi wrote:
> > No, what I said was:
> > 
> > - I see no need to move to git as a team
> > - I can't afford to download all the git repos for packages I want
> > to modify once

This issue is avoidable if the repository is a Bazaar one:

Bazaar allows a centralised workflow with its “checkout” feature
<URL:http://bazaar-vcs.org/CheckoutTutorial>
<URL:http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#using-checkouts>.
By default, a checkout causes any commits to the branch to *also* be
committed to a remote branch.

Optionally, a checkout can be “lightweight” which affords a workflow
almost identical to that of Subversion: no initial download of the
revision data, all commits are made to the remote repository only
<URL:http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#getting-a-lightweight-checkout>.

Of course, any Bazaar branch (whether a checkout or not) still allows
all the DVCS behaviour, getting revision data from the repository as
needed.

> I can to some agree with Sandro here. I'm not a big fan of svn, but
> for the DPMT repository svn looks like the right choice to me. The
> big benefit of using svn is that each and every directory in a svn
> repository can be checked out forming a stand-alone local copy. And
> this exactly is not possible with other recently more-popular VCS
> such as Mercurial and git.

Bazaar, on the other hand, has a feature for this in newer versions
(Bazaar 1.9 and later): you can create a “stacked branch”, allowing
a casual contributor to get just that part of the repository
<URL:http://bazaar-vcs.org/Scenarios/OneOffContribution>
<URL:http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#using-stacked-branches>.

> With svn it is as simple as checking out one directory (ie.
> packages/), apply the change and then do a single commit, which will
> push back all changes.

Just like this, except in a DVCS.

> However, if someone can point out that a 'better' vcs that has this
> 'every-directory-can-be-a-repository' behaviour, please do so and I
> would be happy to give that a try.

For the “stacked branch” feature, you'll need Bazaar (package name
‘bzr’) version 1.9 or later. Debian ‘unstable' currently only has
version 1.5; ‘experimental’ has version 1.12.

For “checkout”, including the ‘--lightweight’ option, any version of
Bazaar in Debian has this feature.

> Oh, last but not least, there's the old saying 'never change a
> running system', which one should really keep in mind when
> discussing such changes.

Definitely. This advocacy is not at all intended as demand for change.

-- 
 \     “Don't be afraid of missing opportunities. Behind every failure |
  `\         is an opportunity somebody wishes they had missed.” —Jane |
_o__)                                          Wagner, via Lily Tomlin |
Ben Finney


Reply to: