[svk-devel] Merge Problems
Jeff Slabaugh
jeffs at powells.com
Thu Nov 20 13:45:32 EST 2008
Hello, all.
I asked about this in #svk, but obra suggested I bring it here.
Basically, the issue is that our merges are periodically getting out of
whack.
To give you a very simple example, I have two branches, QA and trunk,
with 10 differences between them, all known, all expected. One of those
files needs to be moved up to trunk while the others are still waiting
for final sign off. I copy the file in question and svk ci it directly
to trunk. I rerun "svk branch --merge QA trunk -C" but now there are
like 200+ deltas, mostly deletes, instead of the expected 9. One other
person was moving code into trunk at roughly the same time via a merge,
but it was a single file, not something that would add 200 deletes to my
merge.
This has happened to us 3-4 times since we implemented SVK a few weeks
back. The problem can be fixed by using SVN directly to move the
tainted branch. Once moved and svk is synced/updated, "svk branch
--merge QA_tainted trunk -C" looks right once again.
Perchance have any of you seen something like this? We've gone through
several iterations of troubleshooting internally with limited success.
For a while we were assuming it was an issue with not everyone having an
up-to-date version of SVK installed, but we recently forced everyone to
upgrade to SVK 2.2.1 w/ SVN 1.5.1. That didn't resolve the situation.
Some more data points:
* We have 10-15 branches going at once.
* We have about 10 developers all working on the same repo.
* Our SDLC path is mainly some_branch > QA > trunk, with the various
devs responsible for keeping their various branches in sync.
* We have a couple non-devs who tend to make changes in QA which are
then copied/committed to trunk. Sometimes they work on trunk directly.
* Our primary SVN server is running SVN 1.4. Yes, we know it's sadly
out of date, but people are dragging their feet on upgrading until
there's a compelling need to.
If anyone has any suggestions, I'd love to hear 'em. While it's not
that big a deal to svn mv the funky branches around to fix things, it is
annoying and, well, it's just a little bit dangerous to be one missing
-C away from blowing away a large portion of our code base. Sure, it's
in svn and recoverable but that takes time and we still end up with a
dead site in the interim. Not ideal. At any rate, any leads, ideas,
elucidation will be appreciated... Thanks!
JMS
http://www.powells.com
More information about the svk-devel
mailing list