On Tuesday 30 August 2011, Rothkin, Steven wrote: > I'm doing some testing and documentation in preparation for migrating > from CVS to Subversion. > > I'm using svn, version 1.6.16 (r1073529) on Cygwin.
Concerning Cygwin, this is neither MS Windows nor Linux, and how much of each also depends on the way it is configured. In particular, you can configure Cygwin to use DOS-style line endings or Unix-style line endings, in order to easier integrate with other OSs. There is a working command line client for MS Windows and an even better graphical one (TortoiseSVN), so normally I would use those. If you really need to develop Linux software on MS Windows, then indeed I would also use Cygwin, but then I would keep other native MS Windows clients away from Cygwin working copies. Concerning line endings under SVN, it knows about different line endings (svn:eol-style property) and transcodes the files if told to. What it doesn't cope too well with is merging changes across changes of that property, I have many times seen SVN get confused and marking whole files as changed even though just a few lines were changed. Changing the line endings to one style before merging and back after that helps usually. > I'm having some difficulty with merging to release branches that I > haven't been able to find a solution for (other than continuing our old > CVS way of patching changes to active release branches). > > The problem is this - there are inherently many changes between a > release branch and the main trunk (the older the release branch, the > more the number of changes). When we fix a bug and want to put the fix > in several releases, ONLY that change should be merged/patched. For the record, "main trunk" is partially redundant. Here(tm), we just say "trunk". That said, what you intend is what many people are doing successfully. It is a normal operation that is supported and it should work, so we just need to find out why it doesn't for you. > I then tried various different ways of merging just that change to a > release branch. I tried (all while in the top of the working copy of the > target branch): > > > > svn merge -c 9840 $SVNHVAURL/argus/trunk > > svn merge -r 9839:9840 $SVNHVAURL/argus/trunk > > svn merge $SVNHVAURL/argus/trunk@9839 > $SVNHVAURL/argus/trunk@9840 AFAICT, those should all three be equivalent. > In all the cases, the conflicts that showed up included all of the > differences between the trunk and the branch (including in sections of > the affected files that weren't anywhere near any of the test changes > and so therefore didn't need to be merged). Something like <<< <whole file at revision A> === <whole file at revision B> >>> I.e. the whole file was marked as conflicted? This is an effect of conflicting line endings, as I initially mentioned. Try transcoding the file's line endings using dos2unix or unix2dos before merging and back afterwards. If the changes are then as expected, then you can blame the line endings. You mentioned converting using cvs2svn. I haven't used this tool for ages (since converting my private stuff at SVN 0.27 or so) so I'm not familiar with its use. However, you can probably tell it how to manage line endings. For most textual files (code, scripts, XML, HTML, texts), I would normally use "svn:eol-style=native", so that they are easily usable on any system. There are also "auto-props". These don't affect the converted sources but only new files. Since they are client-side settings, you have to configure each workplace separately. This is not necessary to look at right now, but good to keep in mind, since it makes it easier that new files have e.g. the right line endings. The real place to verify the endings is a hook on the server side, but that then takes away the informed user's ability to choose. Good luck! Uli -- ML: http://subversion.apache.org/docs/community-guide/mailing-lists.html FAQ: http://subversion.apache.org/faq.html Docs: http://svnbook.red-bean.com/ ************************************************************************************** Domino Laser GmbH, Fangdieckstra�e 75a, 22547 Hamburg, Deutschland Gesch�ftsf�hrer: Thorsten F�cking, Amtsgericht Hamburg HR B62 932 ************************************************************************************** Visit our website at http://www.dominolaser.com ************************************************************************************** Diese E-Mail einschlie�lich s�mtlicher Anh�nge ist nur f�r den Adressaten bestimmt und kann vertrauliche Informationen enthalten. Bitte benachrichtigen Sie den Absender umgehend, falls Sie nicht der beabsichtigte Empf�nger sein sollten. Die E-Mail ist in diesem Fall zu l�schen und darf weder gelesen, weitergeleitet, ver�ffentlicht oder anderweitig benutzt werden. E-Mails k�nnen durch Dritte gelesen werden und Viren sowie nichtautorisierte �nderungen enthalten. Domino Laser GmbH ist f�r diese Folgen nicht verantwortlich. **************************************************************************************