[BACK]Return to diff3.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / cvs

Diff for /src/usr.bin/cvs/diff3.c between version 1.3 and 1.4

version 1.3, 2005/10/23 04:03:58 version 1.4, 2005/10/23 04:24:59
Line 158 
Line 158 
 static void increase(void);  static void increase(void);
 static int diff3_internal(int, char **, const char *, const char *);  static int diff3_internal(int, char **, const char *, const char *);
   
   int     diff3_conflicts = 0;
   
 BUF *  BUF *
 cvs_diff3(RCSFILE *rf, char *workfile, RCSNUM *rev1, RCSNUM *rev2)  cvs_diff3(RCSFILE *rf, char *workfile, RCSNUM *rev1, RCSNUM *rev2)
 {  {
Line 174 
Line 176 
         rcsnum_tostr(rev1, r1, sizeof(r1));          rcsnum_tostr(rev1, r1, sizeof(r1));
         rcsnum_tostr(rev2, r2, sizeof(r2));          rcsnum_tostr(rev2, r2, sizeof(r2));
   
         cvs_printf("merging changes between '%s' and '%s'", r1, r2);  
         cvs_printf(" into '%s'\n", workfile);  
   
         if ((b1 = cvs_buf_load(workfile, BUF_AUTOEXT)) == NULL)          if ((b1 = cvs_buf_load(workfile, BUF_AUTOEXT)) == NULL)
                 goto out;                  goto out;
   
           cvs_printf("Retrieving revision %s\n", r1);
         if ((b2 = rcs_getrev(rf, rev1)) == NULL)          if ((b2 = rcs_getrev(rf, rev1)) == NULL)
                 goto out;                  goto out;
   
           cvs_printf("Retrieving revision %s\n", r2);
         if ((b3 = rcs_getrev(rf, rev2)) == NULL)          if ((b3 = rcs_getrev(rf, rev2)) == NULL)
                 goto out;                  goto out;
   
Line 234 
Line 235 
         argv[argc++] = path1;          argv[argc++] = path1;
         argv[argc++] = path2;          argv[argc++] = path2;
         argv[argc++] = path3;          argv[argc++] = path3;
         if ((ret = diff3_internal(argc, argv, workfile, r2)) < 0)          if ((diff3_conflicts = diff3_internal(argc, argv, workfile, r2)) < 0)
                 goto out;                  goto out;
   
         if (cvs_buf_putc(diffb, '\0') < 0) {          if (cvs_buf_putc(diffb, '\0') < 0) {
Line 250 
Line 251 
         patch = cvs_buf_release(diffb);          patch = cvs_buf_release(diffb);
         data = cvs_buf_release(b1);          data = cvs_buf_release(b1);
         diffb = b1 = NULL;          diffb = b1 = NULL;
   
           cvs_printf("Merging changes between '%s' and '%s' ", r1, r2);
           cvs_printf("into '%s'\n", workfile);
   
         if ((diffb = cvs_patchfile(data, patch, ed_patch_lines)) == NULL)          if ((diffb = cvs_patchfile(data, patch, ed_patch_lines)) == NULL)
                 goto out;                  goto out;

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4