You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jeff Kowalczyk <jt...@yahoo.com> on 2004/07/12 21:16:31 UTC

copying vendor import to trunk, not subdirectory

I followed a procedure (below) to import the first of many vendor releases
of a software package I want to customize. The last step, copying the
vendor branch to the trunk is not working the way I need it to. I anyone
can suggest a modification to the procedure so I can make a fresh start
with it, it would be greatly appreciated. Thanks.

Initial repository creation and skeleton import

$ svnadmin create /home/myuser/svn/acme
$ mkdir /home/myuser/software/acme-initial
$ cd /home/myuser/software/acme-initial
$ mkdir branches tags trunk vendor
$ svn import /home/myuser/software/acme-initial 
file:///home/myuser/svn/acme -m "initial import"

Location for Working copy

$ cd /home/myuser/software/
$ svn checkout file:///home/myuser/svn/trunk acme 

Import the earliest version of the vendor source

$ svn import /home/myuser/software/acme-tarballs/acme.0.5/acme \
             file:///home/myuser/svn/acme/vendor/acme/current \
             -m 'importing initial 0.5 vendor drop'

Manually tag the initial release by copying current to a version name

$ svn copy file:///home/myuser/svn/acme/vendor/acme/current \
           file:///home/myuser/svn/acme/vendor/acme/0.5 \
           -m 'tagging acme-0.5'

Copy the named initial release into the trunk.

$ svn copy file:///home/myuser/svn/acme/vendor/acme/0.5 \
           file:///home/myuser/svn/acme/trunk \
           -m 'bringing acme-0.5 into the main branch'

Unfortunately, this copies '0.5' into the trunk, not the 0.5 contents:

$ cd /home/myuser/software/acme
$ svn update
A  0.5
A  0.5/index.html
A  0.5/README.TXT
A  0.5/docs/CHANGES.TXT
(...)

How do I correct this, so that the 0.5 version gets pulled from the vendor
directory to the trunk? I am more than willing to destroy this repository
and create a new one, so feel free to quote the commands above with
corrections if there is a better way to do this. Thanks.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: copying vendor import to trunk, not subdirectory

Posted by Ben Collins-Sussman <su...@collab.net>.
On Tue, 2004-07-13 at 11:41, Jeff Kowalczyk wrote:

> That's innovative. I'm starting to get the idea that subversion is
> completely flexible, and that many locations like trunk and vendor are
> convenience conventions, rather than absolute procedures that must be
> followed in rote order.

Yes, you've just repeated the main theme of chapter 4.  The repository
only has directories and tracks their history;  the term 'branch' and
'tag' are human meanings that you ascribe to these directory copies. 
It's as flexible as you want it to be.




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: copying vendor import to trunk, not subdirectory

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
Jeff Kowalczyk wrote:

> What will I do when I want to bring later versions of acme from the
> vendor/0.6 -> /vendor/current branch -> /trunk/(contents of 0.6). Does it
> become a merge in subsequent commands?

Yes, subsequent imports (after the first one) use a merge instead of a 
copy to bring the changes into the trunk.

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: copying vendor import to trunk, not subdirectory

Posted by Jeff Kowalczyk <jt...@yahoo.com>.
On Tue, 13 Jul 2004 10:59:08 -0400, Garrett Rooney wrote:
>> The commands are nearly verbatim, except that I'm trying to 'merge' my
>> vendor drop into the root directory of the trunk, not a subdirectory:
>> /home/myuser/software/acme/index.html README.TXT (...)
>> instead of
>> /home/myuser/software/acme/0.5/index.html README.TXT (...)
>> Is there any way I can do that?
> Just don't create the initial empty 'trunk' directory, then do the copy.
>   Your copy will create a trunk directory as a copy of the 5.0
> directory, rather than placing the 5.0 directory inside the trunk
> directory.

That's innovative. I'm starting to get the idea that subversion is
completely flexible, and that many locations like trunk and vendor are
convenience conventions, rather than absolute procedures that must be
followed in rote order.

What will I do when I want to bring later versions of acme from the
vendor/0.6 -> /vendor/current branch -> /trunk/(contents of 0.6). Does it
become a merge in subsequent commands?

I have about fifteen historical vendor tarballs I'm going to import before
making any customizations of the latest version in my working copy
checkout of the trunk.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: copying vendor import to trunk, not subdirectory

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
Jeff Kowalczyk wrote:
> François Beausoleil wrote:
> 
>>Hello Jeff, 
>>Jeff Kowalczyk wrote:
>>
>>>$ svn copy file:///home/myuser/svn/acme/vendor/acme/current \
>>>           file:///home/myuser/svn/acme/vendor/acme/0.5 \ -m 'tagging
>>>           acme-0.5'
>>>
>>>Copy the named initial release into the trunk.
>>>
>>>$ svn copy file:///home/myuser/svn/acme/vendor/acme/0.5 \
>>>           file:///home/myuser/svn/acme/trunk \
>>>           -m 'bringing acme-0.5 into the main branch'
>>>
>>>Unfortunately, this copies '0.5' into the trunk, not the 0.5 contents:
>>>
>>>$ cd /home/myuser/software/acme
>>>$ svn update
>>>A  0.5
>>>A  0.5/index.html
>>>A  0.5/README.TXT
>>>A  0.5/docs/CHANGES.TXT
>>>(...)
>>
>>You need to read up on svn merge.  Please see the book, there's even an
>>example of this in the vendor drop section.
>>
>>To revert the copy, simply reverse merge the changes of the revision in
>>which the copy was made.
> 
> 
> Thanks. I was in fact following the vendor drop section of the book,
> including the second copy (which seemed like it should be a merge to me,
> too.) http://svnbook.red-bean.com/svnbook/ch07s04.html
> 
> The commands are nearly verbatim, except that I'm trying to 'merge' my
> vendor drop into the root directory of the trunk, not a subdirectory:
> 
> /home/myuser/software/acme/index.html README.TXT (...)
> 
> instead of
> 
> /home/myuser/software/acme/0.5/index.html README.TXT (...)
> 
> Is there any way I can do that?

Just don't create the initial empty 'trunk' directory, then do the copy. 
  Your copy will create a trunk directory as a copy of the 5.0 
directory, rather than placing the 5.0 directory inside the trunk directory.

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: copying vendor import to trunk, not subdirectory

Posted by Jeff Kowalczyk <jt...@yahoo.com>.
François Beausoleil wrote:
> Hello Jeff, 
> Jeff Kowalczyk wrote:
>> $ svn copy file:///home/myuser/svn/acme/vendor/acme/current \
>>            file:///home/myuser/svn/acme/vendor/acme/0.5 \ -m 'tagging
>>            acme-0.5'
>> 
>> Copy the named initial release into the trunk.
>> 
>> $ svn copy file:///home/myuser/svn/acme/vendor/acme/0.5 \
>>            file:///home/myuser/svn/acme/trunk \
>>            -m 'bringing acme-0.5 into the main branch'
>> 
>> Unfortunately, this copies '0.5' into the trunk, not the 0.5 contents:
>> 
>> $ cd /home/myuser/software/acme
>> $ svn update
>> A  0.5
>> A  0.5/index.html
>> A  0.5/README.TXT
>> A  0.5/docs/CHANGES.TXT
>> (...)
> 
> You need to read up on svn merge.  Please see the book, there's even an
> example of this in the vendor drop section.
> 
> To revert the copy, simply reverse merge the changes of the revision in
> which the copy was made.

Thanks. I was in fact following the vendor drop section of the book,
including the second copy (which seemed like it should be a merge to me,
too.) http://svnbook.red-bean.com/svnbook/ch07s04.html

The commands are nearly verbatim, except that I'm trying to 'merge' my
vendor drop into the root directory of the trunk, not a subdirectory:

/home/myuser/software/acme/index.html README.TXT (...)

instead of

/home/myuser/software/acme/0.5/index.html README.TXT (...)

Is there any way I can do that?


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: copying vendor import to trunk, not subdirectory

Posted by François Beausoleil <fb...@ftml.net>.
Hello Jeff,

Jeff Kowalczyk wrote:
> $ svn copy file:///home/myuser/svn/acme/vendor/acme/current \
>            file:///home/myuser/svn/acme/vendor/acme/0.5 \
>            -m 'tagging acme-0.5'
> 
> Copy the named initial release into the trunk.
> 
> $ svn copy file:///home/myuser/svn/acme/vendor/acme/0.5 \
>            file:///home/myuser/svn/acme/trunk \
>            -m 'bringing acme-0.5 into the main branch'
> 
> Unfortunately, this copies '0.5' into the trunk, not the 0.5 contents:
> 
> $ cd /home/myuser/software/acme
> $ svn update
> A  0.5
> A  0.5/index.html
> A  0.5/README.TXT
> A  0.5/docs/CHANGES.TXT
> (...)

You need to read up on svn merge.  Please see the book, there's even an 
example of this in the vendor drop section.

To revert the copy, simply reverse merge the changes of the revision in 
which the copy was made.

Let X be the revision number of the copy (CWD must be 
/home/myuser/software/acme):
svn merge --revision X:X-1 file:///home/myuser/svn/acme/trunk

Hope that helps !
François


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org