Next: , Previous: Updating a file, Up: Multiple developers   [Contents][Index]


10.3 ¾×ÆÍ¤ÎÎã

¥ê¥Ó¥¸¥ç¥ó 1.4 ¤Î drive.c ¤Ï¼¡¤Î¤è¤¦¤ÊÆâÍÆ¤È¤·¤Þ¤¹:

#include <stdio.h>

void main()
{
    parse();
    if (nerr == 0)
        gencode();
    else
        fprintf(stderr, "No code generated.\n");
    exit(nerr == 0 ? 0 : 1);
}

¥ê¥Ó¥¸¥ç¥ó 1.6 ¤Ç¤Ï drive.c ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹:

#include <stdio.h>

int main(int argc,
         char **argv)
{
    parse();
    if (argc != 1)
    {
        fprintf(stderr, "tc: No args expected.\n");
        exit(1);
    }
    if (nerr == 0)
        gencode();
    else
        fprintf(stderr, "No code generated.\n");
    exit(!!nerr);
}

¥ê¥Ó¥¸¥ç¥ó 1.4 ¤ò¸µ¤Ë¤·¤¿¤¢¤Ê¤¿¤Î driver.c ¤Îºî¶È¥³¥Ô¡¼¤Ï¡¢ ‘cvs update’ ¤ÎÁ°¤Ë¼¡¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹:

#include <stdlib.h>
#include <stdio.h>

void main()
{
    init_scanner();
    parse();
    if (nerr == 0)
        gencode();
    else
        fprintf(stderr, "No code generated.\n");
    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
}

¤³¤Î»þ ‘cvs update’ ¤ò¼Â¹Ô¤·¤Æ¤ß¤Þ¤¹:

$ cvs update driver.c
RCS file: /usr/local/cvsroot/yoyodyne/tc/driver.c,v
retrieving revision 1.4
retrieving revision 1.6
Merging differences between 1.4 and 1.6 into driver.c
rcsmerge warning: overlaps during merge
cvs update: conflicts found in driver.c
C driver.c

CVS ¤Ï¾åµ­¤Î¤è¤¦¤Ë¡¢¾×ÆÍ¤¬µ¯¤­¤¿¤³¤È¤¬Êó¹ð¤·¤Þ¤¹¡£ ¤¢¤Ê¤¿¤¬ÊÔ½¸¤·¤¿¥ª¥ê¥¸¥Ê¥ë¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢ ̵½¤Àµ¤Ç .#driver.c.1.4 ¤È¤¤¤¦Ì¾Á°¤ÇÊݸ¤µ¤ì¤Þ¤¹¡£ driver.c ¤Î¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:

#include <stdlib.h>
#include <stdio.h>

int main(int argc,
         char **argv)
{
    init_scanner();
    parse();
    if (argc != 1)
    {
        fprintf(stderr, "tc: No args expected.\n");
        exit(1);
    }
    if (nerr == 0)
        gencode();
    else
        fprintf(stderr, "No code generated.\n");
<<<<<<< driver.c
    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
=======
    exit(!!nerr);
>>>>>>> 1.6
}

½ÅÊ£¤·¤Ê¤«¤Ã¤¿½¤Àµ¤¬¤É¤ÎÍͤ˺î¶È¥³¥Ô¡¼¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë¤«Ãí°Õ¤·¤Æ²¼¤µ ¤¤¡£ ½ÅÊ£¤·¤¿Éôʬ¤Ï ‘<<<<<<<’, ‘=======’ µÚ¤Ó ‘>>>>>>>’ ¤Ç¤Ï¤Ã¤­¤ê¤È°Ï¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£

¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Æ¾×ÆÍ¤¬µ¯¤­¤¿Éôʬ¤ò²ò·è¤·¡¢ ¥Þ¡¼¥¯¤È´Ö°ã¤Ã¤¿¹Ô¤ò¾Ã¤·¤Þ¤¹¡£ ºÇ½ªÅª¤Ë¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤¿¤È¤·¤Þ¤¹:

#include <stdlib.h>
#include <stdio.h>

int main(int argc,
         char **argv)
{
    init_scanner();
    parse();
    if (argc != 1)
    {
        fprintf(stderr, "tc: No args expected.\n");
        exit(1);
    }
    if (nerr == 0)
        gencode();
    else
        fprintf(stderr, "No code generated.\n");
    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
}

º£¤ä¤³¤Î¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤·¤Æ¥ê¥Ó¥¸¥ç¥ó 1.7 ¤È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

$ cvs commit -m "Initialize scanner. Use symbolic exit values." driver.c
Checking in driver.c;
/usr/local/cvsroot/yoyodyne/tc/driver.c,v  <--  driver.c
new revision: 1.7; previous revision: 1.6
done

¾×ÆÍ¤¬µ¯¤­¤¿¤¬Ì¤²ò·è¤Ç¤¢¤ë¥Õ¥¡¥¤¥ë¤Ï¡¢°ÂÁ´¤ò¹Íθ¤·¤Æ¡¢ CVS ¤¬³ÊǼ¤¹¤ë¤³¤È¤òµñÈݤ·¤Þ¤¹¡£ ¾×ÆÍ¤ò²ò·è¤¹¤ë¤È¤­¡¢¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸»þ´Ö¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ Á°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î CVS ¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤Ë¾×ÆÍ¥Þ¡¼¥¯¤¬¤Ê¤¤¤³¤È¤ò³Îǧ¤¹ ¤ëɬÍפ⤢¤ê¤Þ¤·¤¿¡£¥Õ¥¡¥¤¥ë¤Ë¤ÏÀµ¤·¤¯¾×ÆÍ¥Þ¡¼¥¯¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤Î ¤Ç (¤¹¤Ê¤ï¤Á¡¢¹ÔƬ¤Ë¤¢¤ë ‘>>>>>>> ’ ¤Ï¾×ÆÍ¤Î°õ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)¡¢¸½ ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤Î CVS ¤Ï·Ù¹ð¤ò°õ»ú¤·¤Æ¥Õ¥¡¥¤¥ë¤Î³ÊǼ¤ò¼Â¹Ô¤·¤Þ¤¹¡£

¤â¤·¤¢¤Ê¤¿¤¬ pcl-cvs (GNU Emacs ÍÑ CVS ¥Õ¥í¥ó¥È¥¨¥ó¥É) ¤Î¡¢ 1.04 ¤è¤ê¤â¿·¤·¤¤¥ê¥ê¡¼¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢¾×ÆÍ¤ò²ò·è¤¹¤ë¤Î¤Ë emerge ¤È¤¤¤¦ Emacs ¥Ñ¥Ã¥±¡¼¥¸¤¬ÍøÍѤǤ­¤Þ¤¹¡£ pcl-cvs ¤Îʸ½ñ¤ò¸«¤Æ²¼¤µ¤¤¡£


Next: , Previous: Updating a file, Up: Multiple developers   [Contents][Index]