emacs-devel
[Top][All Lists]
Advanced

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

Re: bzr repository ready?


From: Lennart Borgman
Subject: Re: bzr repository ready?
Date: Fri, 20 Nov 2009 22:20:05 +0100

2009/11/20 Óscar Fuentes <address@hidden>:
> Lennart Borgman <address@hidden> writes:
>
>> One thing I do not understand is these "lightweight" branches. Sounds
>> good, but where are the files?
>>
>> I mean if I create a branch and it shares storage with the mirror of
>> the mainline, does it still have all the files there that I need to
>> compile and build Emacs? Is it just the history and version files that
>> are shared, or?
>
> It is essential to distinguish the working copy (aka working tree, the
> files you work with) from the VC data (history, metadata, etc).


Yes. I becames quite a bit easier to communicate when you give me the
terms to use like here.


> A lightweight *checkout* uses the history data that resides on the
> parent branch, but you still have your working copy. It is very similar
> to CVS, where you have your files but for viewing the log, diffing, etc
> the repository is used.


Ok.


> A lightweight checkout is simply a way of saving disk space and get a
> working copy quickly, as the history data is not copied from the parent
> branch to the new branch.
>
> On bzr parlance there are no lightweight branches. There are stacked
> branches though, which also use the VC data of the parent branch. The
> difference among a checkout and a branch is that when you commit on a
> checkout your changes go to the parent branch too, but when you commit
> on a branch your changes remain there, and you need another operation
> (push) to send them to the parent branch (or to any other branch).


Hm. I can see there are useful things there, but I need a bit hand holding.


Currently I have two checkouts from Emacs CVS:

* One which I just checkout and compile. I upload it if someone wants
it, but I do not use it - except for bug checking and reporting.

* The second checkout is where I have all my patches. (I have thrown
away quite a lot of them, it takes too much time to have them and if
they never makes it into Emacs I can just as well put them in the
garbage can. That saves me time at least. There are however some small
patches that are essential to get Emacs working descently.)

I never merge those changes myself into the upstream Emacs becaus I
have felt to unsure about the operations. That is a pitty of course
since it causes other people trouble, but ...

>From this second checkout I build my patched version of Emacs which I
myself and many others use.


How should I set things up when using bazaar? I would really like to
somehow have my patches also in a repository an Launchpad. That would
make many things more simple.


> A non lightweight checkout supports committing changes without sending
> them to the parent branch, using a command line option. A lightweight
> checkout does not support this because it lacks the local VC data.
>
> Actually, a non lightweight checkout is what Bazaar calls a bound
> branch. You can unbind a non-ligthweigth checkout anytimme for
> converting it to a regular branch and you can bind a branch to some
> other branch to convert it to a checkout of that branch.
>
> Bazaar supports quite a few models and can be confusing for those who
> only know the centralized paradigm. IMHO the documentation should
> recommend a model for beginners and give very detailed instructions for
> it (maybe already does, I didn't read it).
>
> For a sane version of the above explanation, execute this on your shell:
>
> bzr help checkouts


... sane or insane ... it is shorter ... maybe not so much insanity then ... ;-)

But I would be glad for an example with pictures for a situation like
the one I have here.


> --
> Óscar
>
>
>
>




reply via email to

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