Cannot merge bundles created without referencing another branch.

John Arbash Meinel john at arbash-meinel.com
Tue Oct 9 18:40:48 BST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Aaron Bentley wrote:
> Alexander Belchenko wrote:

...

> 
> But then you need to keep very careful track of revision numbers.  If
> you use local mirrors, it just works.
> 
> Aaron

I feel like you are pushing a specific workflow, rather than allowing
people to work the way that makes sense to them.

There is nothing in the format that would prevent what Anton and
Alexander have discussed. It is just the way the command interprets
arguments.

Admitedly, it is because Aaron felt that people were submitting
unmergeable bundles. I think having a simple mirror of the upstream
branch isn't a big deal. But it is a lot of extra work for the use case
Anton described.

Specifically, I have 1 branch of my homework assignment. I submit it at
revision 8. And then they ask for changes. So I want to send the changes
from revision 8 to the new tip.

bzr send -r 8..-1

Seems like a really nice, simple, and straightforward way to do that.

The alternative is having to do something like:

bzr branch -r 8 . ../submitted-1
bzr send ../submitted-1

Or to do something like:

bzr commit -m "I think this is ready"
bzr init ../null-base
bzr send ../null-base

# Just to track what I've submitted
bzr branch . ../submitted-1

# get feedback
<hack, commit, hack, commit>
bzr send ../submitted-1
bzr branch ../submitted-2

I suppose having a "submitted" branch isn't terrible, though.

You could tell users to do:

bzr init-repo --trees class-stuff
cd class-stuff
mkdir project1
cd project1
bzr init submitted
bzr branch submitted working
cd working
# do all the stuff I want
bzr commit -m "submitting homework."
bzr send ../submitted
bzr push ../submitted

# oops, I have some typos
<fix fix>
bzr commit -m "some small updates"
bzr send # Send the stuff to upstream
bzr push # Mark the new stuff as submitted



Another possibility, which could work well for Anton:

Have all students branch one of *your* branches as the initial branch.
This gives you a change to set the "submit_to=XXX" in
./bzr/branch/branch.conf. Which means the users can just run "bzr send"
without having to worry about getting the email address correct.

The downside of this is that every 'bzr send' will send the full set of
changes from the base revision. The flip side is that you are sure you
can always understand that bundle even if something happened to a
previous one.


Anyway, I would actually like to see the ability to send specific
revisions. I realize there is possibility of sending unmergeable
bundles, but that is always a possibility. (Maybe you didn't realize you
had done your first commit in your local mirror, etc.)
We could trigger if we would create a bundle with 0 revisions, then we
create one with whatever revisions would satisfy the "from-to" request.

John
=:->

PS> There is also a small issue with how "bzr send" works. In that you
can't do "bzr send --remember --mail-to user at host". It only gets the
submit_to location from the "source" branch, never from the current branch.
PPS> 'unmergable' or 'unmergeable' I'm never sure.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHC70gJdeBCYSNAAMRAlg0AJ0S6hlmhNSibXxymxgkfLccqzSriACgj2d5
/dYoHS/844lGHiQQIsXmhrU=
=dsvG
-----END PGP SIGNATURE-----



More information about the bazaar mailing list