Getting started with a content filter
John Arbash Meinel
john at arbash-meinel.com
Fri Aug 5 09:50:00 UTC 2011
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
...
> 2. Can't have entire history in all branches because it gets too
> big too fast on clients, need to store most of the large binary
> history on a server. Is there a way to specify a partial history
> like this now? Are stacked branches something that could help here?
> It'd have to be per-file, though, not global to the entire branch.
> In other words, I want all the code revisions local (or most of
> them), but only the past two large binary revisions, or whatever.
> The code would need to delete old history locally as new history is
> checked in (assuming it's been successfully pushed to the server, of
> course).
This one is tricky. And because of this requirement, I feel it should be
a specialized plugin/storage mechanism. There are lots of things like
lightweight checkouts/stacked branches etc that one could do. It just
feels like storing them out-of-band works best here.
>
> 3. Need some kind of locking protocol so two artists don't edit an
> unmergable file at the same time. I know this is heresy for dvcs,
> but it's going to have to get solved somehow if people are going to
> use bzr for these media projects that need the large binary files. I
> think this isn't that big of a deal for this use-case, because #2 is
> going to require a server be accessible often anyway. Not sure what
> to do when both artists are offline, but at least warning would be
> something.
>
> Chris
There are 2 plugins I know of that provide some sort of cooperative
locking support for bzr. I had been working on one (about 50% complete,
IIRC), and someone else put one together. Though I can't find it now.
lp:~jameinel/+junk/file_locking
I was happy with how mine was fleshing itself out. It basically writes a
file to a shared location that tracks what files are/aren't locked. It
tracked what *needed* to be locked by glob, IIRC.
In a distributed system, locking is going to be cooperative, but if the
tool support is reasonable, then I think it is fine to add. I still
don't quite understand *why* two people would be trying to edit the same
large-binary in incompatible ways. Although, maybe it is say editing the
beginning and ending of a video. Which is perfectly compatible, just bad
tool support for merging the changes together.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk47vMgACgkQJdeBCYSNAANkUwCglXpEBiLzfsjVncINHb2KnDpf
D1MAoM/fgq8NxgLRZStNwRIXNihumCFz
=yhtU
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list