You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Max Kirillov <ma...@mail.ru> on 2006/05/17 10:49:26 UTC

cvs merge from uncommited working copy

I want to register changes in multiple branches by a single
commit. I develop the desired changes in one branch, then
copy to others, then go the root directory and launch 'svn ci'.

I can copy the changes using 'svn diff | patch'. But, if
there are added/removed/copied files, I have to declare them
manually.

It would be nice to use 'svn merge' to automatically
transfer all changes. Unfortunately, I could not find a way
to do that.

So, the question is:

Is there any possibility to transfer uncommited changes from
one working copy to another? Maybe, there is some additional
tool doing this?

-- 
Max

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

Re: cvs merge from uncommited working copy

Posted by Max Kirillov <ma...@mail.ru>.
On Wed, May 17, 2006 at 03:26:41PM +0200, Ryan Schmidt wrote:
> On May 17, 2006, at 12:49, Max Kirillov wrote:
>>Is there any possibility to transfer uncommited changes
>>from one working copy to another? Maybe, there is some
>>additional tool doing this?
> 
> I don't think so. The merge strategy is that you're
> merging a  changeset -- a revision, or set of revisions --
> meaning that revision  must exist in the repository (must
> already be committed) to be able  to merge it.

It's rather strange - other commands like diff do not make
differences between WC and repositories. I'm sure svn can
get all the needed change information from the working copy.
At least our local svn apologists were surpised it can't do
the merge.

Was the "must be committed" requirement caused by a
political choice, or it is really dictated by design?

> If you insist on doing it your way, you could probably
> make a  complete filesystem copy of your working copy of
> the one branch, "svn  switch" it to the second branch, use
> this to replace the directory  where you originally had
> the second branch in your big working copy,  and commit
> the whole thing in one revision. But that seems a bit
> complicated.

Yes, and it cannot treat several files or subdirectories
instead of the whole tree.

I would rather transfer the needed changes by a script -
this does not look very hard to do.

-- 
Max

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

Re: cvs merge from uncommited working copy

Posted by Ryan Schmidt <su...@ryandesign.com>.
On May 17, 2006, at 23:10, Duncan Murdoch wrote:

> On 5/17/2006 9:26 AM, Ryan Schmidt wrote:
>> On May 17, 2006, at 12:49, Max Kirillov wrote:
>>> I want to register changes in multiple branches by a single
>>> commit. I develop the desired changes in one branch, then
>>> copy to others, then go the root directory and launch 'svn ci'.
>>>
>>> I can copy the changes using 'svn diff | patch'. But, if
>>> there are added/removed/copied files, I have to declare them
>>> manually.
>>>
>>> It would be nice to use 'svn merge' to automatically
>>> transfer all changes. Unfortunately, I could not find a way
>>> to do that.
>>>
>>> So, the question is:
>>>
>>> Is there any possibility to transfer uncommited changes from
>>> one working copy to another? Maybe, there is some additional
>>> tool doing this?
>> I don't think so. The merge strategy is that you're merging a   
>> changeset -- a revision, or set of revisions -- meaning that  
>> revision  must exist in the repository (must already be committed)  
>> to be able  to merge it.
>
> Can't you do this using something like
>
> cd WC1
> svn diff >patches
> cd WC2
> patch --some mumbo-jumbo-- <WC1/patches

As the OP mentioned, I don't think that handles file additions,  
deletions, property changes, etc. It only handles changes in existing  
files.



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

Re: cvs merge from uncommited working copy

Posted by Duncan Murdoch <mu...@stats.uwo.ca>.
On 5/17/2006 9:26 AM, Ryan Schmidt wrote:
> On May 17, 2006, at 12:49, Max Kirillov wrote:
> 
>> I want to register changes in multiple branches by a single
>> commit. I develop the desired changes in one branch, then
>> copy to others, then go the root directory and launch 'svn ci'.
>>
>> I can copy the changes using 'svn diff | patch'. But, if
>> there are added/removed/copied files, I have to declare them
>> manually.
>>
>> It would be nice to use 'svn merge' to automatically
>> transfer all changes. Unfortunately, I could not find a way
>> to do that.
>>
>> So, the question is:
>>
>> Is there any possibility to transfer uncommited changes from
>> one working copy to another? Maybe, there is some additional
>> tool doing this?
> 
> I don't think so. The merge strategy is that you're merging a  
> changeset -- a revision, or set of revisions -- meaning that revision  
> must exist in the repository (must already be committed) to be able  
> to merge it.

Can't you do this using something like

cd WC1
svn diff >patches
cd WC2
patch --some mumbo-jumbo-- <WC1/patches

Duncan Murdoch


> 
> 
> If you insist on doing it your way, you could probably make a  
> complete filesystem copy of your working copy of the one branch, "svn  
> switch" it to the second branch, use this to replace the directory  
> where you originally had the second branch in your big working copy,  
> and commit the whole thing in one revision. But that seems a bit  
> complicated.
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org


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

Re: cvs merge from uncommited working copy

Posted by Ryan Schmidt <su...@ryandesign.com>.
On May 17, 2006, at 12:49, Max Kirillov wrote:

> I want to register changes in multiple branches by a single
> commit. I develop the desired changes in one branch, then
> copy to others, then go the root directory and launch 'svn ci'.
>
> I can copy the changes using 'svn diff | patch'. But, if
> there are added/removed/copied files, I have to declare them
> manually.
>
> It would be nice to use 'svn merge' to automatically
> transfer all changes. Unfortunately, I could not find a way
> to do that.
>
> So, the question is:
>
> Is there any possibility to transfer uncommited changes from
> one working copy to another? Maybe, there is some additional
> tool doing this?

I don't think so. The merge strategy is that you're merging a  
changeset -- a revision, or set of revisions -- meaning that revision  
must exist in the repository (must already be committed) to be able  
to merge it.


If you insist on doing it your way, you could probably make a  
complete filesystem copy of your working copy of the one branch, "svn  
switch" it to the second branch, use this to replace the directory  
where you originally had the second branch in your big working copy,  
and commit the whole thing in one revision. But that seems a bit  
complicated.





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