You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jamie Jackson <my...@gmail.com> on 2007/06/28 11:39:31 UTC

Promote (Not Merge) Branch to Trunk

Is there a way to promote a branch to the trunk in one commit? We do not
care to merge, as the code base is entirely different.

Thanks,
Jamie

Re: Promote (Not Merge) Branch to Trunk

Posted by deckrider <de...@gmail.com>.
On 6/28/07, Jamie Jackson <my...@gmail.com> wrote:
> Is there a way to promote a branch to the trunk in one commit? We do not
> care to merge, as the code base is entirely different.

So if you want to replace contents of the trunk with the contents of
the branch, I would check out the trunk, and then do something like
this:

svn merge [trunk url] [branch url]

If the above turns out well, then svn commit.

Or you could svn remove the trunk and rename the branch to the trunk
... I guess it all depends on what you expect later (I'm not really
sure of the expectations surrounding the use of the word 'promote').

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

Re: Promote (Not Merge) Branch to Trunk

Posted by Blair Zajac <bl...@orcaware.com>.
You can delete 'foo' and copy or move 'bar' to 'foo' in the working copy if 
'foo' is a file in a single commit from the working copy.  It doesn't matter 
what 'bar' is.  However, 'foo' cannot be a directory.

See this for some thoughts on the working copy:

http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=128111

Blair

Talden wrote:
> I assume this is simply because of a limitation in the working copy 
> capabilities to express two changes to the same structure - EG the old 
> trunk and new trunk aren't the same 'file' but occupy the same 
> book-keeping in the working copy.
> 
> Has anyone filed an issue for the (hopefully) eventual redesign of the 
> working-copy model?  This would be a nice feature as it seems the same 
> kind of situation is present when dropping new vendor code into a 
> project from vendor branches.
> 
> --
> Talden
> 
> On 6/29/07, *Blair Zajac* <blair@orcaware.com 
> <ma...@orcaware.com>> wrote:
> 
>     You can use mucc or svnmucc (the new name in 1.5) to do these
>     deletes and
>     renames in a single commit.  Mucc is in contrib/client-side/mucc.c.
> 
>     Regards,
>     Blair
> 
>     Jamie Jackson wrote:
>      > Yes, let's say that the code bases are entirely different. The
>     only way
>      > I know to do it is in two commits (unless I check out the whole tree,
>      > delete the trunk with a client, move the branch to the trunk with a
>      > client, then commit).
>      >
>      > So... I guess the heart of my question is: Is it possible, in a
>      > straightforward manner, to effectively *replace* one directory with
>      > another in a single commit?
>      >
>      > Hmm, maybe it doesn't even make sense to do this sort of thing.
>     Now that
>      > I think about it, I don't know why I'd want it to suddenly jump
>     from one
>      > code base to another, as it doesn't make sense to link any of the
>     files
>      > to past versions.
>      >
>      > ...Oh, I guess the reason is that it would violate my "rule"
>     about not
>      > having broken code (in this case, an entirely missing application,
>      > albeit for a single revision) in the trunk.
>      >
>      > Thanks,
>      > Jamie
>      >
>      > On 6/28/07, *Noah Spurrier*  wrote:
>      >
>      >     If the code bases are entirely different then you probably don't
>      >     care about the old history, so simply delete the old directory
>      >          svn del ./trunk/foo
>      >     then rename the new one to the old name
>      >          svn mv ./branch/foo_new ./trunk/foo
>      >     Were you looking for something more than that?
>      >
>      >     Yours,
>      >     Noah
>      >
>      >     On 2007-06-28 07:39-0400, Jamie Jackson wrote:
>      >      > Is there a way to promote a branch to the trunk in one
>     commit? We
>      >     do not
>      >      > care to merge, as the code base is entirely different.
>      >      >
>      >      > Thanks,
>      >      > Jamie

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

Re: Promote (Not Merge) Branch to Trunk

Posted by Talden <ta...@gmail.com>.
I assume this is simply because of a limitation in the working copy
capabilities to express two changes to the same structure - EG the old trunk
and new trunk aren't the same 'file' but occupy the same book-keeping in the
working copy.

Has anyone filed an issue for the (hopefully) eventual redesign of the
working-copy model?  This would be a nice feature as it seems the same kind
of situation is present when dropping new vendor code into a project from
vendor branches.

--
Talden

On 6/29/07, Blair Zajac <bl...@orcaware.com> wrote:
>
> You can use mucc or svnmucc (the new name in 1.5) to do these deletes and
> renames in a single commit.  Mucc is in contrib/client-side/mucc.c.
>
> Regards,
> Blair
>
> Jamie Jackson wrote:
> > Yes, let's say that the code bases are entirely different. The only way
> > I know to do it is in two commits (unless I check out the whole tree,
> > delete the trunk with a client, move the branch to the trunk with a
> > client, then commit).
> >
> > So... I guess the heart of my question is: Is it possible, in a
> > straightforward manner, to effectively *replace* one directory with
> > another in a single commit?
> >
> > Hmm, maybe it doesn't even make sense to do this sort of thing. Now that
> > I think about it, I don't know why I'd want it to suddenly jump from one
> > code base to another, as it doesn't make sense to link any of the files
> > to past versions.
> >
> > ...Oh, I guess the reason is that it would violate my "rule" about not
> > having broken code (in this case, an entirely missing application,
> > albeit for a single revision) in the trunk.
> >
> > Thanks,
> > Jamie
> >
> > On 6/28/07, *Noah Spurrier*  wrote:
> >
> >     If the code bases are entirely different then you probably don't
> >     care about the old history, so simply delete the old directory
> >          svn del ./trunk/foo
> >     then rename the new one to the old name
> >          svn mv ./branch/foo_new ./trunk/foo
> >     Were you looking for something more than that?
> >
> >     Yours,
> >     Noah
> >
> >     On 2007-06-28 07:39-0400, Jamie Jackson wrote:
> >      > Is there a way to promote a branch to the trunk in one commit? We
> >     do not
> >      > care to merge, as the code base is entirely different.
> >      >
> >      > Thanks,
> >      > Jamie
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>

Re: Promote (Not Merge) Branch to Trunk

Posted by Blair Zajac <bl...@orcaware.com>.
You can use mucc or svnmucc (the new name in 1.5) to do these deletes and 
renames in a single commit.  Mucc is in contrib/client-side/mucc.c.

Regards,
Blair

Jamie Jackson wrote:
> Yes, let's say that the code bases are entirely different. The only way 
> I know to do it is in two commits (unless I check out the whole tree, 
> delete the trunk with a client, move the branch to the trunk with a 
> client, then commit).
> 
> So... I guess the heart of my question is: Is it possible, in a 
> straightforward manner, to effectively *replace* one directory with 
> another in a single commit?
> 
> Hmm, maybe it doesn't even make sense to do this sort of thing. Now that 
> I think about it, I don't know why I'd want it to suddenly jump from one 
> code base to another, as it doesn't make sense to link any of the files 
> to past versions.
> 
> ...Oh, I guess the reason is that it would violate my "rule" about not 
> having broken code (in this case, an entirely missing application, 
> albeit for a single revision) in the trunk.
> 
> Thanks,
> Jamie
> 
> On 6/28/07, *Noah Spurrier*  wrote:
> 
>     If the code bases are entirely different then you probably don't
>     care about the old history, so simply delete the old directory
>          svn del ./trunk/foo
>     then rename the new one to the old name
>          svn mv ./branch/foo_new ./trunk/foo
>     Were you looking for something more than that?
> 
>     Yours,
>     Noah
> 
>     On 2007-06-28 07:39-0400, Jamie Jackson wrote:
>      > Is there a way to promote a branch to the trunk in one commit? We
>     do not
>      > care to merge, as the code base is entirely different.
>      >
>      > Thanks,
>      > Jamie

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

Re: Promote (Not Merge) Branch to Trunk

Posted by Jamie Jackson <my...@gmail.com>.
Yes, let's say that the code bases are entirely different. The only way I
know to do it is in two commits (unless I check out the whole tree, delete
the trunk with a client, move the branch to the trunk with a client, then
commit).

So... I guess the heart of my question is: Is it possible, in a
straightforward manner, to effectively *replace* one directory with another
in a single commit?

Hmm, maybe it doesn't even make sense to do this sort of thing. Now that I
think about it, I don't know why I'd want it to suddenly jump from one code
base to another, as it doesn't make sense to link any of the files to past
versions.

...Oh, I guess the reason is that it would violate my "rule" about not
having broken code (in this case, an entirely missing application, albeit
for a single revision) in the trunk.

Thanks,
Jamie

On 6/28/07, Noah Spurrier  wrote:
>
> If the code bases are entirely different then you probably don't
> care about the old history, so simply delete the old directory
>      svn del ./trunk/foo
> then rename the new one to the old name
>      svn mv ./branch/foo_new ./trunk/foo
> Were you looking for something more than that?
>
> Yours,
> Noah
>
> On 2007-06-28 07:39-0400, Jamie Jackson wrote:
> > Is there a way to promote a branch to the trunk in one commit? We do not
> > care to merge, as the code base is entirely different.
> >
> > Thanks,
> > Jamie
>

Re: Promote (Not Merge) Branch to Trunk

Posted by deckrider <de...@gmail.com>.
On 6/28/07, Jamie Jackson <my...@gmail.com> wrote:
> As it turns out, in this case, you were right, and this branch was a normal
> one (i.e., its genesis was as a copy of the trunk). Therefore, your method
> *did* work.
>
> I had thought I was going to be working with unrelated code bases.
>
> However, my question still stands about a clobbering merge, because I've had
> that scenario before. (I've posted back to the list for this.)

As far as I know, you can do the merge approach on arbitrarily
unrelated code, so long as they are within the same repository (svn
database):

svn co [unrelated url a] dir
cd dir
svn merge [unrelated url a] [unrelated url b]

> On 6/28/07, deckrider wrote:
> > On 6/28/07, Jamie Jackson < myspamb8@gmail.com> wrote:
> > > Is there a way to promote a branch to the trunk in one commit? We do not
> > > care to merge, as the code base is entirely different.
> >
> > So if you want to replace contents of the trunk with the contents of
> > the branch, I would check out the trunk, and then do something like
> > this:
> >
> > svn merge [trunk url] [branch url]
> >
> > If the above turns out well, then svn commit.
> >
> > Or you could svn remove the trunk and rename the branch to the trunk
> > ... I guess it all depends on what you expect later (I'm not really
> > sure of the expectations surrounding the use of the word 'promote').
> >
>
>


-- 
ASCII ribbon campaign:
()  against HTML email
/\  against Microsoft attachments
    Information:  http://www.expita.com/nomime.html

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