emacs-devel
[Top][All Lists]
Advanced

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

Re: bzr repository ready?


From: David De La Harpe Golden
Subject: Re: bzr repository ready?
Date: Wed, 25 Nov 2009 22:26:14 +0000
User-agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109)

> We are failing to communicate

I know rather less than Karl about bzr, but I'm one of the ones who would be using lightweight checkouts from a local repository, so I'll have a shot:

I'm asking about how to use lightweight checkouts.  Someone
recommended them for people not writing lots of changes.

When you make a lightweight checkout, do you have to first make a
local repository and get the branch into it?

Have to? No.
Can you do that if you want to? Yes.
Why would you want to? See *** below.

Or can you make a lightweight checkout straight from
> the remote repository?

Yes. Though that's then similar to using a non-distributed VCS - a better one than CVS, but still, with usual non-distributed VCS disadvantages associated with needing to be able to talk to the remote "repository" (there's a terminological issue here as bzr is "branch centric").

I got the impression that the lightweight checkout was recommended
because it avoids the need to make a local repository.

That is a reason to make a lightweight checkout from a remote repository alright - People not writing lots of changes might use such a lightweight checkout from a remote repository as it avoids grabbing the whole branch with full historical data (a couple of hundred megs for emacs, and also doing it with bzr-over-http is slower that one would expect even given that size for whatever reason)

In other words, after doing
   bzr branch URL_TO_UPSTREAM_EMACS_TRUNK

why not just go ahead and edit the files in the directory
for that branch?


*** The issue of lightweight checkouts from a _local_ repository arose in the case of emulating the git sense of branches (which are not materialized as subdirectories in the filesystem).

To pretend bzr is git in this respect (there are other respects in which they differ), you can make a local repository (multiple bzr branches using the same storage) configured not to populate the branch directories with actual working copies of files ("--no-trees") and branch the branches you want into it.

Then you do a lightweight checkout of a branch to single working directory, then you switch that single working directory between lightweight checkouts of your different branches with the "bzr switch" command.

This means you have lots less branch directories populated with files, assuming you have multiple branches.

A cited disadvantage of "branches are subdirectories" was the need to separately "make bootstrap" each branch separately. If you're switching a single working directory between checkouts of branches, you can "get away with" not bootstrapping so much, something like switching cvs branches with (IIRC) "cvs update -r".

> Do you have to make a checkout from the branch in order to get
> source files you can use?

Only if you've made a branch with no working copies of source files with the --no-trees option because you're emulating git style as above.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]