NB. Please use Reply To All to keep replies on the list.

Andy Singleton wrote:
Thanks.  We should definitely look more closely at reintegrate.

Will reintegrate work correctly with separate repositories where the
version numbers start to diverge?  It would help me a lot if you
would just walk through the process of working with both
repositories, and the exact operations.

As far as I understand it, using --reintegrate is just a convenient wrapper around a 2-URL merge. I haven't personally tried it with two repositories, but I don't have any reason to expect it to not work.

If we commit to using the reintegrate merge, we might be able to make
it more reliable.  If it turns out that we need to have the server
set some properties to make this work, we could program the servers
to do that.

I haven't had any problems using --reintegrate. What reliability issues are you worrying about?

I did see this in the link that you sent me:  "An important thing to
point out, and I am not sure if the documentation currently does, is
that once a branch is reintegrated, it should really be deleted.  If
more work needs to happen, create it again with a fresh copy."  This
is exactly the effect of the "Update fork" operation that we
implemented.  Maybe this advice is not correct anymore.

Hmm? I don't think I sent you any links? The svn book does mention this issue, though:

  In Subversion 1.5, once a --reintegrate merge is done from branch to
  trunk, the branch is no longer usable for further work. It's not able
  to correctly absorb new trunk changes, nor can it be properly
  reintegrated to trunk again. For this reason, if you want to keep
  working on your feature branch, we recommend destroying it and then
  re-creating it from the trunk:

So yes, after doing a reintegrate, you need to either delete the branch, or do a record-only merge of the reintegrate revision from trunk to the branch. Otherwise when you next do a merge involving the branch, svn doesn't know to skip the reintegrate revision, and Bad Things (in the form of applying all your branch's changes to itself) will happen.

Incidentally, I really would recommend reading the latest version of the entire svn book, especially Chapter 4, Branching and Merging. This stuff changed a lot with 1.5 (and again with the tree conflict system in 1.6), and there is a lot of historical discussion that has gone into developing the currently-recommended best practices.

http://svnbook.red-bean.com/nightly/en/svn.branchmerge.html

-Mike

Reply via email to