You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Charles Doucette <cd...@cornerstonetech.com> on 2005/07/21 20:53:45 UTC

merge meta data

I was in the middle of implementing some new code on the trunk.
I stopped to implement a time critical feature in old code on a branch.
I started to merge the feature (2 revisions out of 5) from the branch
into the trunk;
but, now I've stopped and backed out those changes. I'd prefer to check
in my new working code and then
merge the whole branch in a separate revision.
 
Although I know it isn't automatic yet, my question is where is the
knowledge kept
that reflects my preliminary merges? Is it in the svn administrative
directories?
Would that meta be committed even if the changes from the merges
weren't?
 
I just tried to do a revision graph (via tortoise) and my preliminary
merge wasn't
reflected in that; so, I thought perhaps it would only be noted after I
did a commit.
 
Should I make a copy of the file, revert it (to clear out any .svn
adminstrative meta data about the merge),
and then restore the copy?
 
Thanks,
Chuck
 
 
  

Charles Doucette 
Cornerstone Technology 
One Broadway, 16th Floor
Cambridge, MA  02184 
617-682-3600 main
617-682-3611 direct
617-758-4285 fax


 

Re: merge meta data

Posted by Ben Collins-Sussman <su...@collab.net>.
On Jul 22, 2005, at 10:17 AM, Dale Worley wrote:

>> From: Ben Collins-Sussman [mailto:sussman@collab.net]
>>
>>
>>> Although I know it isn't automatic yet, my question is where is the
>>> knowledge kept
>>> that reflects my preliminary merges? Is it in the svn
>>> administrative directories?
>>> Would that meta be committed even if the changes from the merges
>>> weren't?
>>>
>>
>> Subversion doesn't record merges in any way at all.  If you run the
>> 'svn merge' command, all you end up with is a bunch of local changes
>> in your working copy.  At that point, Subversion has no idea where
>> they came from:  you could have typed all those changes by hand, for
>> all it knows.
>>
>
> There is one minor exception, in that if "svn merge" sees a file  
> has been
> added on one leg of the merge and needs to add it to your WC, it  
> does a
> Subversion copy from the other leg into your WC.  So where that  
> file came
> from is logged by Subversion into its metadata.

That's no different than any other scheduling operation you might run  
by hand.  'svn add' and 'svn rm' both change the .svn/entries file,  
as does 'svn copy URL .'

I'm just pointing out that there's truly nothing 'svn merge' does  
that you couldn't have done manually, either by editing files, or  
running simpler svn commands.  And all of it is 100% revertible,  
leaving no trace in the working copy.




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

RE: merge meta data

Posted by Dale Worley <dw...@pingtel.com>.
> From: Ben Collins-Sussman [mailto:sussman@collab.net]
>
> > Although I know it isn't automatic yet, my question is where is the
> > knowledge kept
> > that reflects my preliminary merges? Is it in the svn
> > administrative directories?
> > Would that meta be committed even if the changes from the merges
> > weren't?
>
> Subversion doesn't record merges in any way at all.  If you run the
> 'svn merge' command, all you end up with is a bunch of local changes
> in your working copy.  At that point, Subversion has no idea where
> they came from:  you could have typed all those changes by hand, for
> all it knows.

There is one minor exception, in that if "svn merge" sees a file has been
added on one leg of the merge and needs to add it to your WC, it does a
Subversion copy from the other leg into your WC.  So where that file came
from is logged by Subversion into its metadata.

And we have found in practice that using the "svnmerge" wrapper to "svn
merge" does a reasonably good job of keeping metadata about merges.  It
stores the metadata in Subversion properties in your WC, so if you revert
your WC, it resets the metadata correctly.

Dale


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

Re: merge meta data

Posted by Ben Collins-Sussman <su...@collab.net>.
On Jul 21, 2005, at 3:53 PM, Charles Doucette wrote:


> Although I know it isn't automatic yet, my question is where is the  
> knowledge kept
> that reflects my preliminary merges? Is it in the svn  
> administrative directories?
> Would that meta be committed even if the changes from the merges  
> weren't?

Subversion doesn't record merges in any way at all.  If you run the  
'svn merge' command, all you end up with is a bunch of local changes  
in your working copy.  At that point, Subversion has no idea where  
they came from:  you could have typed all those changes by hand, for  
all it knows.

So, if you did an 'svn revert' to remove the edits created by 'svn  
merge', you can rest assured that nothing remembers that the merge  
command ever happened.

Until Subversion gets "merge tracking" features, you can think of  
'svn merge' as nothing but a shortcut for retyping changes.  :-)


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