sftp oddities

John Arbash Meinel john at arbash-meinel.com
Tue Dec 20 15:22:58 GMT 2005


Johan Rydberg wrote:
> John Arbash Meinel <john at arbash-meinel.com> writes:
> 
> 
>>>I think we can get rid of it completely if there's no working directory
>>>to update.  If there's a working tree on the remote branch, then we
>>>should issue the warning.
>>
>>I agree completely. 
> 
> 
> How do you detect that there is a working tree there?
> 
> ~j

Right now, there always is :)
At one point, I had a branch which got rid of '.bzr' and had all of the
branch information in the root-level directory.
To avoid future confusion, we also added a 'no-working-tree' file, which
indicated this branch did not have a working tree.
Here is an example:

Current branches:

$base/
  .bzr/
    branch-format
    branch-lock
    revision-store/
    <other branch information>
  <working tree>
  .bzrignore
  bzr
  bzrlib/
  <etc>

Without working-tree
$base/
  branch-format
  branch-lock
  no-working-tree
  revision-store/
  <other branch information>

However, this is still under some debate. We are bringing the concept of
repositories into bzr (collections of branches with shared storage). And
the general layout would be something like:

$repository-root/
  .repository/
    revision-store/
    weaves/
    <other shared information>
  branch-1/
    <information about branch-1>
  branch-2/
    <info about branch-2>
    nested-branch-3/
       <info about 3>
       super-nested-branch-4/
       <info about 4>
  bzr/
    dev/
      jam/
        integration/
          <info about john meinel's bzr integration branch>
    release/
       0.6/
         <info about the released 0.6 bzr branch>

alternatively, with nested branches

  bzr/
    dev/ #This is the 'mainline'
      <info about bzr/dev>
      sftp-fixes/ #Feature branch
        <info about bzr/dev/sftp-fixes>
      jam/ #John Meinel's dev or integration branch
        <info about bzr/dev/jam/>
        win32/ # win32 development branch
          <info about bzr/dev/jam/win32/>




The issue is that repositories don't really need working trees, and it
simplifies things if they don't have them.
However, would would like the path you use to access a branch, such as:

http://host/bzr/release/0.6/

To be sort of its 'name'. So that the path to the branch, can be looked
up by regular http. That means that we have to watch out that we don't
create files in those directories that people would want to name their
branches.

Which implies using a special directory (like .bzr, or maybe _bzr),
which would then be forbidden as a path element, since we are already
using it. We still could add a "no-working-tree" entry.
The nice thing about leaving the .bzr in, is that it means fewer changes
to the current codebase, and it means that people can setup things that
look like repositories (minus shared storage) with regular branches.

Does that make sense?

John
=:->
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20051220/a0c8919c/attachment.pgp 


More information about the bazaar mailing list