Apache OpenOffice (AOO) Bugzilla – Issue 3021
cvs rdiff does not work
Last modified: 2003-12-06 14:52:32 UTC
cvs rdiff -rSRC641 -rSRC642 porting causes error messages from cvs server: cvs [server aborted]: received abort signal cvs: lock.c:225: lock_name: Assertion `(__extension__ (__builtin_constant_p ( strlen (current_parsed_root->directory)) && ((__builtin_constant_p (repository) && strlen (repository) < ((size_t) ( strlen (current_parsed_root->directory)))) || (__builtin_constant_p ( current_parsed_root->directory) && strlen ( current_parsed_root->directory) < ((size_t) ( strlen (current_parsed_root- >directory))))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (repository) && __builtin_constant_p ( current_parsed_root->directory) && (__s1_len = strlen (repository), __s2_len = strlen ( current_parsed_root->directory), (!((size_t)(const void *) ((repository) + 1) - (size_t)(const void *)(repository) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(( current_parsed_root->directory) + 1) - (size_t) (const void *)( current_parsed_root->directory) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (repository), (__const char *) ( current_parsed_root- >directory), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (repository) && ((size_t)(const void *)((repository) + 1) - (size_t)(const void *)(repository) == 1) && (__s1_len = strlen (repository), __s1_len < 4) ? (__builtin_constant_p ( current_parsed_root- >directory) && ((size_t)(const void *)(( current_parsed_root->directory) + 1) - (size_t)(const void *)( current_parsed_root->directory) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (repository))[0] - ((__const unsigned char *) (__const char *)( current_parsed_root->directory))[0]); if ( __s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[1] - ((__const unsigned char *) (__const char *) ( current_parsed_root->directory)) [1]); if ( __s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[2] - ((__const unsigned char *) (__const char *) ( current_parsed_root->directory))[2]); if ( __s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (repository))[3] - ((__const unsigned char *) (__const char *) ( current_parsed_root->directory)) [3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ( current_parsed_root->directory); register int __result = (((__const unsigned char *) (__const char *) (repository))[0] - __s2[0]); if ( __s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[1] - __s2[1]); if ( __s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[2] - __s2[2]); if ( __s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (repository))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( current_parsed_root- >directory) && ((size_t)(const void *)(( current_parsed_root->directory) + 1) - (size_t)(const void *)( current_parsed_root->directory) == 1) && (__s2_len = strlen ( current_parsed_root->directory), __s2_len < 4) ? (__builtin_constant_p (repository) && ((size_t)(const void *)((repository) + 1) - (size_t)(const void *)(repository) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (repository))[0] - ((__const unsigned char *) (__const char *)( current_parsed_root->directory))[0]); if ( __s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[1] - ((__const unsigned char *) (__const char *) ( current_parsed_root->directory))[1]); if ( __s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (repository))[2] - ((__const unsigned char *) (__const char *) ( current_parsed_root->directory)) [2]); if ( __s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (repository))[3] - ((__const unsigned char *) (__const char *) ( current_parsed_root->directory))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (repository); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ( current_parsed_root->directory))[0]; if ( __s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ( current_parsed_root->directory))[1]); if ( __s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ( current_parsed_root->directory))[2]); if ( __s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ( current_parsed_root->directory))[3]); } } __result; }))) : strcmp (repository, current_parsed_root->directory)))); }) : strncmp (repository, current_parsed_root->directory, strlen (current_parsed_root->directory)))) == 0' failed.
Taska, is anyone able to confirm/accept this issue ?
reassigning to support (taska) louis
Okay, we recently got a workaround for this for anoncvs (issue 717). Looking into this with the instantiations engineer (PCN8179).
Here's the workaround: In order to make things like rdiff and rtag work, you need to use the following repository pathname: /usr/local/tigris/data/helm/cvs/repository instead of the /cvs that you usually use to login. We are working on a separate internal issue to make these things work more "transparently".
the workaround does not work anymore
Is there any new status on the internal issue ?
*** Issue 7150 has been marked as a duplicate of this issue. ***
comments from duplicate issue 7150: cvs rtag does not work: [e0/i0/s2] 16:37 F:\>cvs -d:pserver:mh@so-cvs-tunnel:/cvs rtag -rSRX643 -b SRX643 soltools lock.c:225: failed assertion `strncmp (repository, current_parsed_root- >directory, strlen (current_parsed_root->directory)) == 0' cvs [rtag aborted]: received abort signal cvs [rtag aborted]: received abort signal lock.c:225: failed assertion `strncmp (repository, current_parsed_root- >directory, strlen (current_parsed_root->directory)) == 0' since openoffice.org performance is very poor, it's very important to have working cvs r* commands !!
updating whiteboard with internal issue number
per engineering, you'll need to use the longer path again.
the suggest workaround is not working. due to the changed CVSROOT the user is required to login in with new CVSROOT. authentication then will be refused. output: mh@jumbo(60):/tmp/mh> cvs -d:pserver:mh@so-cvs-tunnel:/usr/local/tigri s/data/helm/cvs/repository rtag -r HEAD test_tag test cvs rtag: cannot find password cvs [rtag aborted]: use "cvs login" to log in first mh@jumbo(61):/tmp/mh> cvs -d:pserver:mh@so-cvs-tunnel:/usr/local/tigris/data/helm/cvs/repository login (Logging in to mh@so-cvs-tunnel) CVS password: /usr/local/tigris/data/helm/cvs/repository: no such repository cvs [login aborted]: authorization failed: server so-cvs-tunnel rejected access mh93703@jumbo(62):/tmp/mh>
Using the path: /shared/data/helm/cvs/repository for the r commands will work. Please verify.
the workaround now works, thank you.
closing this issue
closing