On Feb 1, 2007, at 09:13, Jeff Smith wrote:
> So between your words, the book, and the problem... 'merge' as I used
> it is not good for merging changes from the vendor into my working
> copy (or merging any other branches into the trunk, for that matter).
> Of course I'm missing something because that makes no sense.
"svn merge" is fine for merging changes in a vendor project into your
project; I use it successfully for that purpose. The fact that it's
not working for you probably just means you're not executing the
correct "svn merge" command.
> I'm trying to merge changes which are committed in vendor/FreeRTOS
> into trunk/FreeRTOS. The part not working the way I expect is when
> the vendor added new subfolders. The merge copies them to the trunk
> in the working copy, but decides not to add them.
>
> The directory "Tern_EE" for example was introduced in the vendor
> release (using svn_load_dirs), and I am now trying to merge the
> addition into the trunk which of course does not have Tern_EE. Why
> should it when the trunk was coppied from the older vendor release?
>
> I'm still trying to understand the book section you mentioned, but
> maybe I'm supposed to always use "--ignore-ancestry". If that makes
> it add the files that should be added, then what's the use without
> the switch? The book examples are just too simple to address this.
I haven't used the --ignore-ancestry switch myself.
All I can do is give you an example of how I can successfully merge
an updated vendor project into my local project.
Say I have a library foolib that I keep up to date in my own
repository via initially "svn import" and for subsequent updates via
svn_load_dirs.pl, such that I have this structure in my repository:
$ svn ls $REPO/vendor
foolib/
foolib/current/
foolib/current/somefile.bar
foolib/1.0/
foolib/1.0/somefile.bar
foolib/1.1/
foolib/1.1/somefile.bar
foolib/1.2/
foolib/1.2/somefile.bar
Say I've also copied foolib version 1.2 into my project. (Suppose the
reason I copy it into my project, rather than linking it in with
svn:externals, is that I want to modify the library specially for
this project, and still be able to upgrade to newer versions easily,
while retaining my modifications.)
$ svn checkout $REPO/myproject/trunk myproject-trunk
$ cd myproject-trunk/libs
$ svn cp $REPO/vendor/foolib/1.2 foolib
$ svn ci -m "adding foolib 1.2 to myproject"
Now suppose that foolib 1.3 is released and has been loaded into /
vendor/foolib/current and copied to /vendor/foolib/1.3 using
svn_load_dirs.pl. I can easily update the foolib in myproject by
merging:
$ cd myproject-trunk/libs
$ svn merge $REPO/vendor/foolib/{1.2,1.3} foolib
# manually fix any conflicts that may have arisen
# test myproject, make sure everything's ok
$ svn ci -m "updating foolib to 1.3"
--
To reply to the mailing list, please use your mailer's Reply To All
function
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Feb 2 09:26:00 2007