bug-cvs
[Top][All Lists]
Advanced

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

cvs conflict resolution bug ?


From: Baptiste Lepilleur
Subject: cvs conflict resolution bug ?
Date: Wed, 13 Jun 2001 19:26:47 +0200

Hi,
we are considering to use CVS as our version control system. My personnal
experience with CVS is good (I'm a member of an open-source project on
sourceforge).

We made some simple test to figure out how it compare to our current version
control system.

One of those tests consisted in removing a block of lines from the trunc while
the same block was being modified on a branch (a parameter was added to the
method, and passed to AddPrp in the first call). The merging is supposed to
result in a nice conflict. In our test it does, but a part of the removed block
is missing in the conflict report.

You can find the different revision of the file that where used below, equals
sign are used between each revision of the file (note that the "////" comment
are part of the file). You can see in the last part, that the conflict report is
missing a part of the block of text that was removed.

What I'd like to know is:
Is this really a bug ? If it is not, how this behavior be explained (the problem
does not appear if the second line is modified in the branch instead of the
third) ?
If it is, how frequent it is known to happen ? I never personnaly experienced
that bug, but I don't work on an industrial scale project.

This problem occured with cvs server version 1.10.2 and CVS 1.11 running on a
linux box, and using either WinCVS 1.2 or CVS 1.10.2 as a client on the linux
box with cvs server version 1.10.2 in command line mode.

Thanks in advance,
Baptiste.


=== file revision 1.2. The branch is based on this file ===
///////////////////////////////////////////////////////////////////////////////

//      Ajoute une propriete
bool WilPlnResDataAtt::AddPrp( WilPrp *pPrp )
{
        if ( WilUAtt::AddPrp( pPrp ) ) {

                pPrp->GetZone( zCode, m_nCode );
                pPrp->GetZone( zNCourbe, m_nNCourbe );
                pPrp->GetZone( zNData, m_nNData );
                pPrp->GetZone( zFromPeriod, m_FromPeriod );
                pPrp->GetZone( zCapaPeriod, m_dCapaPeriod );
                pPrp->GetZone( zNeedPeriod, m_dNeedPeriod );
                pPrp->GetZone( zAlertExp, m_bAlertExp );

                return true ;
        }
        return false ;
}

///////////////////////////////////////////////////////////////////////////////
=== file revision 1.3 (modified file in trunc)===
///////////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////////////////
=== file revision 1.2.2.1 (modified file in branch)===
///////////////////////////////////////////////////////////////////////////////

//      Ajoute une propriete
bool WilPlnResDataAtt::AddPrp( WilPrp *pPrp, int index )
{
        if ( WilUAtt::AddPrp( pPrp, index ) ) {

                pPrp->GetZone( zCode, m_nCode );
                pPrp->GetZone( zNCourbe, m_nNCourbe );
                pPrp->GetZone( zNData, m_nNData );
                pPrp->GetZone( zFromPeriod, m_FromPeriod );
                pPrp->GetZone( zCapaPeriod, m_dCapaPeriod );
                pPrp->GetZone( zNeedPeriod, m_dNeedPeriod );
                pPrp->GetZone( zAlertExp, m_bAlertExp );

                return true ;
        }
        return false ;
}

///////////////////////////////////////////////////////////////////////////////
==== file resulting of merging the branch into the trunc===
///////////////////////////////////////////////////////////////////////////////

<<<<<<< testfile4.txt
=======
//      Ajoute une propriete
bool WilPlnResDataAtt::AddPrp( WilPrp *pPrp, int index )
{
        if ( WilUAtt::AddPrp( pPrp, index ) ) {
>>>>>>> 1.2.2.1

///////////////////////////////////////////////////////////////////////////////




reply via email to

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