------------------------------------------------------------------------------ KNOWN ISSUES OF DCVS RELEASES ------------------------------------------------------------------------------ This list contains known issues of DCVS releases. It has been created at 2003-07-30 after release 0.1.8, so older information is likely to be missing. For a complete list of changes, see file CHANGES in this directory. Release 1.0.3 -------------- (PR 1505) When cm3 is not found, the "make all" command in the DCVS source tree complains about a missing m3build. That is misleading, as m3build used to be the second choice to cm3, and would not be able to compile cvsup anymore, anyway. The check for m3build is obsolete. To fix this error, make sure cm3 is installed and in the PATH. (PR 1087) (cvs bug) delete-on-merge does not work in new dir Removed files in the newly added directory are not removed in the merge. They are "resurrected" by the merge although they should never have existed. The error seems to be specific to a situation where a new directory contains deleted files. (PR 1262) Changes made to the repository via the 'dcvs admin' commands are not replicated correctly. [The admin command has been disabled completely in DCVS] (PR 1291) The MacOS X Fink Package creates a dcvs User that is visible in "Accounts" in "System Preferences". System users should not be visible there. (PR 1325) Cvsup does not compile with the latest CM3 from CVS. Official CM3 releases are fine. (PR 1113) dcvsup logs "-> Attic" in some cases where it should not This can happen, when dcvsupd wants dcvsup to store the file inside the attic, but the dcvsup decides not to do so, because the file's main-trunk is alive. (PR 598) dcvs -n update fails if -z option is used. Disable compression on client side using option `-z 0' if you want use the -n option. (PR 1302) When creating a tag on another machine than the main collection server, double server suffixes are appended to a tag name. (PR 1322) If x is a file that was added on a branch (so it's head is dead) then dcvs mkcset -r 1.1 -r 1.1.20000 .1 testcs is possible, but dcvs diff -g testcs fails PRs 1076,1077,1079,1083,1090,1091 have been fixed in the 1.0.3 release. Release 1.0.2 -------------- (PR 1077) dcvsupd should be run as user dcvs It should be standard to run dcvsupd as user dcvs. At the moment all the start scripts run dcvsupd as root by default. The system administrator has to change this manually, if basic security setup is desired. (PR 1079) sdcvup_push.sh error in a setup where the DCVS server have different operating systems on the linux system sdcvsup.sh is located in /usr/sbin/sdcvsup.sh and not in /usr/local/sbin/sdcvsup.sh as on a FreeBSD system. A work around for this is to set symlinks on every server. Not really the best solutions, but it works. (PR 1083) hardcoded path to ssh binary for sdcvsup.sh sdcvsup.sh has a hardcoded path to ssh (/usr/local/bin/ssh). On most platforms ssh is NOT found in /usr/local/bin/ssh (PR 1090) ~/.cvsrc file may interfere with testing When running the regression tests (DCVS/prod $ make run-tests), a ~/.cvsrc file may change the commands run during testing, thus resulting in large result diff dumps, even though no problem exists. Workaround: temporarily rename ~/.cvsrc file (PR 1091) -j tag without server suffix does nothing Fact: when creating a tag with DCVS, the current server suffix is appended automatically. Problem: When using the same tag without the server suffix, no error message is printed or the like, just nothing is merged. e.g.: [go to branch] dcvs tag tag_1 [make changes] dcvs tag tag_2 [go to trunk] dcvs up -j tag_1 -j tag_2 Workaround: add server suffix in the update command: dcvs up -j tag_1_at_server_domain -j tag_2_at_server_domain where server_domain should be the correct suffix, like tag_1_at_old_elego_de (can be found out by listing all tags of a specific file, using dcvs log a.file | less ) (PR 1100) dcvs package does not seem to register properly on freebsd During portupgrade, sometimes the following is printed: pkg_delete: package dcvs-1.0.2 has no origin recorded (PR 1119) merge problem with added files in DCVS: When merging from trunk to branch, added files are not merged properly. The branch tag needs to be set manually for added files. (Problem does NOT exist with traditional CVS 1.11.17). Problem looks like this: neels@old:~/test/wc/dir$ dcvs ci -m "merged new file: y" dcvs commit: Examining . dcvs commit: add file `y': no branch tag: `brhead_at_old_elego_de' dcvs [commit aborted]: correct above errors first! Workaround: Go to branch where the files were added (e.g. trunk). Set the branch tag manually with $ dcvs tag -b my_branch_head_at_server_domain my_added_files Go back to branch head and merge and commit: $ dcvs up -r my_branch_head_at_server_domain $ dcvs up -d -j my_branch_start_at_server_domain -j my_merge_tag $ dcvs ci (PR 1087) (cvs bug) delete-on-merge does not work in new dir When adding a directory and files in it, then deleting files in it again, these deleted files are `resurrected' during a merge. This only happens when merging a directory that did not exist previously, and which also contains files that were deleted. (PR 941) segmentation fault with unsusual/illegal merge case A very weird case of using `update -g changeset' behaves differently to `update -j foo -j bar'. (needs to be investigated) (PR 1076) change the ownership to user dcvs and group dcvs for every installed file Every file that dcvs needs for operation should be owned by the user & group dcvs. This should be standard for the package installation. Perhaps for the installtion from source, too. A setup like this has been tested successfully Release 1.0 ------------ (7) Currently CM3 does not work correctly for the (new) NetBSD target platform. In release_DCVS_1_0_1 CM3 does work correctly for the new NetBSD target platform. FIXED in 1.0.2 (8) (PR 1112) dcvsup-ezm3.patch needs to be integrated for building with EZM3 (9) (PR 598) dcvs -nq up blows up, when z option (compression) is active. The z option may be hidden in ~/.cvsrc so that it may not be really obvious. There seems to be a subtle bug that leads to incompatibility of server and clients programs when using compression for network transmissions. This will be fixed in short time, but has been postponed as simple workarounds are available. Workaround A: `MinCompressionLevel=VALUE' `MaxCompressionLevel=VALUE' Restricts the level of compression used by the CVS server to a VALUE between 0 and 9. VALUEs 1 through 9 are the same ZLIB compression levels accepted by the `-z' option (*note Global options::), and 0 means no compression. When one or both of these keys are set and a client requests a level outside the specified range, the server will simply use the closest permissable level. Clients will continue compressing at the level requested by the user. The exception is when level 0 (no compression) is not available and the client fails to request any compression. The CVS server will then exit with an error message when it becomes apparent that the client is not going to request compression. This will not happen with clients version 1.12.13 and later since these client versions allow the server to notify them that they must request some level of compression. Workaround B: Disable compression on client side using option `-z 0'. (10) (PR ???) malloc recursion bug: on one local FreeBSD 5.4 system, recursive malloc calls have led to program crash during regression testing. The current code base (2005-11-15) seems not to have this problem, so it is not clear if it can be reproduced. Old regression test logs are available though. This needs to be investigated further. [has been investigated, error will be fixed in release 1.0.3] (11) (PR 1113 )dcvsup logs "-> Attic" in some cases where it should not This can happen, when dcvsupd wants dcvsup to store the file inside the attic, but the dcvsup decides not to do so, because the file's main-trunk is alive. (12) (PR 954) Creating snapshots or changesets does not work on Linux. This happens because the `dirname' function is inconsistent across operating systems. Linux's `dirname' takes the liberty of corrupting the parameter passed to it. A workaround needs to be implemented in the sourcecode. [fixed on branch, this will be fixed in the release 1.0.3] (13) (PR 1114) Doing a delta merge with a changeset (update -g csetname) does not work. No workaround exists -- the code still needs to evolve. [progress has been made, the next full release should work (release 1.1)] (14) (PR 1117) A `commit -g changesetname' does not enter added files in the changeset. Workaround: first commit, then use $ dcvs mkcset -D "10 minutes ago" -D now instead. (changesets cannot be applied properly yet, see 13 above) [fixed on branch, this will be fixed in release 1.0.3] Release d0.1.9 ------------- (3) DCVS CVSup may not compile with (older) releases of CM3, PM3, or EZM3, due to (a) missing package parseparams (b) insufficient tcp packages Fix/Workaround: use the tcp and parseparam packages provided in cvsup/tcp and cvsup/parseparams. Compile and install them with the following commands: cd prod make tcp install-tcp make parseparam install-parseparams Fixed in devel_parseparams_d1_0_0, devel_tcp_d1_0_0, devel_prod_d3_0_0 (4) There were several problems with the dcvs_config parser which have been fixed 2005/04/26 in devel_dcvs_d3_0_5_at__at_old_elego_de. The parser should now o correctly recognize comment lines without whitespace o no more swallow trailing newlines on client declarations o only be run once even if the workspace refers to many repositories (5) The dcvs edit command did not work. This was fixed 2005/04/29 in devel_dcvs_d3_0_6_at_old_elego_de. (6) Auto-checkout in DCVSROOT did not work due to another "CVSROOT" literal that had been overlooked in the source. This has been fixed 2005/04/30 in devel_dcvs_d3_0_7_at_old_elego_de. All these changes are included in Release 1.0 Release 0.1.8 ------------- (1) dcvs does not find files when DCVSROOT ends in a slash Reported 2003-07-29 by Jon Ringle Fixed 2003-07-30 in devel_dcvs_d2_1_2 Fast Workaround: avoid trailing slashes in DCVSROOT (2) dcvs_getconfig aborts if /usr/local/etc/cvsup does not exists Reported 2003-07-29 by Jon Ringle Fixed 2003-07-30 in devel_dcvs=getconfig_d1_0_3 Fast Workaround: create directory /usr/local/etc/cvsup # Local Variables: # mode: text # End: