!
ÕâÌ×Èí¼þºÍÊé±¾¿É°ïÄú׬´óÇ®! ÄúºÃ£¡ÇëÄãÔÚ°ÙæÖп´Ò»ÏÂÕâÌ×Èí¼þ£¬ÏàÐÅÒ»¶¨»á¶ÔÄãÓÐÓá£ÕâÊÇÕë¶ÔÆóÒµ¹ÜÀíÐèÇó¶ø¶¨ÖƵġ£ÇëÉÏÎÒÃǵÄÍøÖ·Á˽â¸üÏêϸµÄÄÚÈÝ. http:// www.fu-neng.com ÆóÒµÏÖ´ú»¯¹ÜÀí²»µ«ÐèÒªÓй淶¡¢¿ÆѧºÍºÏÀíµÄ¹ÜÀíÖƶȣ¬»¹ÐèҪʵÐиßЧÂʵÄÏÖ´úµç×Ó»¯µÄ¹ÜÀí³Ìʽ,²ÅÄÜ»ñµÃ×î´óÏ޶ȵÄЧÒæ¡£Ãæ¶ÔWTOµÄÊÀ½çÉ̳¡´ó²«É±£¬ËµÄ¹ÜÀí¸úµÃÉÏʱ´ú˾ÍÓ®µÃÉÌ»ú¡£ ÓÉÉîÛÚÊи»ÄÜʵҵÓÐÏÞ¹«Ë¾Ö÷±àµÄ¡¶ÖйúÏÖ´úÆóÒµ¹ÜÀíÖƶÈʵÓôóÈ«¡·£¨Ó¦ÓÃÈí¼þϵͳ¹âµú°æ£©ºÁÎÞ³éÏóµÄÀíÂÛ¸ÅÄ¶øÊÇרÃÅÁоÙÆóÒµ³£Óõĸ÷ÖÖ±àÖÆ¡¢¸Úλ¡¢ÖƶȺʹëÊ©£¬Í¬Ê±ÓÖÉè¼Æ³É¾ßÓеçÄÔ¶Áд¡¢²éѯ¡¢±à¼ºÍ´òÓ¡µÈ¶àÖÖ¹¦ÄܵĸßЧÂʵÄÏÖ´úµç×Ó»¯¹ÜÀí¹¤¾ßģʽ¡£ ÔÚ¾¹ýÖÚ¶àÆóÒµÊÔÓᢷ´Ó¦Ò»ÖÂÔ޺õĻù´¡ÉÏ£¬ÔÙÓɵç×Ó¹¤Òµ³ö°æÉç³ö°æµÄÈí¼þϵͳ¹âµú°æ£¨¿¯ºÅ£ºISBN-7-900016-25-2£©ºÍ»¨³Ç³ö°æÉç³ö°æµÄÊé¼®£¨ÉÏ¡¢ÖС¢Ï¹²Èý²á£¬ÊéºÅ£ºISBN-7-5360-3224-2£©£¬¹«¿ªÏòÈ«¹ú·¢ÐС£È«¹ú¸÷Ê¡ÊдóÊéµêÓÐÊé³öÊÛ£¬¹ºÂòÊ®·ÖÓ»Ô¾£¬ÉîÛÚÊé³ÇµÈÐí¶àÊéµê¶Ô±¾ÊéµÄÏúÊÛÁ¿³¤ÆÚλ¾ÓÆó¹Ü¹¤¾ßÊéÏúÁ¿µÚÒ»¡£Êܳö°æÉçίÍУ¬Èí¼þ½öÓɱ¾¹«Ë¾Ö±¹©¡£ ͨ¹ý»¥ÁªÍøµÄ±¾¹«Ë¾ÍøÒ³£¬Í¨¹ýÈËÃñÈÕ±¨¡¢ÄÏ·½ÈÕ±¨¡¢ÉîÛÚÉ̱¨µÈÖÐÑëºÍµØ·½Ê®¶à¼Ò±¨Ö½¿¯ÎïµÄýÌåÐû´«ºÍÈ«¹ú´óÊéµê¸ÃÊ鿯µÄÖ±Ãæ½éÉÜ£¬Áȫ¹ú¸÷µØÖÐÍâÆóÒµÈËÊ¿Ó»Ô¾Óʹº£¬³¡ÃæÈÈÄÖ·Ç·²¡£Ðí¶à¿Í»§Ö»ÒªÖªÏþ´ËÐÅÏ¢£¬Äþ¿Ï»¨ÉÏÒ»´ó±ÊÌØ¿ìרµÝ·Ñ»¹ÆȲ»¼°´ýµØÓûÁ¢¼´°ÑËüÂòµ½ÊÖ¡£ÕýÒò´Ë£¬±¾¹«Ë¾ÔÚ¸½½ü¼¸¸öÓʾֵÄÌØ¿ìרµÝ·¢»õÒµÎñÈ·Òѽ¥³É¹æÄ£¡£ ССµÄÒ»Ì×Èí¼þ£¬ÎªºÎÓÐÈç´ËЧӦ£¿ÆäʵÔÒòÒ²¼òµ¥£¬¶àÉÙÄêÀ´£¬Éç»áÉϵÄÆó¹Ü¿¯Îï¹Å½ñÖÐÍâµÄ¶àΪ³¤Æª´óÂÛ£¬ÀíÂÛÒ»´ó¶Ñ£¬ËüÖ»ÊÊӦѧÕßÐÍÈËÊ¿¡£¶øÆó¹ÜÈËÊ¿¶àΪÎñʵÐÍ£¬Î¨Ò»ÅÎÍûÄܵÃÒ»Ìס°Ò»¿´¾Í¶®£¬Ò»ÓþÍÁ顱µÄ½ÏÈ«ÃæµÄÆó¹Ü¹¤¾ß¿¯ÎïºÍÈí¼þϵͳ¡£±¾¹«Ë¾Ö÷±àµÄ¡¶ÖйúÏÖ´úÆóÒµ¹ÜÀíÖƶÈʵÓôóÈ«¡·ÕýºÃÌî²¹ÁËÕâÒ»¿é¿Õ°×¡£Ä¿Ç°ÊÐÃæÉÏ´ËÀàÊ鿯ÁÖÁÖ×Ü×Ü£¬µ«Î¨¶À±¾¹«Ë¾Ö÷±àµÄ¡¶ÖйúÏÖ´úÆóÒµ¹ÜÀíÖƶÈʵÓôóÈ«¡·Èí¼þºÍÊé±¾×îÊÜ»¶Ó¡£ ¡¶ÖйúÏÖ´úÆóÒµ¹ÜÀíÖƶÈʵÓôóÈ«¡·µÄÄÚÈݼòµ¥Ã÷Á˶øÈ«Ã棬·½·½ÃæÃæ˵µ½Êµ´¦£¬Ö±½ØÁ˵±µØÏÔÏÖ³öÁ˽¨Á¢ÏÖ´úÆóÒµÖƶȵľßÌåÌõÎĺÍÄÚÈÝ£¬²¢°ÑÆóÒµÎñʵµÄ³£¹æ¹ÜÀíÖƶȡ¢±í¸ñºÍ¾ßÌåÔË×÷ʵÀýµÈ£¬¶¼×÷Á˹淶»¯¡¢³ÌÐò»¯ºÍ¿Æѧ»¯µÄÖ¸Òý¡£ÓöÁÕߵĻ°À´Ëµ£º¡°Ò»¿´¾Í¶®£¬Ò»ÓþÍÁé¡£¡± ÕâÌ×Èí¼þºÍÊé±¾ÒÑÔÚÈ«¹ú¸÷Ê¡ÊС¢¸÷ÐÐÒµ·¢ÐжàÄ꣬ӰÏìÉî¿Ì¡£ÌرðÊÇ×îаæÓÚ½üÆÚÉÏÊÐÒÔÀ´£¬³ýÁËÈ«¹ú¸÷µØµÄ°×Áì¡¢½ðÁì¶ÁÕßÃÇ¿ÕÇ°Ó»Ô¾¹ºÂòÖ®Í⣬¸üÓкö༯ÍÅ¡¢Ñ§Ð£¡¢Åàѵ°àºÍÑÐÌÖ»áµÈ»ú¹¹ÅúÁ¿¹ºÂò£¬ÒÔ×÷ΪһÖÖÆóÒµ¹ÜÀíµÄʵÓù¤¾ß¡¢½Ì²ÄºÍ¸ßÉеĻáÒéÀñÆ·£¬·¢Ë͸øÓйØÏÂÊô²¿ÃÅ»òѧԱ£¬Í¬Ê±Ò²ÊÇÇ×ÅóºÃÓÑÖ®¼ä»¥ÏàÀ¡ÔùµÄÒ»ÖÖÒâÒåÖØ´óµÄÌØÊâÕä¹óÀñÆ·¡£ Èí¼þÿÌ׶¨¼Û780Ôª£¬ÍøÉÏÓÅ»ÝÊÛ¼ÛÿÌ×£º702Ôª¡£ Ê鱾ÿÌ×£¨ÉÏ¡¢ÖС¢Ï¹²Èý²á£©¶¨¼Û129Ôª£¬ÍøÉÏÓÅ»ÝÊÛ¼ÛÿÌ×£º119.97Ôª¡£ Èç¹ûÿÌ×Èí¼þ¸¶×㶨¼Û780Ôª£¬¾Í¿É»ñÔù¡¶ÖйúÏÖ´úÆóÒµ¹ÜÀíÖƶÈʵÓôóÈ«¡·£¨ÉÏ¡¢ÖС¢Ï²ᣩÊéÒ»Ì×,ÄúÓÖ½ÚÊ¡ÁË129Ôª!£¨ÕâÊÇ´ó¶àÊý¶ÁÕßµÄÊ×Ñ¡£© ÆÕͨÓʼķÑÓɱ¾¹«Ë¾¸ºÔð£¬ÈçÐèÌØ¿ìרµÝ£¬ÔòÈí¼þ¼Ó40Ôª£¬1Ì×Êé¼Ó70Ôª¡£ ±¾¹«Ë¾²úÆ·¾ø¶Ô±£Ö¤ÖÊÁ¿£¬²¢È«ÌìºòµØÌṩÊÛºó·þÎñ£¬Çë·ÅÐÄʹÓᣠȫ¹ú¸÷Ê¡ÊдóÊéµêÓÐÊéÊÛ£¬Ò»ÂÉ°´¶¨¼Û£¬»¶Ó×ÉѯºÍÓʹº¡£ ÈçÓÐÐèÒª£¬ÇëÓëÉîÛÚÊи»ÄÜʵҵÓÐÏÞ¹«Ë¾ÁªÏµ¡£ £¨¶¨¹º·½Ê½£©: Ò»¡¢ÒøÐлã¿î Êտλ£º ÉîÛÚÊи»ÄÜʵҵÓÐÏÞ¹«Ë¾ ¿ª»§ÒøÐУº ÉîÛÚ¹¤ÉÌÐÐÉϲ½Ö§ÐÐÓªÒµ²¿ Õʺţº 420109024838408 £¨¹²19룩 ¶þ¡¢Óʾֻã¿î ÊÕ¼þÈË£º ÉîÛÚÊи»ÄÜʵҵÓÐÏÞ¹«Ë¾ £¨Ç벻Ҫд¸öÈËÐÕÃûºÍ¸ºÔðÈËÊÕ£© µØ Ö·£º ÉîÛÚÊб¦°²±±Â·¹ú¼ÊÉÌÆ·½»Ò×´óÏÃ5Â¥C33ÊÒ ÓÊ ±à£º 518028 µ±Äú°ìÀíÍê»ã£¨×ª£©¿îºó£¬Ç뼰ʱ½«»ã¿î»Øµ¥£¨Êվݣ©Á¬Í¬ÊÕ»õÈ˵ÄÏêϸµØÖ·¡¢µ¥Î»¡¢ÐÕÃû¡¢µç»°¡¢´«Õæ¡¢ÓʱàµÈ×ÊÁÏ£¬Ò»²¢´«Õæµ½0755-5874084£¬ÒÔ±ãÎÒ¹«Ë¾²ÆÎñ²¿Æ¾ÄúµÄ´«Õæ¼þºËʵºó£¬ÔÚµ±ÌìÓʾֵŤ×÷ʱ¼äÄÚ£¬°Ñ»õÎïÁ¢¼´¸øÄú¼Ä£¨ËÍ£©Ò²È¥¡£ Êé±¾²¿·ÖĿ¼¾ÙÀýÈçÏ£º ÉÏ ²á ¡¡ µÚÒ»Õ CI¹ÜÀíϵͳ ¹æ·¶»¯¹ÜÀíʵʩ´ó¸Ù ¹æ·¶»¯¹ÜÀíÎļþµÄÖÆ×÷¡¢ÊµÊ©¹æ¶¨ CI¹æ·¶¹ÜÀíÖÆ¶È ÆóÒµCI½¨Éè×¼Ôò CIµ¼ÈëÆõ»ú CIÊÓ¾õʶ±ðÏîÄ¿ÒªËØ °¸Àý½éÉÜ µÚ¶þÕ ×éÖ¯¹ÜÀíϵͳ Ö°ÄܽṹµÄÆóÒµ×éÖ¯»ú¹¹ÉèÖÃģʽ ʵÐд¹Ö±¹¦ÄÜÐ͹ÜÀíµÄÆóÒµ×éÖ¯»ú¹¹ÉèÖÃģʽ ÊÂÒµ²¿·ÖȨÆóÒµµÄ×éÖ¯»ú¹¹ÉèÖÃģʽ ·Ö²¿½á¹¹µÄÆóÒµ×éÖ¯»ú¹¹ÉèÖÃģʽ Ö°ÄÜ·Ö²¿µÄÆóÒµ×éÖ¯»ú¹¹ÉèÖÃģʽ ²úÆ··Ö²¿ÆóÒµµÄ×éÖ¯»ú¹¹ÉèÖÃģʽ µØÇø·Ö²¿ÆóÒµµÄ×éÖ¯»ú¹¹ÉèÖÃģʽ »ìºÏÆóÒµµÄ×éÖ¯»ú¹¹ÉèÖÃģʽ ¶ÌÕóʽµÄÆóÒµ×éÖ¯»ú¹¹ÉèÖÃģʽ ¼¯ÍŹ«Ë¾×éÖ¯»ú¹¹ÉèÖÃģʽ óÒ×¹«Ë¾×éÖ¯»ú¹¹ÉèÖÃģʽ ÖÆÔìÒµÆóÒµµÄ×éÖ¯»ú¹¹ÉèÖÃģʽ ¹«Ë¾¹ÜÀí»ú¹¹Ö°Ôð·Ö¹¤¹æ¶¨£¨A£© ¹«Ë¾¹ÜÀí»ú¹¹Ö°Ôð·Ö¹¤¹æ¶¨£¨B£© ¹«Ë¾¹ÜÀí»ú¹¹Ö°Ôð·Ö¹¤¹æ¶¨£¨C£© ÏîÄ¿¿ÉÐÐÐÔÑо¿±¨¸æ±àÖÆÌá¸Ù ¡¡ µÚÈýÕ ÐÐÕþ¹ÜÀíϵͳ ÐÐÕþÊÂÎñ¹ÜÀí¹æ¶¨ ¹«ÎĹÜÀí¹æ¶¨ »áÒ鹤×÷ϸ½Ú °ì¹«ÊÒÖ°Ôð ²ÆÎñ²¿Ö°Ôð ×ÜÎñ²¿Ö°Ôð ¹ÜÀí²¿Ö°Ô𠹤³Ì²¿Ö°Ô𠹤³ÌάÐÞ²¿Ö°Ôð Æ·¹Ü²¿Ö°Ôð ÓªÒµ²¿(Êг¡²¿)Ö°Ô𠿪·¢²¿Ö°Ôð ²É¹º²¿Ö°Ôð ´¢Ô˲¿Ö°Ôð ·¢Õ¹²¿¾ÀíÖ°Ôð ±£ÃÜÖÆ¶È ÒµÎñ²¿£¨Êг¡²¿£©¾ÀíÖ°Ôð ·þÎñ²¿¾ÀíÖ°Ôð ¹úÍⲿ¾ÀíÖ°Ôð ²Ö´¢²¿¾ÀíÖ°Ôð ²ÆÎñ²¿¾ÀíÖ°Ôð ÈËʲ¿¾ÀíÖ°Ôð ×ÜÎñ²¿(°ì¹«ÊÒ)¾ÀíÖ°Ôð ·Ö¹«Ë¾¾ÀíÖ°Ôð ÓªÒµ²¿¾ÀíÖ°Ôð ·þÎñÖÐÐľÀíÖ°Ôð ¼¼Êõ±£ÃܺÏͬÊé Öµ°à¹ÜÀíÖÆ¶È ×Ųֵ̈°à¹ÜÀí¹æ¶¨ µç»°¹ÜÀí¹æ¶¨ Ó¡Õ¹ÜÀíÖÆ¶È ÓÃÓ¡ÉêÇëµ¥ Ô±¹¤×Å×°¹ÜÀí¹æ¶¨ Ô±¹¤´ò¿¨¹ÜÀí¹æ¶¨ Ô±¹¤¹¤×÷ÅƹÜÀí¹æ¶¨ ÎÄÓ¡ÊÒ¹ÜÀí¹æ¶¨ ±¨¿¯ÓÊ·¢¹ÜÀí¹æ¶¨ ¸÷ÀàÎïƷ˵Ã÷×ÊÁϹÜÀí¹æ¶¨ ¹«ÎïʹÓùÜÀí¹æ¶¨ ÎľßÓÃÆ·¹ÜÀí¹æ¶¨ ÎľßÓÃÆ·ÉêÁìµ¥ ÎľßÓÃÆ·¹ºÂòµÇ¼Ç±í ÎľßÓÃÆ·ÁìÓõǼDZí ÔÂÎľßÁìÓÃͳ¼Æ±í °ì¹«·ÑÓýÚÊ¡°ì·¨ ËÞÉá¹ÜÀí¹æ¶¨£¨A£© ËÞÉá¹ÜÀí¹æ¶¨£¨B£© Ô¿³×¹ÜÀí¹æ¶¨ ±£ÏÕ¿â¹ÜÀí¹æ¶¨ ³µÁ¾¹ÜÀí¹æ¶¨£¨A£© ³µÁ¾×÷Òµ¼ì²é±í ³µÁ¾Ê¹ÓüǼ±í ³µÁ¾¹ÜÀí¹æ¶¨£¨B£© Åɳµµ¥ Ðгµ¼Ç¼±í ³µÁ¾¹ÜÀí¹æ¶¨£¨C£© ˾»ú¹ÜÀí¹æ¶¨ ³öÈ볧¹ÜÀí¹æ¶¨£¨A£© ³öÈ볧¹ÜÀí¹æ¶¨£¨B£© ³ö²î¹ÜÀí¹æ¶¨ ³ö²îÉêÇëµ¥ ³ö²îµÇ¼Ç±í °²È«¡¢·À»ð¡¢±£ÎÀÖÆ¶È ¡¡ µÚËÄÕ ÈËʹÜÀíϵͳ ÈËʹÜÀíÖÆ¶È ÈËʹÜÀí¹¤×÷ÊÂÏîÔðȨ»®·Ö±í ÈËÊ¿¼ºË¹æ¶¨£¨A£© ÈËÊ¿¼ºË¹æ¶¨£¨B£©
can't create temporary directory /root/tmp/cvs-serv
Hi, I'm running a cvs-server on a Mandrake 8.1 box. When I try to checkout a module locally it works fine, but from another machine I get: can't create temporary directory /root/tmp/cvs-servpid Permission denied Am I doing something wrong here?? I'm using an ordinary user mapped in $CVSROOT/CVSROOT/passwd. Any help would be useful. -imk ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Keyword Expansion and Merging Branches
We've run into spurious conflicts when merging branches. Files that have keywords (eg $Id$) in them lead to conflicts because the two files have different values for the keywords, and cvs can't recognize that the keywords are special. Looking in the cvs TODO, we found: 185. A frequent complaint is that keyword expansion causes conflicts when merging from one branch to another. . Reading the source revealed the following line in src/update.c, function join_file(): #if 0 if (*t_options == '\0') t_options = -kk; /* to ignore keyword expansions */ #endif our experiments had shown that the -kk option had made the conflicts go away, but led to the unfortunate side effect of having a sticky disabling of keyword expansion. Further, sophisticated options like this are not readily available from graphical clients such as WinCVS. Enabling the above code and recompiling solved the problem, and does not seem to leed to sticky keyword problems. My question: Why is this code disabled? What are the consequences of enabling it? Thanks. = Bill Reynolds(505)-292-3556 (Voice) (505)-265-8707 (FAX) Rhino Corps Ltd. Co. [EMAIL PROTECTED] Least Squares Software LLC [EMAIL PROTECTED] PO Box 91405 Albuquerque, NM 87199 ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Some commiting problems
Dear friends, I am getting certain error messages when i commit files. The error messages are as follows:- Value too large for defined data And sometimes the above error message is accompanied with Permission denied for readers. Any idea what is the problem? Waiting for an early reply. Cheers, Anamika __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
How to create a mirror CVS site?
We have developers at a remote site that has bad internet connection. And when the internet connection is down they are not able to work, since they don't have connection to the CVS repository. Is it possible to have a mirror CVS server on site just for emergency when the internet is down, so they can do some work. The ideal situation will be if the second mirror CVS on site will update the changes to the main CVS server when the internet connection is reestablished. Thanks, Aram ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
reserved checkout
Hello, I am a beginner with reserved checkout. I found several helpentries on the cvshome page and want test a method using the rcslock file. I added a line in the commitinfo file like the follow: ALL /usr/lib/cvs/contrib/rcslock If user A locks and edit a file out of the repository subsequently an other user edit the file. User B commit first the file and should receive an error but the commit ends successfully. I activated strict locking for the cvs repository. What do I wrong? Matthias ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
cvs security
Hello, I'm using cvs with mandrake 8.1 I wonder if pserver is the best way to proceed, but it seems to be easier to implement. These are the opérations i've done to implement pserver : -modify the cvs file in /etc/xinetd -create the a generic user and group for the cvs users (is it the best way ?) -create a cvsroot directory, changing the owner (root.cvsgroup) and the right -launch a cvs init command I would like to define the different users of cvs in a passwd file but i don't now how to proceed (ie to generate the password) Could someone help me ? Sylvain
Re: How to create a mirror CVS site?
Aram Ter-Martirosyan wrote: Is it possible to have a mirror CVS server on site just for emergency when the internet is down, so they can do some work. CVSup should do the trick: http://www.polstra.com/projects/freeware/CVSup/ -Matt ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: reserved checkout
You tried forcing serial development into a tool meant for concurrent development :-) Seriously, though, I (and I think most others) see that there is absolutely no reason to _prevent_ concurrent development although I think it should sometimes be /avoided/. The way to avoid it is through communication. There are patches available at SourceForge under project RCVS that'll extend the cvs edit command to help with communication. Take a look at them. Noel --- Matthias Kienle [EMAIL PROTECTED] wrote: Hello, I am a beginner with reserved checkout. I found several helpentries on the cvshome page and want test a method using the rcslock file. I added a line in the commitinfo file like the follow: ALL /usr/lib/cvs/contrib/rcslock If user A locks and edit a file out of the repository subsequently an other user edit the file. User B commit first the file and should receive an error but the commit ends successfully. I activated strict locking for the cvs repository. What do I wrong? Matthias ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
help with newly created repository
I have just created a second repository on my CVS server. I first created a new Linux group and added the users that I wanted to have access to this new repository into it. I added the second command in xinetd.conf to allow pserver to authenticate for this repository too. After creating the repository, I did a chgrp on all the files in the CVSROOT directory to the newly created group for this repository. I then created a directory called test, which I wanted to be my first module, and changed that group too. In addition I chmod 775 on the new directory and test file in the repository. I use WinCVS for a client. I changed the Admin - Preferences cvsroot to my new repository and made a new local working directory. Here is my problem: I can successfully authenticate through pserver to my new repository. But, when I try to checkout module test, I get 'failed to create lock directory in repository, permission denied.' and 'failed to obtain dir lock in repository' and 'read lock failed - giving up'. Also, if I try to import a module from WinCVS, I get the following error: 'Cannot make path to /blah/blah/blah: permission denied' and 'cannot write file; no such file or directory exists (because the module didn't import). I know it is a permission problem of some sort, but having trouble with what and where. Any ideas? Thanks in advance for any help, Scott ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
!
ÕâÌ×Èí¼þºÍÊé±¾¿É°ïÄú׬´óÇ®! ÄúºÃ£¡ÇëÄãÔÚ°ÙæÖп´Ò»ÏÂÕâÌ×Èí¼þ£¬ÏàÐÅÒ»¶¨»á¶ÔÄãÓÐÓá£ÕâÊÇÕë¶ÔÆóÒµ¹ÜÀíÐèÇó¶ø¶¨ÖƵġ£ÇëÉÏÎÒÃǵÄÍøÖ·Á˽â¸üÏêϸµÄÄÚÈÝ. http:// www.fu-neng.com ÆóÒµÏÖ´ú»¯¹ÜÀí²»µ«ÐèÒªÓй淶¡¢¿ÆѧºÍºÏÀíµÄ¹ÜÀíÖƶȣ¬»¹ÐèҪʵÐиßЧÂʵÄÏÖ´úµç×Ó»¯µÄ¹ÜÀí³Ìʽ,²ÅÄÜ»ñµÃ×î´óÏ޶ȵÄЧÒæ¡£Ãæ¶ÔWTOµÄÊÀ½çÉ̳¡´ó²«É±£¬ËµÄ¹ÜÀí¸úµÃÉÏʱ´ú˾ÍÓ®µÃÉÌ»ú¡£ ÓÉÉîÛÚÊи»ÄÜʵҵÓÐÏÞ¹«Ë¾Ö÷±àµÄ¡¶ÖйúÏÖ´úÆóÒµ¹ÜÀíÖƶÈʵÓôóÈ«¡·£¨Ó¦ÓÃÈí¼þϵͳ¹âµú°æ£©ºÁÎÞ³éÏóµÄÀíÂÛ¸ÅÄ¶øÊÇרÃÅÁоÙÆóÒµ³£Óõĸ÷ÖÖ±àÖÆ¡¢¸Úλ¡¢ÖƶȺʹëÊ©£¬Í¬Ê±ÓÖÉè¼Æ³É¾ßÓеçÄÔ¶Áд¡¢²éѯ¡¢±à¼ºÍ´òÓ¡µÈ¶àÖÖ¹¦ÄܵĸßЧÂʵÄÏÖ´úµç×Ó»¯¹ÜÀí¹¤¾ßģʽ¡£ ÔÚ¾¹ýÖÚ¶àÆóÒµÊÔÓᢷ´Ó¦Ò»ÖÂÔ޺õĻù´¡ÉÏ£¬ÔÙÓɵç×Ó¹¤Òµ³ö°æÉç³ö°æµÄÈí¼þϵͳ¹âµú°æ£¨¿¯ºÅ£ºISBN-7-900016-25-2£©ºÍ»¨³Ç³ö°æÉç³ö°æµÄÊé¼®£¨ÉÏ¡¢ÖС¢Ï¹²Èý²á£¬ÊéºÅ£ºISBN-7-5360-3224-2£©£¬¹«¿ªÏòÈ«¹ú·¢ÐС£È«¹ú¸÷Ê¡ÊдóÊéµêÓÐÊé³öÊÛ£¬¹ºÂòÊ®·ÖÓ»Ô¾£¬ÉîÛÚÊé³ÇµÈÐí¶àÊéµê¶Ô±¾ÊéµÄÏúÊÛÁ¿³¤ÆÚλ¾ÓÆó¹Ü¹¤¾ßÊéÏúÁ¿µÚÒ»¡£Êܳö°æÉçίÍУ¬Èí¼þ½öÓɱ¾¹«Ë¾Ö±¹©¡£ ͨ¹ý»¥ÁªÍøµÄ±¾¹«Ë¾ÍøÒ³£¬Í¨¹ýÈËÃñÈÕ±¨¡¢ÄÏ·½ÈÕ±¨¡¢ÉîÛÚÉ̱¨µÈÖÐÑëºÍµØ·½Ê®¶à¼Ò±¨Ö½¿¯ÎïµÄýÌåÐû´«ºÍÈ«¹ú´óÊéµê¸ÃÊ鿯µÄÖ±Ãæ½éÉÜ£¬Áȫ¹ú¸÷µØÖÐÍâÆóÒµÈËÊ¿Ó»Ô¾Óʹº£¬³¡ÃæÈÈÄÖ·Ç·²¡£Ðí¶à¿Í»§Ö»ÒªÖªÏþ´ËÐÅÏ¢£¬Äþ¿Ï»¨ÉÏÒ»´ó±ÊÌØ¿ìרµÝ·Ñ»¹ÆȲ»¼°´ýµØÓûÁ¢¼´°ÑËüÂòµ½ÊÖ¡£ÕýÒò´Ë£¬±¾¹«Ë¾ÔÚ¸½½ü¼¸¸öÓʾֵÄÌØ¿ìרµÝ·¢»õÒµÎñÈ·Òѽ¥³É¹æÄ£¡£ ССµÄÒ»Ì×Èí¼þ£¬ÎªºÎÓÐÈç´ËЧӦ£¿ÆäʵÔÒòÒ²¼òµ¥£¬¶àÉÙÄêÀ´£¬Éç»áÉϵÄÆó¹Ü¿¯Îï¹Å½ñÖÐÍâµÄ¶àΪ³¤Æª´óÂÛ£¬ÀíÂÛÒ»´ó¶Ñ£¬ËüÖ»ÊÊӦѧÕßÐÍÈËÊ¿¡£¶øÆó¹ÜÈËÊ¿¶àΪÎñʵÐÍ£¬Î¨Ò»ÅÎÍûÄܵÃÒ»Ìס°Ò»¿´¾Í¶®£¬Ò»ÓþÍÁ顱µÄ½ÏÈ«ÃæµÄÆó¹Ü¹¤¾ß¿¯ÎïºÍÈí¼þϵͳ¡£±¾¹«Ë¾Ö÷±àµÄ¡¶ÖйúÏÖ´úÆóÒµ¹ÜÀíÖƶÈʵÓôóÈ«¡·ÕýºÃÌî²¹ÁËÕâÒ»¿é¿Õ°×¡£Ä¿Ç°ÊÐÃæÉÏ´ËÀàÊ鿯ÁÖÁÖ×Ü×Ü£¬µ«Î¨¶À±¾¹«Ë¾Ö÷±àµÄ¡¶ÖйúÏÖ´úÆóÒµ¹ÜÀíÖƶÈʵÓôóÈ«¡·Èí¼þºÍÊé±¾×îÊÜ»¶Ó¡£ ¡¶ÖйúÏÖ´úÆóÒµ¹ÜÀíÖƶÈʵÓôóÈ«¡·µÄÄÚÈݼòµ¥Ã÷Á˶øÈ«Ã棬·½·½ÃæÃæ˵µ½Êµ´¦£¬Ö±½ØÁ˵±µØÏÔÏÖ³öÁ˽¨Á¢ÏÖ´úÆóÒµÖƶȵľßÌåÌõÎĺÍÄÚÈÝ£¬²¢°ÑÆóÒµÎñʵµÄ³£¹æ¹ÜÀíÖƶȡ¢±í¸ñºÍ¾ßÌåÔË×÷ʵÀýµÈ£¬¶¼×÷Á˹淶»¯¡¢³ÌÐò»¯ºÍ¿Æѧ»¯µÄÖ¸Òý¡£ÓöÁÕߵĻ°À´Ëµ£º¡°Ò»¿´¾Í¶®£¬Ò»ÓþÍÁé¡£¡± ÕâÌ×Èí¼þºÍÊé±¾ÒÑÔÚÈ«¹ú¸÷Ê¡ÊС¢¸÷ÐÐÒµ·¢ÐжàÄ꣬ӰÏìÉî¿Ì¡£ÌرðÊÇ×îаæÓÚ½üÆÚÉÏÊÐÒÔÀ´£¬³ýÁËÈ«¹ú¸÷µØµÄ°×Áì¡¢½ðÁì¶ÁÕßÃÇ¿ÕÇ°Ó»Ô¾¹ºÂòÖ®Í⣬¸üÓкö༯ÍÅ¡¢Ñ§Ð£¡¢Åàѵ°àºÍÑÐÌÖ»áµÈ»ú¹¹ÅúÁ¿¹ºÂò£¬ÒÔ×÷ΪһÖÖÆóÒµ¹ÜÀíµÄʵÓù¤¾ß¡¢½Ì²ÄºÍ¸ßÉеĻáÒéÀñÆ·£¬·¢Ë͸øÓйØÏÂÊô²¿ÃÅ»òѧԱ£¬Í¬Ê±Ò²ÊÇÇ×ÅóºÃÓÑÖ®¼ä»¥ÏàÀ¡ÔùµÄÒ»ÖÖÒâÒåÖØ´óµÄÌØÊâÕä¹óÀñÆ·¡£ Èí¼þÿÌ׶¨¼Û780Ôª£¬ÍøÉÏÓÅ»ÝÊÛ¼ÛÿÌ×£º702Ôª¡£ Ê鱾ÿÌ×£¨ÉÏ¡¢ÖС¢Ï¹²Èý²á£©¶¨¼Û129Ôª£¬ÍøÉÏÓÅ»ÝÊÛ¼ÛÿÌ×£º119.97Ôª¡£ Èç¹ûÿÌ×Èí¼þ¸¶×㶨¼Û780Ôª£¬¾Í¿É»ñÔù¡¶ÖйúÏÖ´úÆóÒµ¹ÜÀíÖƶÈʵÓôóÈ«¡·£¨ÉÏ¡¢ÖС¢Ï²ᣩÊéÒ»Ì×,ÄúÓÖ½ÚÊ¡ÁË129Ôª!£¨ÕâÊÇ´ó¶àÊý¶ÁÕßµÄÊ×Ñ¡£© ÆÕͨÓʼķÑÓɱ¾¹«Ë¾¸ºÔð£¬ÈçÐèÌØ¿ìרµÝ£¬ÔòÈí¼þ¼Ó40Ôª£¬1Ì×Êé¼Ó70Ôª¡£ ±¾¹«Ë¾²úÆ·¾ø¶Ô±£Ö¤ÖÊÁ¿£¬²¢È«ÌìºòµØÌṩÊÛºó·þÎñ£¬Çë·ÅÐÄʹÓᣠȫ¹ú¸÷Ê¡ÊдóÊéµêÓÐÊéÊÛ£¬Ò»ÂÉ°´¶¨¼Û£¬»¶Ó×ÉѯºÍÓʹº¡£ ÈçÓÐÐèÒª£¬ÇëÓëÉîÛÚÊи»ÄÜʵҵÓÐÏÞ¹«Ë¾ÁªÏµ¡£ £¨¶¨¹º·½Ê½£©: Ò»¡¢ÒøÐлã¿î Êտλ£º ÉîÛÚÊи»ÄÜʵҵÓÐÏÞ¹«Ë¾ ¿ª»§ÒøÐУº ÉîÛÚ¹¤ÉÌÐÐÉϲ½Ö§ÐÐÓªÒµ²¿ Õʺţº 420109024838408 £¨¹²19룩 ¶þ¡¢Óʾֻã¿î ÊÕ¼þÈË£º ÉîÛÚÊи»ÄÜʵҵÓÐÏÞ¹«Ë¾ £¨Ç벻Ҫд¸öÈËÐÕÃûºÍ¸ºÔðÈËÊÕ£© µØ Ö·£º ÉîÛÚÊб¦°²±±Â·¹ú¼ÊÉÌÆ·½»Ò×´óÏÃ5Â¥C33ÊÒ ÓÊ ±à£º 518028 µ±Äú°ìÀíÍê»ã£¨×ª£©¿îºó£¬Ç뼰ʱ½«»ã¿î»Øµ¥£¨Êվݣ©Á¬Í¬ÊÕ»õÈ˵ÄÏêϸµØÖ·¡¢µ¥Î»¡¢ÐÕÃû¡¢µç»°¡¢´«Õæ¡¢ÓʱàµÈ×ÊÁÏ£¬Ò»²¢´«Õæµ½0755-5874084£¬ÒÔ±ãÎÒ¹«Ë¾²ÆÎñ²¿Æ¾ÄúµÄ´«Õæ¼þºËʵºó£¬ÔÚµ±ÌìÓʾֵŤ×÷ʱ¼äÄÚ£¬°Ñ»õÎïÁ¢¼´¸øÄú¼Ä£¨ËÍ£©Ò²È¥¡£ Êé±¾²¿·ÖĿ¼¾ÙÀýÈçÏ£º ÉÏ ²á ¡¡ µÚÒ»Õ CI¹ÜÀíϵͳ ¹æ·¶»¯¹ÜÀíʵʩ´ó¸Ù ¹æ·¶»¯¹ÜÀíÎļþµÄÖÆ×÷¡¢ÊµÊ©¹æ¶¨ CI¹æ·¶¹ÜÀíÖÆ¶È ÆóÒµCI½¨Éè×¼Ôò CIµ¼ÈëÆõ»ú CIÊÓ¾õʶ±ðÏîÄ¿ÒªËØ °¸Àý½éÉÜ µÚ¶þÕ ×éÖ¯¹ÜÀíϵͳ Ö°ÄܽṹµÄÆóÒµ×éÖ¯»ú¹¹ÉèÖÃģʽ ʵÐд¹Ö±¹¦ÄÜÐ͹ÜÀíµÄÆóÒµ×éÖ¯»ú¹¹ÉèÖÃģʽ ÊÂÒµ²¿·ÖȨÆóÒµµÄ×éÖ¯»ú¹¹ÉèÖÃģʽ ·Ö²¿½á¹¹µÄÆóÒµ×éÖ¯»ú¹¹ÉèÖÃģʽ Ö°ÄÜ·Ö²¿µÄÆóÒµ×éÖ¯»ú¹¹ÉèÖÃģʽ ²úÆ··Ö²¿ÆóÒµµÄ×éÖ¯»ú¹¹ÉèÖÃģʽ µØÇø·Ö²¿ÆóÒµµÄ×éÖ¯»ú¹¹ÉèÖÃģʽ »ìºÏÆóÒµµÄ×éÖ¯»ú¹¹ÉèÖÃģʽ ¶ÌÕóʽµÄÆóÒµ×éÖ¯»ú¹¹ÉèÖÃģʽ ¼¯ÍŹ«Ë¾×éÖ¯»ú¹¹ÉèÖÃģʽ óÒ×¹«Ë¾×éÖ¯»ú¹¹ÉèÖÃģʽ ÖÆÔìÒµÆóÒµµÄ×éÖ¯»ú¹¹ÉèÖÃģʽ ¹«Ë¾¹ÜÀí»ú¹¹Ö°Ôð·Ö¹¤¹æ¶¨£¨A£© ¹«Ë¾¹ÜÀí»ú¹¹Ö°Ôð·Ö¹¤¹æ¶¨£¨B£© ¹«Ë¾¹ÜÀí»ú¹¹Ö°Ôð·Ö¹¤¹æ¶¨£¨C£© ÏîÄ¿¿ÉÐÐÐÔÑо¿±¨¸æ±àÖÆÌá¸Ù ¡¡ µÚÈýÕ ÐÐÕþ¹ÜÀíϵͳ ÐÐÕþÊÂÎñ¹ÜÀí¹æ¶¨ ¹«ÎĹÜÀí¹æ¶¨ »áÒ鹤×÷ϸ½Ú °ì¹«ÊÒÖ°Ôð ²ÆÎñ²¿Ö°Ôð ×ÜÎñ²¿Ö°Ôð ¹ÜÀí²¿Ö°Ô𠹤³Ì²¿Ö°Ô𠹤³ÌάÐÞ²¿Ö°Ôð Æ·¹Ü²¿Ö°Ôð ÓªÒµ²¿(Êг¡²¿)Ö°Ô𠿪·¢²¿Ö°Ôð ²É¹º²¿Ö°Ôð ´¢Ô˲¿Ö°Ôð ·¢Õ¹²¿¾ÀíÖ°Ôð ±£ÃÜÖÆ¶È ÒµÎñ²¿£¨Êг¡²¿£©¾ÀíÖ°Ôð ·þÎñ²¿¾ÀíÖ°Ôð ¹úÍⲿ¾ÀíÖ°Ôð ²Ö´¢²¿¾ÀíÖ°Ôð ²ÆÎñ²¿¾ÀíÖ°Ôð ÈËʲ¿¾ÀíÖ°Ôð ×ÜÎñ²¿(°ì¹«ÊÒ)¾ÀíÖ°Ôð ·Ö¹«Ë¾¾ÀíÖ°Ôð ÓªÒµ²¿¾ÀíÖ°Ôð ·þÎñÖÐÐľÀíÖ°Ôð ¼¼Êõ±£ÃܺÏͬÊé Öµ°à¹ÜÀíÖÆ¶È ×Ųֵ̈°à¹ÜÀí¹æ¶¨ µç»°¹ÜÀí¹æ¶¨ Ó¡Õ¹ÜÀíÖÆ¶È ÓÃÓ¡ÉêÇëµ¥ Ô±¹¤×Å×°¹ÜÀí¹æ¶¨ Ô±¹¤´ò¿¨¹ÜÀí¹æ¶¨ Ô±¹¤¹¤×÷ÅƹÜÀí¹æ¶¨ ÎÄÓ¡ÊÒ¹ÜÀí¹æ¶¨ ±¨¿¯ÓÊ·¢¹ÜÀí¹æ¶¨ ¸÷ÀàÎïƷ˵Ã÷×ÊÁϹÜÀí¹æ¶¨ ¹«ÎïʹÓùÜÀí¹æ¶¨ ÎľßÓÃÆ·¹ÜÀí¹æ¶¨ ÎľßÓÃÆ·ÉêÁìµ¥ ÎľßÓÃÆ·¹ºÂòµÇ¼Ç±í ÎľßÓÃÆ·ÁìÓõǼDZí ÔÂÎľßÁìÓÃͳ¼Æ±í °ì¹«·ÑÓýÚÊ¡°ì·¨ ËÞÉá¹ÜÀí¹æ¶¨£¨A£© ËÞÉá¹ÜÀí¹æ¶¨£¨B£© Ô¿³×¹ÜÀí¹æ¶¨ ±£ÏÕ¿â¹ÜÀí¹æ¶¨ ³µÁ¾¹ÜÀí¹æ¶¨£¨A£© ³µÁ¾×÷Òµ¼ì²é±í ³µÁ¾Ê¹ÓüǼ±í ³µÁ¾¹ÜÀí¹æ¶¨£¨B£© Åɳµµ¥ Ðгµ¼Ç¼±í ³µÁ¾¹ÜÀí¹æ¶¨£¨C£© ˾»ú¹ÜÀí¹æ¶¨ ³öÈ볧¹ÜÀí¹æ¶¨£¨A£© ³öÈ볧¹ÜÀí¹æ¶¨£¨B£© ³ö²î¹ÜÀí¹æ¶¨ ³ö²îÉêÇëµ¥ ³ö²îµÇ¼Ç±í °²È«¡¢·À»ð¡¢±£ÎÀÖÆ¶È ¡¡ µÚËÄÕ ÈËʹÜÀíϵͳ ÈËʹÜÀíÖÆ¶È ÈËʹÜÀí¹¤×÷ÊÂÏîÔðȨ»®·Ö±í ÈËÊ¿¼ºË¹æ¶¨£¨A£© ÈËÊ¿¼ºË¹æ¶¨£¨B£©
Checkout inconsistencies -- known bug?
Scenario: Directory hierarchy (InstallShield project) checked into CVS filled with a few files, but mostly empty directories. The directory hierarchy is required by InstallShield, not me. Problem: On the trunk everything checks out complete w/ various empty dirs, and all is fine. On a branch however, the module checks out up to the point where the last file (i.e. non-directory) entry exists leaving multiple empty, but required, directories unchecked out. Solution: Performing a CVS update -d will fill in the rest of the directories, as will a mkdir (duh), but neither should be necessary IMO. Question: The repository was created w/ CVS 1.10, but regardless of client, client version, or platform the behavior is the same. Is this a [known] bug, or an unusual feature? :-) TIA, Doug ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: cvs security
If you want security (as the subject of your email suggests), use SSH instead of pserver. pserver has many insecurities. Noel --- [EMAIL PROTECTED] wrote: Hello, I'm using cvs with mandrake 8.1 I wonder if pserver is the best way to proceed, but it seems to be easier to implement. These are the opérations i've done to implement pserver : -modify the cvs file in /etc/xinetd -create the a generic user and group for the cvs users (is it the best way ?) -create a cvsroot directory, changing the owner (root.cvsgroup) and the right -launch a cvs init command I would like to define the different users of cvs in a passwd file but i don't now how to proceed (ie to generate the password) Could someone help me ? Sylvain __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: reserved checkout
[ On Thursday, January 31, 2002 at 10:34:52 (+0100), Matthias Kienle wrote: ] Subject: reserved checkout What do I wrong? Don't use reserved checkouts with CVS -- CVS is the Concurrent Versions System! -- Greg A. Woods +1 416 218-0098; [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] Planix, Inc. [EMAIL PROTECTED]; VE3TCP; Secrets of the Weird [EMAIL PROTECTED] ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
commit aborted
Using WinCVS 1.2, everytime I try to commit a particular file i get the following message: cvs [commit aborted]: end of file from server What does this message mean, and how can I fix it so I can commit my file? = Robin Lunceford __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Checkout inconsistencies -- known bug?
In article [EMAIL PROTECTED], Douglas Finkle wrote: Scenario: Directory hierarchy (InstallShield project) checked into CVS filled with a few files, but mostly empty directories. The directory hierarchy is required by InstallShield, not me. Empty directories are not supported well in CVS. If your project requires some empty directory structure to always check out, you have to put some dummy files into the leaf directories of that structure. Problem: On the trunk everything checks out complete w/ various empty dirs, and all is fine. On a branch however, the module checks out up to the point where the last file (i.e. non-directory) entry exists leaving multiple empty, but required, directories unchecked out. People I work with have reported similar behavior when checking out to a tagged release; directories did not get created even though -P pruning was not turned on. I think it happens because the tag, be it a version or branch tag, does not exist in the empty directories. The solution is to use those dummy files, because you want those certain empty directories to show up no matter what, even if pruning is specified. ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
RE: Checkout inconsistencies -- known bug?
Directory hierarchy (InstallShield project) checked into CVS filled with a few files, but mostly empty directories. The directory hierarchy is required by InstallShield, not me. Empty directories are not supported well in CVS. If your project requires some empty directory structure to always check out, you have to put some dummy files into the leaf directories of that structure. Yeah, it's inconsistent to be sure-- but that's why I was questioning the behavior. :) Dummy files also work, but it's an ugly solution, IMHO. Problem: On the trunk everything checks out complete w/ various empty dirs, and all is fine. On a branch however, the module checks out up to the point where the last file (i.e. non-directory) entry exists leaving multiple empty, but required, directories unchecked out. People I work with have reported similar behavior when checking out to a tagged release; directories did not get created even though -P pruning was not turned on. I think it happens because the tag, be it a version or branch tag, does not exist in the empty directories. Hmmm, it seems to me if this were true then 'cvs up -d' would yield nothing, but in fact it does. The solution is to use those dummy files, because you want those certain empty directories to show up no matter what, even if pruning is specified. Yes, this is a workaround. Same goes for running a 'mkdir' script in a makefile, same for 'cvs up -d', but none fix the problem. The desired behavior seems to come w/ CVS for free, i.e. main trunk behavior-- it's only on the branch that the workaround seems necessary. Thoughts? ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Checkout inconsistencies -- known bug?
Kaz Kylheku writes: People I work with have reported similar behavior when checking out to a tagged release; directories did not get created even though -P pruning was not turned on. -P *was* turned on -- -r implies -P. -P should be the default -- that it isn't is just a historical accident and many recommend adding it to your ~/.cvsrc file to correct that and avoid the inconsistency. The solution is to use those dummy files, because you want those certain empty directories to show up no matter what, even if pruning is specified. A better solution is to have a build script that you run after checking out the module that creates the appropriate directory structure as required. -Larry Jones Hello, I'm wondering if you sell kegs of dynamite. -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: cvs add from a different directory
On Thu, Jan 31, 2002 at 04:55:17AM +, E B wrote: $pwd /some/unknown/directory $cvs -L /home/jim/work add newfile On Thu, Jan 31, 2002 at 12:46:35AM -0500, Larry Jones wrote: I don't see where this is something CVS should need to do. I agree that his suggested syntax is cumbersome. But look behind that, and what he really needs is simply that CVS follow standard UNIX file-naming semantics: given that /a/b/sandbox is in fact a CVS sandbox, why should CVS care which of these is used to name a file c/d within it? cd /a/b/sandbox/c; cvs XXX d cd /a/b/sandbox; cvs XXX c/d cvs XXX /a/b/sandbox/c/d As with other UNIX commands, these three sequences should behave identically. One likely response is, nobody's written the code; if you want to, feel free. Fair enough. But that's a very different answer from CVS *should not* do this. -- | | /\ |-_|/ Eric Siegerman, Toronto, Ont.[EMAIL PROTECTED] | | / One ring to rule the mall. - Movie review headline, eye Magazine ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Setting Up CVS - RSH problems
Hello CVS Users, I am setting up CVS on a Solaris 7 system and am having trouble with the rsh command. According to section 2.9.2 (Connecting with rsh) of the CVS manual I need to be able to run this command... rsh -l bach faun.example.org 'echo $PATH' ...and get a result that contains a PATH which includes the location of the CVS program. Since I am using the Korn Shell I have setup the PATH in the .kshrc file on the remote system I am rsh'ing to. However, the result of the above command never contains the correct PATH. Actually, as far as I can tell the .kshrc file is never even sourced. I suppose this question is really all Unix and not really CVS, but I was hoping someone may have some thoughts on this. Any ideas? Thanks. _ Join the worlds largest e-mail service with MSN Hotmail. http://www.hotmail.com ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: can't create temporary directory /root/tmp/cvs-serv
Marius Krabset writes: can't create temporary directory /root/tmp/cvs-servpid Permission denied Somehow $TMPDIR for CVS is set to /root/tmp which is, of course, incorrect. Unless you have something goofy in your [x]inetd configuration for CVS, that implies that your [x]inetd is running things with a goofy environment (something Linux systems are notorious for). If you're running xinetd, add passenv = PATH to the configuration file for CVS; that will clear everything out of the enviroment except for $PATH. If you're running inetd, look at the env command and use it in your inetd.conf to run CVS with an empty environment. -Larry Jones I'm a genius. -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Setting Up CVS - RSH problems
X X writes: According to section 2.9.2 (Connecting with rsh) of the CVS manual I need to be able to run this command... rsh -l bach faun.example.org 'echo $PATH' ...and get a result that contains a PATH which includes the location of the CVS program. Keep reading -- the next sentence has the solution to your problem: Alternately, you can set the environment variable CVS_SERVER on the client machine to the filename of the server you want to use, for example `/usr/local/bin/cvs-1.6'. -Larry Jones Somebody's always running my life. I never get to do what I want to do. -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Creating Per-User repositories
Greg has responded with most of what I wanted to say. I do have something to add, though. If your intent is to have students be able to grant access to other students, SSH is sufficient and is way more secure than any other method out there. However, if you want students to be able to grant access to non-students (ie those that won't have login id's on the system), SSH won't cut it. HOWEVER, any other alternative is insecure (as you've already pointed out). I would venture to say that any non-security application that manages security doesn't do so in a secure manner so the choice you're left with with any application is security or ease of use. Noel --- Tiago Alves Macambira [EMAIL PROTECTED] wrote: This is probably one of those questions that keeps appearing in this list with a quite annoying frequency _but_, as I haven't found anything in the CVS documentation, neither in sourcefoge, savanah nor in google, I'll ask it here anyway - perhaps it is not really a frequentily asked question. I and some pals are installing CVS in a box to provide CVS repositories to students of our course. We are planning on doing something similar to SourceForge[1]: every student having complete control over it's own repository and over the projects inside it, ie., control on who can access what in his repository[4]. We also wanted for the repositories to be sowhat similar to public_html dirs: directories inside the user home_dir that have its contents's size taken in account in the users filesystem quotas. Thing is, with plain CVS tools this seems pretty much un-pratical and kind of insecure: in order to give each studant complete control on his repository,from what I've read about CVS, I would have to use pserver[2], for it is the only one that provides user authentication and control based on per-project user-editable password files. All the others kind of access seem to do not have such kind of control. Perhaps it is not really all that complitated to do this with pserver, as I could easily put each user repository as a directory inside the user home dir and have the user and the contributors of its projects pserver to that repository anyway, but: * I would have to tell pserver that there is a new repository to be server as well ( no problem, can be done with a update script that edits a list of repositories to be passed to the pserver daemon. Debian CVS admins may have a clue of what I'm talking about more precisely ) * pserver has to be run as root? It really needs RW control on the repositories, what would easly be satisfied by having the repositories chgrp'ed cvs/source and having cvs running as user nobody, group cvs/source. But then, if a user commits a SGID script, would then this script be able to delete all the contents of others' repositories?! Does CVS clean SUID and SGID bits? * wrost, if cvs really has to be run as root to provide the functionallity we want, by editing a project CVSROOT/passwd file and malicious setting the system/real user ( what's the word cvs documentation uses for this?!) of one its project users, He could gain root access or have his files writen and theirs size accounted on someone else's filesystem quota. So, is there a pratical way of doing what we want with CVS? I could always install SourceForge or Savanah code ( are the easy to install in first place?! ) but I belive there must be a simpler ( or, more elegant ) way of doing this. We would really apreciate any clues you guys can give us. Thanks in advance. []s MaCa [1] I've never uses SF as a project ownner, so i'm pretty much guessing how things should work there [2] If it was possible, I'd rather use SSH[3] as authentication and access mechanism, instead of pserver, but then i loose the possibility of having the per-project user-editable password/control files. [3] If there was support for ACL[5] in linux, we could just ignore all those little issues and use CVS + SSH + all the stuff we need. [4] Before anyone suggestes using groups, the problem with groups is that I would have to create a group to each project of each student. Ok, it _is_ a possible solution but i really thing that the groups solution tends to make things get messy and not to scale well. [5] OK, jfs supports ACL but isn't there a cleaner way?! Some sort of way that doesn't depends on having file-system conversions, backups and such?! ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com
Re: Restricting checkout of CVSROOT directory
If you're using SSH or rsh: 1. set LockDir in CVSROOT/config 2. manage the CVSROOT permissions using file system ACLs (hopefully you'll have these) Noel --- anamika mathur [EMAIL PROTECTED] wrote: Dear Friends, Is it possible to restrict checking out of CVSROOT directory to only certain users for security reasosns? If yes,how do u do it? Also, if it is desired that readers and writers file in CVSROOT directory of the repository should not be checked out by any other user except administator, what is the procedure for doing it? Regards, Anamika __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Restricting checkout of CVSROOT directory
anamika mathur writes: Is it possible to restrict checking out of CVSROOT directory to only certain users for security reasosns? If yes,how do u do it? Set the ownership and permissions of the CVSROOT directory appropriately: no one can check out files in a directory unless they have read permission on the directory and no one can commit files in a directory unless they have write permission on the directory. Also, if it is desired that readers and writers file in CVSROOT directory of the repository should not be checked out by any other user except administator, what is the procedure for doing it? Permissions are only effective at the directory level, so you can't have different rules for different files in the same directory. -Larry Jones Aw Mom, you act like I'm not even wearing a bungee cord! -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: commit aborted
Robin Lunceford writes: cvs [commit aborted]: end of file from server What does this message mean, and how can I fix it so I can commit my file? It means that the server has unexpectedly closed the connection to the client. In most cases, that means the server has encountered a serious error that it was unable to communicate to the client, it may even have crashed. If your server isn't running the latest release of CVS (1.11.1p1), you should upgrade it and see if it fixes the problem or at least gives you a better error message. Otherwise, I'm afraid you'll have to become familiar with a debugger (or find someone who is) and track the problem down yourself -- these kinds of problems really can't be diagnosed remotely. -Larry Jones TIME?! I just finished the first problem! -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Checkout inconsistencies -- known bug?
In article [EMAIL PROTECTED], Larry Jones wrote: Kaz Kylheku writes: People I work with have reported similar behavior when checking out to a tagged release; directories did not get created even though -P pruning was not turned on. -P *was* turned on -- -r implies -P. -P should be the default -- that Doh! It's even documented in ``cvs --help checkout'', never mind elsewhere. I probably knew about this once, but never ran into this because it has never occured to me to do anything silly like caring about whether some empty directory is checked out. it isn't is just a historical accident and many recommend adding it to your ~/.cvsrc file to correct that and avoid the inconsistency. I agree that pruning should be default. If you want the directories, put some dummy files. Else prune it away. The solution is to use those dummy files, because you want those certain empty directories to show up no matter what, even if pruning is specified. A better solution is to have a build script that you run after checking out the module that creates the appropriate directory structure as required. Yes, no kidding. But *try* telling some people that supporting empty directories in the version control system is completely unproductive, because these directories are just needed locally. [ For this reason, In Meta-CVS, I decided not to support empty directories at all, even though in principle it could be done. A directory is effectively considered to be an operating system artifact caused by the existence of some file that has a multi-component path name. When two files have the same path prefix, they are said to be in the same directory, but the Meta-CVS software doesn't care about that; it's simply an artifact of how paths work in the operating system. So when you rename all of the files out of a directory, it no longer exists because the path prefix no longer exists. If the directory is physically empty in the working copy after such a rename, it automatically disappears. ] ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Some commiting problems
anamika mathur writes: I am getting certain error messages when i commit files. The error messages are as follows:- Value too large for defined data And sometimes the above error message is accompanied with Permission denied for readers. Any idea what is the problem? Yes, something went wrong. If you want better answers, you have to ask better questions. Show us exactly what commands you typed and the entire output you received. Tell us what release(s) of CVS you're running and on what platform(s). Tell us whether you're using a local repository or client/server. And be especially careful to tell us if you're using anything other than the standard CVS like WinCVS or cvsNT. -Larry Jones Girls are so weird. -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: cvs add from a different directory
Eric Siegerman writes: I agree that his suggested syntax is cumbersome. But look behind that, and what he really needs is simply that CVS follow standard UNIX file-naming semantics: given that /a/b/sandbox is in fact a CVS sandbox, why should CVS care which of these is used to name a file c/d within it? cd /a/b/sandbox/c; cvs XXX d cd /a/b/sandbox; cvs XXX c/d cvs XXX /a/b/sandbox/c/d As with other UNIX commands, these three sequences should behave identically. Yes, they should, and for *most* subcommands, they do; but add is specifically documented as taking file *names*, not *paths*. As the manual says: Unlike most other commands, the add command is not recursive. You cannot even type `cvs add foo/bar'! Instead, you have to $ cd foo $ cvs add bar (In fact, you *can* get away with `cvs add foo/bar' in many cases, but not all.) One likely response is, nobody's written the code; if you want to, feel free. Fair enough. But that's a very different answer from CVS *should not* do this. This, I have no problem with CVS doing -- feel free to write the code. :-) But I still don't think CVS should be changing working directories, which is what the original request was. -Larry Jones I hate being good. -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
RE: Way of listing *pathnames* of files in workspace
(The best way I can see to do this without accessing CVS/{Root,Repository,Entries} is to run find -type f -print | xargs -n 1, passing a script to xargs that runs cvs status on the filename it is given, printing the filename if cvs status works. Klugey, but workable. Is there a better way?) This find ... | xargs ... cvs status ... works okay, except for the fact that it manages to cause something in the path from cvs on my client, via ssh and rsh, to the machine on which cvs server is running, to die pretty dependably, hanging for 15-30 minutes, until something starts it up again. I think I'll munge CVS/Entries. Fragile, but reliable. ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Creating Per-User repositories
[ On Thursday, January 31, 2002 at 12:47:22 (-0800), Noel Yap wrote: ] Subject: Re: Creating Per-User repositories I do have something to add, though. If your intent is to have students be able to grant access to other students, SSH is sufficient and is way more secure than any other method out there. However, if you want students to be able to grant access to non-students (ie those that won't have login id's on the system), SSH won't cut it. Oh, but it will Noel -- at least so long as the server system supports full filesystem ACLs (at least on the filesystem used for $HOME). With ACLs users can grant read and/or write access to ano other user(s) to explicit directories in their $CVSROOT. It might be nice to have a pre-canned little script that can do all the right things w.r.t. how CVS obeys permissions and ownerships though, especially if the users are students. -- Greg A. Woods +1 416 218-0098; [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] Planix, Inc. [EMAIL PROTECTED]; VE3TCP; Secrets of the Weird [EMAIL PROTECTED] ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
CASAS DE MADEIRA COM PREÇOS PROMOCIONAIS !!!!!
Caro Internauta... VOCÊ NÃO PODE PERDER ESTA OPORTUNIDADE! Promoção de Carnaval - Válida ate 28/02/2002 Desconto de 15% no Kit Madeiramento e Kit Acabamento para todos os nossos modelos de casa. Viste nosso site www.vizonicasademadeira.com.br , veja nossos projetos e consulte-nos sobreformas de pagamento e financiamentos. Atenciosamente Departamento Comercial Vizoni - Casas de Madeira www.vizonicasademadeira.com.br [EMAIL PROTECTED]
Bad files perms
Hi to all CVS gurus, I'm trying to setup a cvs server, using project acl, via avail and cvs_acl stuff. My $CVSROOT is in /home/cvsroot I've created 2 groups, cvsusers and cvsadmins. I put in group cvsusers and cvsadmins some cvs users like bob, tina, linda /home/cvsroot is 775 root:cvsusers /home/cvsroot/prj1 is 775 root:cvsusers The problem is that each time a cvs user like bob commit a file or directory, like test in prj1, the file is bob:bob instead of bob:cvsusers I'm using Redhat 6.2 with cvs 1.1.1p1 Thanks for any help - Henri Gomez ___[_] EMAIL : [EMAIL PROTECTED](. .) PGP KEY : 697ECEDD...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
CASAS DE MADEIRA COM PREÇOS PROMOCIONAIS !!!!!
Caro Internauta... VOCÊ NÃO PODE PERDER ESTA OPORTUNIDADE! Promoção de Carnaval - Válida ate 28/02/2002 Desconto de 15% no Kit Madeiramento e Kit Acabamento para todos os nossos modelos de casa. Viste nosso site www.vizonicasademadeira.com.br , veja nossos projetos e consulte-nos sobreformas de pagamento e financiamentos. Atenciosamente Departamento Comercial Vizoni - Casas de Madeira www.vizonicasademadeira.com.br [EMAIL PROTECTED]
info-cvs@gnu.org
ÎÒÆóÒµÉú²úTBBXÐÍÎÞ¹¦¾ÍµØ²¹³¥×°Ö㬾ßÓÐÔöÈÝ£¨10%¡ª30%£©¡¢½Úµç£¨5%¡ª20%£©¹¦ÄÜ£¬ÊÇÒ»¸öͶ×ÊÉÙ ¼ûЧ¿ìµÄ½ÚÄܲúÆ·£¬¸Ã²úƷͨ¹ýÁËISO9002ÈÏÖ¤¡£Èç¹óµ¥Î»ÐèÒªÇëÓëÎÒÆóÒµÁªÏµ¡£ µç»°£º010-63556765 ´«Õ棺010-63545714 ÍøÖ·£ºwww.china-tbbx.com E-mail:[EMAIL PROTECTED]
Re: cvs add from a different directory
cd /a/b/sandbox; cvs XXX c/d cvs XXX /a/b/sandbox/c/d Just curious, when the first one works what prevents the second one from working. In both the cases cvs has to go to directory /a/b/sandbox/c and get hold of the CVS folder. eb! __ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Change of CVS source directories
On Wednesday, January 30, 2002, at 06:27 PM, Greg A. Woods wrote: Absolutely! The problem is not with CVS, as Larry has so eloquently discussed, but with the repository you're trying to use. If you want to use a repository created from, and hosted on, a case-sensitive filesystem then you'd damn well better do so with your working directory on a case- sensitive filesystem, or face the consequenses of potential filename clashes! I never said there was a problem with CVS. However, the master distribution(s) of the CVS source code are setup for a case-sensitive file system. I was simply asking if the maintainers would be willing to change a directory name in order to be usable across all file systems. Apparently, the answer is no, so I'll leave it at that. Wade ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
How to get log messages *after* one tag up to another tag
Hi! I want to get a list of all changelog messages for a certain release of a piece of software. Say I have a tag rel_5_0_1 and another (later) tag rel_5_0_2 Now, I need a list of all changes made after rel_5_0_1 up to the rel_5_0_2 tag, i.e. all changes added in release 5.0.2. I can't get cvs to do this easily, which puzzles me. Also, I have not found any tool to this, which is even more confusing. IMO, this should be a very common requirement? I guess I could write a script that starts with rdiff, gets the versions for each modified file in the two tags, and loop through them to get the log messages, and the remove (!) the bottom message, since it belongs to the last commit before rel_5_0_1. But, this is clusmy, error prone and hackish. There must be a better way, no? Regards, Palle ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: How to get log messages *after* one tag up to another tag
Palle Girgensohn writes: Now, I need a list of all changes made after rel_5_0_1 up to the rel_5_0_2 tag, i.e. all changes added in release 5.0.2. If you get the current development release of CVS from www.cvshome.org you can do that with: cvs log -r rel_5_0_1::rel_5_0_2 -Larry Jones The hardest part for us avant-garde post-modern artists is deciding whether or not to embrace commercialism. -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: cvs add from a different directory
=?iso-8859-1?q?E=20B?= writes: cd /a/b/sandbox; cvs XXX c/d cvs XXX /a/b/sandbox/c/d Just curious, when the first one works what prevents the second one from working. In both the cases cvs has to go to directory /a/b/sandbox/c and get hold of the CVS folder. I suspect that the answer is nothing, it's just that the first doesn't always work. As I recall, it works in local mode but not in client/ server mode. -Larry Jones I won't eat any cereal that doesn't turn the milk purple. -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Bad files perms
GOMEZ Henri writes: The problem is that each time a cvs user like bob commit a file or directory, like test in prj1, the file is bob:bob instead of bob:cvsusers You need to set the SGID bit on all the repository directories (chmod g+s). That causes newly created files and directories to get their group ownership from their parent directory rather than from the creating process. -Larry Jones Hello, local Navy recruitment office? Yes, this is an emergency... -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Can't connect to CVS SSH pserver
Eivind: I am trying to follow the instructions posted at http://www.prima.eu.org/tobez/cvs-howto.html to set up a CVS pserver tunnelled over SSH. My server is Linux, so I adapted the server configuration from the instructions. I am attaching the commands that I executed in case you need them as a reference. I am using a Windows 2000 machine as a client. It has the cygwin package with perl, regex, cvs, and ssh installed on it. To test the configuration, I went to a DOS prompt, changed the directory to C:\cygwin\bin, and executed this command: ssh [EMAIL PROTECTED] -L 2401:dev.jammconsulting.com:2410 open I got these messages: Could not create directory '/home/Neil Aggarwal/.ssh'. The authenticity of host 'dev.jammconsulting.com (204.130.252.205)' can't be established. RSA key fingerprint is 77:12:5a:f6:36:c3:40:e7:e8:cc:69:f4:31:7b:f9:13. Are you sure you want to continue connecting (yes/no)? yes Failed to add the host to the list of known hosts (/home/Neil Aggarwal/.ssh/known_hosts). /tmp/filexbkPbz I checked on the server and there is this file in /tmp prw---1 cvs cvs 0 Jan 31 23:33 filexbkPbz I then loaded another DOS prompt, changed the directory to c:\cygwin\bin, and executed: cvs -d :pserver:neil@localhost:/testproject login I got this message: (Logging in to neil@localhost) CVS password: When I typed in the password, I get this message: cvs [login aborted]: recv() from server localhost: Connection reset by peer Can you offer any help? Thanks, Neil. -- Neil Aggarwal JAMM Consulting, Inc.(972) 612-6056, http://www.JAMMConsulting.com Custom Internet DevelopmentWebsites, Ecommerce, Java, databases For this discussion, the project name is testproject /usr/sbin/useradd cvs mkdir -p /home/cvs/cvsroot chown cvs.cvs /home/cvs/cvsroot chmod 700 /home/cvs/cvsroot cd /home/cvs/cvsroot mkdir bin dev etc tmp chown cvs.cvs bin dev etc tmp chmod 555 bin dev etc cvs -d /home/cvs/cvsroot/testproject init chown -R cvs.cvs testproject cd dev mknod null c 1 3 chown 0.0 null chmod 666 null cd /usr/local lynx http://ftp.cvshome.org/cvs-1.11.1/cvs-1.11.1p1.tar.gz tar zxvf cvs-1.11.1p1.tar.gz cd cvs-1.11.1p1 ./configure --disable-client cd src vi Makefile and add -Xlinker -static to the LDFLAGS line (NOT the cvs_LDFLAGS line) cd .. make cp src/cvs /home/cvs/cvsroot/bin cd /home/cvs/cvsroot chown cvs.cvs bin/cvs chmod 500 bin/cvs cd testproject/CVSROOT vi passwd Add a line of the form: login:encryptedpassword:cvs for each user where encryptedpassword is copied out of /etc/shadow vi writers Add the line of the form: login for every developer who will have the write access to the project. chown cvs.cvs passwd chown cvs.cvs writers cd /tmp vi run-cvs.c and add this content: #include stdlib.h #include unistd.h /* change these values to suit your setup */ #define BASE /home/cvs/cvsroot #define OWNER_UID 513 /* Set this to the first number in the result of grep cvs /etc/passwd */ #define OWNER_GID 513 /* Set this to the first number in the result of grep cvs /etc/group */ int main(int argc, char *argv[]) { int res; res = chdir(BASE); if ( res ) exit(1); res = chroot(BASE); if ( res ) exit(2); res = setgid(OWNER_GID); if ( res ) exit(3); res = setuid(OWNER_UID); if ( res ) exit(4); /* there should be --allow-root string for every repository you are going to allow access to */ execl(/bin/cvs, cvs, --allow-root=/testproject, pserver, NULL); exit(3); } gcc -o run-cvs run-cvs.c mkdir /home/cvs/sbin cp run-cvs /home/cvs/sbin vi /etc/services and add this line: cvssshpserver 2410/tcp# CVS over SSH pserver vi /etc/xinetd.d/cvssshpserver and add these lines: service cvssshpserver { socket_type = stream protocol = tcp user = root server = /home/cvs/sbin/run-cvs server_args = run-cvs type = UNLISTED wait = no } unset HOME /etc/init.d/xinetd restart cd /tmp vi zzh.c and add this content: /* * zzh.c * * Shell for the SSH Sleeping Beauty user. * * (c) 1999, Tim Hemel [EMAIL PROTECTED] * * $Id: zzh.c,v 1.1 1999/02/19 14:57:46 tim Exp $ */ #include stdio.h #include stdlib.h #include sys/types.h #include sys/time.h #include sys/stat.h #include unistd.h #include fcntl.h #include signal.h /* Timeout in seconds */ const int ZZZ = 10*60; #define MAX_CMD_LEN 255 char cmd[MAX_CMD_LEN+1]; /* simple commandline parsing */ void parse_opt(int argc, char *argv[]) { int i,done; done = 0; for (i=0; (iargc-1) !done ; i++) { if (!strcmp(argv[i],-c)) { strncpy(cmd,argv[i+1],MAX_CMD_LEN); cmd[MAX_CMD_LEN] = '\0'; done = 1; } } } int main ( int argc, char* argv[] ) { int i; char *fn; int fd; fd_set fs; struct timeval to; struct stat sb; signal( SIGPIPE,