migrating from CVS
Martin Pool
mbp at sourcefrog.net
Mon Mar 6 06:41:51 GMT 2006
On 5 Mar 2006, Jos Backus <jos at catnook.com> wrote:
> Both these other modes sound useful, too. As I understand it, the default mode
> is common to Subversion and Bazaar-NG so no differences there. With both
> systems, all files in a tree by definition belong to a single branch. This is
> a fundamental difference with CVS, where branching happens at the file level
> (as in the examples I gave). Am I getting it?
There's a couple of different axes: (1) where the history is stored, (2)
and how the various files and directories are linked together.
(1) In CVS, as in Subversion, you create a separate repository that will
hold all the history. In bzr, by default the history is stored in the
.bzr directory, so the tree carries its history with it. However, you can
instead create a separate self-contained repository (see recent
discussions), which will store history for several (typically related)
branches.
(2) CVS versions each file separately, and implements directories by
just checking in or out all the files within the directory severally.
svn, like bzr, versions directories as first-class objects, but the
approach is somewhat different. In svn the whole repository is viewed
as one super-tree, relying on convention to say which directories are
considered the top of actual source directories. In bzr there is more
of a distinction between directories that exist as separate branches,
and subdirectories within a source tree.
> > >Say I have a CVS checkout with 1000 files, all of which are on the
> > >trunk but
> > >one file lives on a branch. Does this mean that in Bazaar-NG land I
> > >would have
> > >two almost identical trees except for the one file?
> >
> > Yes, that's correct. Or you can keep them in one repository, which
> > will mean the data is stored approximately as compactly as in CVS.
>
> So this means that the source of the checked-out (a.k.a. working) trees, each
> mapping to a single branch, is a single (shared) repository?
Yes, that's correct. The working directory has a pointer to the branch
it views/edits; the branch's history is stored within a repository.
> I'm assuming the sharing pertains to file/directory (meta-)data
> between the branches that the working trees are an instantiation of?
Yes. It's shared in the sense that the is shared between two different
branches.
--
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: Digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060306/db1328eb/attachment.pgp
More information about the bazaar
mailing list