Page History

Turn Off History

If you have a new question, enter it on this page and leave the Answer: section blank. Someone will eventually add text that provides an answer. At least, that's the theory...


Question: Can cvstrac use a pserver ? How do I get cvstrac (standalone version) to use a pserver on a different computer ? It works perfectly with a local cvs repository, but I've not been able to get it to access a cvs repository running on a different computer and accessed via pserver.

I have logged in as the cvstrac user ('cvs') and logged in to the remote repository so that the password will be stored in .cvspass in the home directory. Still no luck.

This is such a useful program. If only it would work with remote repositories...

A related Ticket: #216: Cannot access repository via :pserver:

23rd Sept 2003

Answer: Not really. CVSTrac needs to read files (like 'history') which are not easily accessible through a pserver connection. A possible solution for you might be to mirror the repository locally (through rsync or cvsup), and set up your local CVSTrac to talk to the local repository.

Another solution: CVSTRAC doesn't work over non-mounted filesystems. But you can mount remote filesystems over ssh/ftp in linux using lufs. Look on sourceforge. Only problem I has was that I had to give a --libdir=/lib parameter to ./configure to make it fit redhat's library path.

./configure --libdir=/lib && make && make install worked most perfectly.


Question: I'm unable to log in to the cvs server cvs.cvstrac.org:

  $ cvs -d :pserver:anonymous@cvs.cvstrac.org:/cvstrac login

  Logging in to :pserver:anonymous@cvs.cvstrac.org:2401/cvstrac
  CVS password: <typed 'anonymous' here>
  cvs [login aborted]: connect to cvs.cvstrac.org(195.27.176.154):2401 failed: Connection refused

Thanks, June 23, 2003

Answer:


Question: I've compiled and installed cvstrac 1.1.2 on RedHat 7.3 as a cgi install with Apache, and am getting to the point where I enter in my 'setup' username and password at:

http://www.mydomain.com/cgi-bin/cvstrac/myproject/

when I do this, I get this:

  Query failed
  Database query failed: 

  BEGIN;DELETE FROM cookie WHERE expires<=%d;INSERT INTO cookie
  (cookie,user,expires,ipaddr,agent) VALUES('%q','%q',%d,'%q','%q');COMMIT;
  Reason: attempt to write a readonly database

when I update the file permissions on the db file (in my case located at /home/cvsroot/ myproject.db) so that they are world-readable/writable, the last line of the error changes to:

  Reason: unable to open database file

Any suggestions? Seems like a problem with permissions between the webserver and sqlite? Any pointers on how to proceed would be appreciated.

Answer: Apache usually runs your CGI scripts as an unprivileged user. ("www" or "apache" or "nobody"). You have to make sure that both the database file itself and the directory that contains the database file are writable by whatever user the CGI script runs as.


Question: I compiled and installed CVStrac 1.1.2 on FreeBSD4.3. I initialized cvs with: cvstrac init /home/cvs demo and started cvstrac as its own webserver: cvstrac server 8008 /home/cvs When I activate CVStrac from the browser with URL: http://ptscvs.proeftuin.pts.nl:8008/demo I get the CVStrac login page on which I only see the "user id" and "pwd" select boxes and "login" button. Furthermore there is a "CVSTrac version 1.1.2" hyperlink which prompts with the "about" page. Although this seems all okay, I have the idea that I'm missing hyperlinks in the page header. Furthermore I have no idea how to configure CVStrac with CVS users and where CVStrac finds the CVS repository. Does it use environment variable $CVSROOT or expects it having directory CVSROOT located somewhere in /home/cvs?

Answer: Read and follow the CvstracInstallation instructions.


Question: cvstrac is well installed and running on my Debian GNU/Linux Sparc. Cvstrac is running as a standalone server. When I log with setup/setup all seems correct but I come back to the login screen ? with a wrong password there is an error. On the client side, cookies are enabled by default. How can I debug this type of issue ? Is there a verbose mode from 'cvstrac server' ?

Answer: See ticket #166 and #205


Question: Is there a way to display last updated date on any wiki page? I'm trying to use this within my organisation, and although the concept is being welcomed, yet its pretty tedious to go thru all the wiki pages and manually check for any modifications on that page. Any pointers will be appreciated.

Answer: You can generate a report that shows the time of last modification for all wiki pages. See the example at http://cvs.cvstrac.org/rptview?rn=17.

You can also get a summary of all wiki pages changes by selecting appropriate configuration on the timeline. Or you can see a history of changes for a particular wiki pages by clicking on the "[History]" hyperlink in the upper right-hand corner when viewing that page.


Question: Can CVSTrac be run in a chroot jail?

Answer: See ChrootJailForCvstrac.


Question: I don't want CVSTrac to change my CVSROOT/passwd file. How do I keep it from changing that file when I add new users to CVSTrac?

Answer: CVSTrac will not change the CVSROOT/passwd file if you turn off write permission on that file. You can also configure CVSTrac not to write to CVSROOT/passwd in one of the setup screens.


Question: I have multiple projects in the same CVS repository. How can I set of separate CVSTrac instances for each project?

Answer: You can configure CVSTrac so that it only sees CVS files that have a particular prefix. If each project has a unique prefix, you can set up multiple CVSTrac servers, one for each project.


Question: I want my tickets to start at #0. How can I achieve it?

Answer: You can't. Tickets start with #1. There is no way to change this.


Question: How and when should the database update be done? Automatically after every checkin or with a cron job (at what interval?) ?

Answer: The database is updated automatically from the CVSROOT/history file whenever anyone accesses the timeline page. The last known size of CVSROOT/history is saved (in the CONFIG table of the database) and if the current size is larger, the excess is scanned and entered as new records in the change log. All of this should occur automatically and without any intervention on the part of either the user or the administrator.


Question: How does CVSTrac work from the cvs checkin perspective? Are users required to add certain text to checkin comments in order for tickets to be related to checkins?

Answer: If the user includes a ticket number preceeded by a "#" somewhere in the check-in comment, then CVSTrac will automatically associate that ticket with the check-in. But this association can be broken, or new asssocations added, by editing the ticket and changing the list of check-in numbers in the "Associated Check-ins:" entry box.


Question: Whatever I try (on a cgi install) of cvstrac, I am unable to "browse" the repository. I have no special xinetd or inetd settings.. am I in some sort of chroot jail? All other functions seem to work.. just not "browse the code". I have tried setting the directory to many different things (in setup). I can't for the life of me figure out what I'm missing.

Answer: CVSTrac only sees files that have been "commit"-ed at least once. Did you fill your repository with "import" and thus avoid doing any commits? Another possibility is that the user that CGI scripts run as does not have read permission for the CVS files.


Question: How can I get 1.1.1-SNAP via CVS?

Answer: There was a configuration problem on the CVSTrac website that prevent access to the lastest CVS changes. But that problem has now been fixed. To download the latest changes to CVS, do this:

   cvs -d :pserver:anonymous@cvs.cvstrac.org:/cvstrac login 
   cvs -d :pserver:anonymous@cvs.cvstrac.org:/cvstrac checkout cvstrac 

The password is "anonymous".


Question: How do I use Milestones? So far I have defined a milestone, and I have associated tickets with it by entering the milestone's checkin number in the "associated checkins" field of the ticket. But ... how is this useful? Maybe somebody could enlighten me on how Milestones are supposed to be used?

Answer: If you change the type of the Milestone from "Event" to "Release", then a pink box appears on the timeline at the point of that milestone. This is useful for delimiting significant events in the history of a project (such as releases). Note that you have to check the "Divide Timeline by Milestones" box at the bottom of the timeline page for this to happen.

Event milestones are automatically created for each tag that you insert using the normal CVS tag commands. This is just to give visibility to tags.


Question: We have added an estimated effort field. Neat. We have created a report that shows 'total estimated effort', 'completed effort' and 'pending effort'. Also neat.

We'd like to be able to keep track of the evolution of these values. Any ideas to help us to track them are welcomed. (Not CVSTrac related, but would also like to hear some ideas about how to plot the evolution of the estimated effort).

Answer: #205 seems related. This issue is quite strange and variable following browser. Some specific version of mozilla can't handle that.


Question: Has anyone thought about porting CVSTrac to use Subversion (http://subversion.tigris.org/) as the back-end? (SvnTrac?)

Answer: Have a look at http://svntrac.bengburken.net/, maybe this is what you are looking for?


Question: I am also unable to "browse" the repository.All other functions seem to work. And I don't know what "commit"-ed mean? How can I fill my repository not with "import" ?

Answer: CVSTrac only knows about files that appear in the CVSROOT/history log. The "cvs import" command does not make entries in this log. Only the "cvs commit" command does. Hence you can only see files that have been processed by "cvs commit", not just "cvs import".


Question: I receive lots of "The file x could not be found" errors when I run reconstruct from the CVS history file. What could be wrong?

Answer: If you have done any manual surgery on your CVS repository, such as moving ,v files in the repository, this change will not be reflected in the CVS history file. So check the filenames carefully, as these errors will likely refer to files which no longer exist in that exact location. It is likely that your import was still successful.


Question: I use cvstrac as stand-alone server where I have no root access. Is there an easy way to run cvstrac over SSL/HTTPS?

Answer: You can use stunnel (http://www.stunnel.org) for this.


Question: If I run cvstrac using stunnel via port 443, can I also run a second instance against the same database file without stunnel via port 80? In other words, can a database file be shared

safely amongst several instances of cvstrac?

Answer: Yes. Multiple copies of cvstrac can be active at once.


Question: How do I get cvstrac to display time/date information in my own timezone instead of in GMT?

Answer: This is probably an indication that you have not set up your chroot jail correctly. See ChrootJailForCvstrac and LocalizationOfCvstrac for information on how to set up your chroot jail with /etc/localtime.


Question: I have just installed CVSTrac on OSX and started it up as its own web server. The login page comes up but when i enter "setup" and "setup" for the username and password i am just presented with the login page again. With different values for username and password I do get the red "You entered an incorrect username and/or password" error. Have i missed something in my setup?

Answer: Check if cookies are enabled. You must allow your web browser to use cookies.


Question: The ChrootJailForCvstrac Wiki provides instructions for Linux. I followed these for FreeBSD 4.x but they didn't work. What do I need to do confine CVSTrac to a FreeBSD jail?

Answer: You need to include the following directories and files in your chroot jail.

    bin
    bin/sh
    dev
    dev/null
    etc
    etc/passwd
    etc/localtime
    tmp
    usr
    usr/bin
    usr/bin/co
    usr/bin/diff
    usr/bin/rcsdiff
    usr/bin/rlog
    usr/lib
    usr/lib/libc.so.4
    usr/lib/libgnuregex.so.2
    usr/lib/libm.so.2
    usr/libexec
    usr/libexec/ld-elf.so.1

On FreeBSD 4.x, the /dev/null device is defined as a character device with a major number of 2 and a minor number of 2 in the /dev/MAKEDEV file. So to create the /dev/null device in your chroot jail, use the following commands:

    mknod c 2 2 dev/null
    chmod 666 dev/null


Question: I have setup a chroot jail for CVSTrac, but I receive an error (e.g. Abort trap) whenever CVSTrac attempts to access a given revision of a CVS file. How can I troubleshoot the problem?

Answer: This is most likely due to a missing library. The best way to diagnose this problem is to confine an interactive session to the CVSTrac chroot jail and see if the dependent commands work. For example, if you confine CVSTrac to a chroot jail at /usr/CVSTracJail as user id cvs, you would do the following under an interactive session:

    su
    chroot /usr/CVSTracJail /bin/sh
    su -l cvs

Now your interactive process is confined to the CVSTrac jail running as user cvs. Executing the commands (e.g. co, diff, rcsdiff and rlog) that CVSTrac requires will provide insight into what might be wrong such as a missing library.


Question: I've managed to set up the cvstrac cgi on Mac OS X running Apache 1.3.27. In the setup page I pointed it to my existing CVS by entering the path of the CVS. I clicked Reconstruct, and none of my projects appeared. I tried again, clicking Rescan this time.

cvstrac managed to find one project, plus one other one that I deleted manually(and I also removed it's entry in the modules file)a long time ago. I do have other entries in the modules file, but those projects don't appear. Any ideas?

Michael

Answer


Question: Could someone show a valid command to use in the "Configure Ticket Change Notification" that doesn't compromise the security of the box in any way ? I would assume one would use sendmail or mail, but I've used neither.

James

Answer: I use: echo '%d %r'|mail -s '[cvstrac] %p/%s/%t' '%A'


Question: Why is there a limit of 100K on attached files? Can I upgrade that to 100MB and recompile (I know where the constant is, I'm just curious why you picked such a small number; it seems like it could be important)?

Answer:


Question: I have a local machine I want to run cvstrac on. The cvs server is ssh accessable on another machine on which I cannot install cvstrac. I have my ssh-agent keys (.ssh/id_rsa,.ssh/authorized_keys) arranged so I can type ssh -l username cvsserver and no password is required for access. However the browse functionality of cvstrac does not work using the exact same CVSROOT. Any ideas what I'm missing here?

Answer: CVSTRAC doesn't work over non-mounted filesystems. But you can mount remote filesystems over ssh/ftp in linux using lufs. Look on sourceforge. Only problem I has was that I had to give a --libdir=/lib parameter to ./configure to make it fit redhat's library path.

./configure --libdir=/lib && make && make install worked most perfectly.


Question: How does cvstrac handle multiple branches in the cvs repository? Can tickets be associated with a single branch? Can they be associated with multiple branches?

AJ

Answer:


Question: Is it possible to configure CVSTrac to exclude files that have been removed from CVS from the browse view?

J

Answer:


Question: Can I somehow use WikiWords within a Wiki page? I'd like to keep multiple tips&tricks notes (each of them being very short) on one page while still being able to see/link them from other pages. I don't want to have lots of pages with only 2 or 3 sentences per page ;-)

Answer: You could just insert HTML rather than using Wiki.


Question: On the timeline page, you can click "Show the SQL used to generate the timeline." What can you do with this SQL? Is there any way to execute arbitrary SQL commands against the CVSTrac database? I would like command-line access to the timeline to build changelogs and whatnot into my program.

Answer: You can access it via SQLite mechanisms, for example the sqlite command-line client.


Question: I've setup cvstrac on my system. Everything seems to work fine except the browse function. Everytime I have cvstrac read the history file I get errors that look like this:

Unable to locate the file module/filename in the CVS repository

I've commited the files, the program is running as root so there isn't any file perm problems. I haven't changed the CVSROOT files in any way.