Naive questions re hard-linking repositories

Robert Collins robert.collins at canonical.com
Thu Apr 16 05:14:02 BST 2009


On Thu, 2009-04-16 at 01:14 +0900, Stephen J. Turnbull wrote:
> John Arbash Meinel writes:
> 
>  > So, a somewhat bigger problem is the "bzr branch plugins/bzrtools"
>  > effect, where you have a tiny project inside a large one, and this
>  > suddenly copies the entire repository because you are working on FAT32.
>  > 
>  > git/hg generally say "don't mix projects in your repo".
> 
> In git that's just because the developers are happy with that
> workaround.  But it's easy enough to implement for any given case.
> You make a list of branches you want, and then do git init (not git
> clone), and just fetch the branches you need to compose the project
> repository.  git automatically unpacks just the objects you need, and
> then repacks them to send over the wire.  Of course this requires
> either shell access or a smart server, but it works fine for me (I
> don't do multiroot/multiproject repositories, but I do partial
> checkouts of this kind from multibranch repositories and it should
> work the same in a multiroot repository).
> 
> I don't see why the bookkeeping would be too hard to do.  The main
> problems you'd face would be (1) you'd need to implement a "collection
> of revisions" (called "project") bigger than a branch but smaller than
> a repository, and (2) it's not obvious how to deal with not-so-smart
> servers.  A possible way to deal with (2) would be to pack per
> project rather than repo wide.  I'm not sure how this would work if
> you have a cross-project commit, so that might kill the idea, but on
> the other hand it might be trivial (ignore the parts of the commit
> that are not part of the requested project).

Well, the issue here is that we have a proposed abstraction violation:
sharing a repositories contents without being the repository itself
means that the regular bookkeeping which is simple and works well even
with mixed projects will now do surprising things.

-Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090416/6b66e752/attachment.pgp 


More information about the bazaar mailing list