info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

merging tarballs twice and having an issue.


From: Farshad Mahjoubi
Subject: merging tarballs twice and having an issue.
Date: Thu, 20 Oct 2005 15:38:42 -0400

We worked and added/upgraded these tarballs(JRE 1.5.04) as kv to a Branch and then we merge them once

to the integration Branch. Now I have changed some of the permissions and and checked back in and committed

my changes in to Integration_Branch.

 

Another engineer tried to merge revision we are getting this error

 

cvs update -d -P -j Integ_Branch jre1.5.0_04.tar.gz

cvs update: file jre1.5.0_04.tar.gz exists, but has been added in revision Int_Branch

 

Any idea what is happening here?

 

we asked this question in another mailing list and this what we got!!!!

 

> Guys,
>
> we're running into a problem when merging two branches.
>
> Here's the scenario:
> - two branches: main and foo
> - changes made to file bar.cpp in both
> - merge branch foo into main ( cvs update -j foo bar.cpp) -> no
> problems
> - change bar.cpp in foo
> - merge foo into main ( cvs update -j foo bar.cpp) -> PROBLEM!
>
> The problem is that the changes made to bar.cpp in foo is not merged
> into main. Also, cvs gives this message:
>
> cvs server: file bar.cpp exists, but has been added in revision foo
>
> If we use the tkcvs graphical client, the merge works when using
> the button "Merge Changes to Head", but not when using
> "Merge Branch to Head".
>
> So, we know CVS can do the command line merge, but what option do we
> use (update -j doesn't work).
[Cameron, Steve]
[Cameron, Steve] The problem is I think that you are trying
(nearly) the same merge twice. The second merge tries to merge in the
changes already merged by the first merge (plus some more). These changes
include the addition (creation) of the file. The 2nd time around, CVS sees
the file foo.cpp added to branch foo, and also foo.cpp added to the trunk.
It counts this as a conflict. (CVS has no memory that you already merged
once. It only knows the a foo.cpp was added to the trunk and to the branch.
It doesn't presume that they are necessarily the SAME file conceptually.
even. (though they are stored in the same RCS file.) Since it can't
presume they are conceptually the same file, it's a conflict. (That's my
undertstanding anyhow)

What you could (and probably should) have done is tag the branch
after the first merge, then, for the 2nd merge merged only the changes from
that tag onward.

cvs update -j foo bar.cpp
cvs tag -r foo bar_cpp_merged_to_trunk_1 bar.cpp
[.. time passes, more editing of bar.cpp occurs on foo branch ... ]
cvs update -j bar_cpp_merged_to_trunk_1 -j foo bar.cpp
cvs tag -r foo bar_cpp_merged_to_trunk_2 bar.cpp

I'm don't know what the tcl tool is doing differently that makes it
work

Hope this is some help

 

Farshad Mahjoubi

Sr Software Engineer

address@hidden

Phone: (781) 398-3217

Mobile: (978) 771-6842

Auspice Corporation

www.auspicecorp.com

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]