[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] Synchronising changes in two branches WITHOUT the f
Re: [Monotone-devel] Synchronising changes in two branches WITHOUT the full history?
Wed, 1 Sep 2004 17:55:59 +0800
On Wed, Sep 01, 2004 at 11:30:15AM +0200, Richard Levitte - VMS Whacker wrote:
> I'm starting a project where I will do some development that applies
> both to the 0.9.7 and 0.9.8-dev branches of OpenSSL. Those two
> branches have a lot of differences (and aren't entirely synchronised,
> I dare say...).
> What I need to do is to implement a new feature (RFC3820) in both
> those branches, and the only way I can currently see is to do diffs
> and patches between two working directories that are essentially
> separate branches with no common ancestry (I won't import the whole
> OpenSSL repository, just a late snapshot of each of those branches).
> I wonder if there's a more elegant way to do what I want to do. I
> need to be able to transfer my RFC3820-specific changes without
> getting the whole history from whatever is defined as the common
> ancestor. Is there a way to do this?
> Note: I may have misunderstood how things like propagate works, so
> perhaps that's the way. I doubt it, though...
I'm not totally sure, though I _think_ the following might work. I could
be entirely wrong though - please, someone tell me if I am :)
Basically, you set up a 'fake' ancestry so that the 0.9.7 snapshot is a direct
ancestor of 0.9.8-dev, and go from there.
Start with a single branch (call it openssl.097 say), and check it
into monotone with that branch name. This'll contain your starting 0.9.7
Then do a "monotone del .", remove all the files in the dir (except MT/),
untar the 0.9.8-dev snapshot you're working on (in-place, so as to replace
the files), and do "monotone add ." Now commit this as branch
"openssl.098-dev", so it'll be a descendant of 0.9.7. Note that just doing
add/del will lose rename history, if there were any renames between
0.9.7/0.9.8. Someone on the list pointed this trick out a while back - I
can't remember who it was.
Now, check out openssl.097 in a new dir. Make your RFC3820 changes
here, committing to openssl.097. I _think_ you should now be able to do
monotone propagate openssl.097 openssl.098
, and have the changes merge across. Of course you will probably have some
manual merging to do, but I think it'll generally work. It might be worth
also committing/adding-a-cert-for openssl.097.orig as the original
snapshot, so if you get a new snapshot, you can use a similar 'propagate' to
- [Monotone-devel] Synchronising changes in two branches WITHOUT the full history?, Richard Levitte - VMS Whacker, 2004/09/01
- Re: [Monotone-devel] Synchronising changes in two branches WITHOUT the full history?,
Matt Johnston <=
- Re: [Monotone-devel] Synchronising changes in two branches WITHOUT the full history?, Derek Scherger, 2004/09/01
- [Monotone-devel] Deleting branches (was: Synchronising changes in two branches ...), Peter Simons, 2004/09/01
- [Monotone-devel] Re: Deleting branches (was: Synchronising changes in two branches ...), Bruce Stephens, 2004/09/01
- Re: [Monotone-devel] Re: Deleting branches, Derek Scherger, 2004/09/01