Matthieu Moy wrote:
In[EMAIL PROTECTED]/bazaar--commit-revlib--1.5 Located at https://[EMAIL PROTECTED]/webdav/moy/public "baz commit" will create a revlib entry using the computed changeset without redownloading it, if the revision library is greedy.
Looking at
[EMAIL PROTECTED]/bazaar--commit-revlib--1.5--patch-1
There was only one thing I didn't really understand. The first line
in arch_recycle_library, you call:
arch_library_add (chatter_fd, 1, arch, arch_patch_id_revision(revision),
NULL, NULL, -1, 0);
Isn't that saying "add the revision I am about to add"? Shouldn't it be:
arch_library_add (chatter_fd, 1, arch, arch_patch_id_revision(prev_revision),
NULL, NULL, -1, 0);
So that you are sure that the previous revision exists, not the current one.
Also, I'm not sure how this handles the idea of tag (as it would be nice to
reuse whatever is created in the tagging process as well). But having commit do
the right thing is higher priority.
Otherwise it looks fine to me. You create a temp entry in the revlib, link it
to the previous revision, apply the changset, and move it into place. Seems
straightforward.
If someone complains about this behavior, we can add a --greedy-commit option to revision libraries, but I think the revlib entry on commit is the expected behavior for a greedy revlib.
I would add a "--no-greedy-commit" and make greedy the default. Also, I didn't see a place where it handles the case where you *don't* have a greedy revision library setup, so there is no library which wants to receive the new changeset. It seems to assume that there will be a place for it. John =:->
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Gnu-arch-users mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnu-arch-users GNU arch home page: http://savannah.gnu.org/projects/gnu-arch/
