accessing bitkeeper without bitkeeper

From: Pavel Machek (pavel@suse.cz)
Date: Wed Feb 19 2003 - 10:11:43 EST


Hi!

With attached patch to CSSC (www.sf.net/projects/cssc), and

rsync -zav --delete nl.linux.org::kernel/linux-2.5 linux-2.5

you can download local copy of whole linux-2.5 repository, and you can
access it, too.

                                                                Pavel

Index: CSSC/sccsfile.cc
===================================================================
RCS file: /cvsroot/cssc/gnu/CSSC/sccsfile.cc,v
retrieving revision 1.50
diff -u -u -r1.50 sccsfile.cc
--- CSSC/sccsfile.cc 7 Apr 2002 02:22:35 -0000 1.50
+++ CSSC/sccsfile.cc 19 Feb 2003 15:07:24 -0000
@@ -122,17 +122,20 @@
       return NULL;
     }
   
- if (getc(f_local) != '\001' || getc(f_local) != 'h')
+ int c;
+ if (getc(f_local) != '\001' || (c = getc(f_local)) != 'h')
     {
- (void)fclose(f_local);
- s_corrupt_quit("%s: No SCCS-file magic number. "
- "Did you specify the right file?", name);
- /*NOTEACHED*/
- return NULL;
+ if (c=='H')
+ warning("This is BitKeeper file\n");
+ else {
+ (void)fclose(f_local);
+ s_corrupt_quit("%s: No SCCS-file magic number. "
+ "Did you specify the right file?", name);
+ /*NOTEACHED*/
+ return NULL;
+ }
     }
-
-
- int c;
+
   errno = 0;
   while ( (c=getc(f_local)) != CONFIG_EOL_CHARACTER)
     {
@@ -462,7 +465,7 @@
                 /* check_arg(); */
                 if (bufchar(2) != ' ')
                   {
- saw_unknown_feature("Unknown special comment intro %c%c",
+ saw_unknown_feature("Unknown special comment intro %c%c\n",
                                         c, bufchar(2));
                   }
                 tmp.comments.add(plinebuf->c_str() + 3);
@@ -581,12 +584,13 @@
     }
   
   int c = read_line();
- ASSERT(c == 'h');
+ ASSERT((c == 'h') || (c == 'H'));
 
   /* the checksum is represented in the file as decimal.
    */
   signed int given_sum = 0;
- if (1 != sscanf(plinebuf->c_str(), "%*ch%d", &given_sum))
+ if ((1 != sscanf(plinebuf->c_str(), "%*ch%d", &given_sum)) &&
+ (1 != sscanf(plinebuf->c_str(), "%*cH%d", &given_sum)))
     {
       errormsg("Expected checksum line, found line beginning '%.3s'\n",
                plinebuf->c_str());
@@ -755,8 +759,12 @@
         else
           corrupt("Bad value for 'e' flag.");
         break;
+ case 'x':
+ warning("Unknown flag x, BitKeeper?.");
+ break;
         
       default:
+ warning("Unknown flag (%c).", bufchar(3));
         corrupt("Unknown flag.");
       }
       

-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Feb 23 2003 - 22:00:26 EST