The CREForge FAQ
CREForge has been setup to enable people to
work on projects related to CRE Loaded and osCommerce 2.2 MS2. Anyone
can start a project, and participation in projects is open to anyone.
You can read more about the general terms
of service.
Who
can delete a project ?
Deleting a project is a privileged operation
that can only be performed
by CREForge's admins. Please sent any request to
projectmanager@creloaded.com.
If
you are tired of your browser asking you if you trust CREForge
because it could not verify its certificate, you should download the
identity of the certificate authority that is available on CREForge site.
CREForge's interface is maintained only in
English, though some elements are provided in multilingual form as part
of the base GForge development. Depending on your browser settings and
on your personnal preferences when you are logged in you may see the
web interface in English or in your native language. To be
more precise :
- When not logged in, the language used
will be the first of English or your native language seen in
your browser settings.
- When logged in, the language used will be
the one you last set in your preferences.
Nervertheless, some elements are not multilingual: this FAQ for
instance, is only available in English; the news items on the front
page are only available in the language the project submitting the news
has written them.
Each project also defines a natural
language. This is an indication of the language that should be used
when submitting bugs or writting to the mailing lists of the project.
It has no known influence on the language of the interface, even when
browsing the project's pages.
Finally, the websites each project can
setup on <project_name>.creforge.com define their own
behaviour. The gforge team or software has no influence on them.
Even though CVS is very stable and widely
used, it has some known
drawbacks:
It doesn't keep track of renaming files and directories or doesn't
store information
about a commit as a whole, and handling branches is a pain.
Subversion was written by the maintainers of
CVS and is a stable
alternative to CVS.
Subversion is based on the idea that you don't create branches or tags
but just create
a copy of your sources as one would do with no other tools at hand than
just the 'cp' copy command.
To avoid the overhead of copy operations an efficient storing system
(Berkley DB or FSFS) is used to hold all the data.
It has some drawbacks. Extraction
of particular files is likely to be slow, and dependent upon your
ability to work with Unix command line utilities after extracting a
full file set.
Ok, but how to change from cvs to
subversion when migrating to CREForge ?
You can import your whole existing CVS
repository, or just one module,
into your newly created Subversion repository on the GForge. First, you
have
to create a local Subversion repository from your local CVS repository
(SVN_REP is the path of your temporary local subversion repository,
automatically created by the cvs2svn tool):
cvs2svn --fs-type fsfs -s SVN_REP /path/to/my/local/cvs/repository
or from only one module of your local CVS
repository:
cvs2svn --fs-type fsfs -s SVN_REP /path/to/my/local/cvs/repository/this_module
This will create the SVN_REP directory and
fill it with the history
of your CVS repository/module history. When this is done, follow the
instructions of How do I import my
Subversion history ?.
You can find the cvs2svn tool and its
documentation here.
Packages exist for various Linux distributions
(Debian, RedHat, Fedora, Mandrake, ...).
Importing CVS history is a simple task :
supposing you have a copy of the
module you want to import (ie you have a version of
$CVSROOT/ModuleToMigrate)
in the current working dir of your machine.
Then a simple
scp -r ModuleToMigrate <login>@scm.creforge.com:/cvsroot/<project_name>
will install your project in the CVS repository of your project.
Beware: pre and post commits
scripts might no longer work after the importation. You should check
this is you have set any
up in your previous repository. Make also sure you run the following
commands to fix any broken permissions:
find /cvsroot/<project_name> -not -group <project_name> -exec chgrp <project_name> '{}' \; find /cvsroot/<project_name> -type d -not -perm -2070 -exec chmod g=rwxs '{}' \;
Once you have uploaded your module, you need
to fix the module permissions to be able
to browse it through the cvs web interface located on
http://creforge.com/plugins/scmsvn/viewcvs.php/?root=<project_name>
find /cvsroot/<project_name> -type d -not -perm -2005 -exec chmod o=rx '{}' \; find /cvsroot/<project_name> -type f -not -perm -0004 -exec chmod o=r '{}' \;
Please
note that the following does not
work when you use subversion 1.0.9 (packaged with Fedora Core 2 for
example). You'll need to upgrade the version of subversion you are
using.
Please note that Subversion repositories
on the GForge use the FSFS format. If your svn Subversion repository is
in BDB format, then you have to convert
it to the FSFS format using the commands given below.
The format of your Subversion repository can be checked by looking at
the contents
of the SVN_REP/db/fs-type file. To convert your
Subversion repository
from BDB format to FSFS, use the following commands
(SVN_BDB is your local Subversion tree in BDB format, SVN_FSFS
is the directory that will contain your tree in FSFS format after the
execution of the commands):
svnadmin create --fs-type fsfs SVN_FSFS svnadmin dump -q SVN_BDB | svnadmin load SVN_FSFS
Now here is how to import your Subversion
repository tree in FSFS
format.
Let SVN_REP be your local Subversion repository tree,
and project_name the unix name of your project on gforge.
Make sure you did upload your ssh key in order to be able to connect to scm.creforge.com. Then,
scp -r SVN_REP/* <login>@scm.creforge.com:/svnroot/<project_name>
This copies your subversion tree in place of
the one on CREForge. Don't forget
the /* after SVN_REP, or else
a directory will be created in /svnroot/<project_name>
and you definitely don't
want this.
Then connect to the forge to launch two
commands, to set correct
permissions
on the copied svn tree:
ssh <login>@scm.creforge.com
and at the forge prompt:
find /svnroot/<project_name> -not -group <project_name> -exec chgrp <project_name> '{}' \; find /svnroot/<project_name> -type d -not -perm -2070 -exec chmod g=rwxs '{}' \;
First, let's imagine we have three repositories that we want maintained
under <project_name>. Let's call them calc, calendar and spreadsheet (names taken from the subverison book).
The first step is to create a dump of these repositories and the
directories under which these projects will be imported in your
repository.
> svnadmin dump -q /path/to/calc/repos > calc-dumpfile > svnadmin dump -q /path/to/calendar/repos > calendar-dumpfile > svnadmin dump -q /path/to/spreadsheet/repos > spreadsheet-dumpfile > svn mkdir -m "Imported project roots" \ svn+ssh://<login>@scm.creforge.com/svnroot/<project_name>/calc \ svn+ssh://<login>@scm.creforge.com/svnroot/<project_name>/calendar \ svn+ssh://<login>@scm.creforge.com/svnroot/<project_name>/spreadsheet
Then, copy the dump file to your home directory on CREForge and ssh to
CREForge
> scp calc-dumpfile <login>@scm.creforge.com: > scp -calendardumpfile <login>@scm.creforge.com: > scp spreadsheet-dumpfile <login>@scm.creforge.com: > ssh <login>@scm.creforge.com
Finally, run
$ svnadmin load /svnroot/<project_name> --parent-dir calc < calc-dumpfile $ svnadmin load /svnroot/<project_name> --parent-dir calendar < cal-dumpfile $ svnadmin load /svnroot/<project_name> --parent-dir spreadsheet < ss-dumpfile
You now have your three repositories under your project's repository on
CREForge.
If you have followed ths configuration steps
described in the ssh
for windows page mentionned in How
do I setup ssh (even on windows ?), you can use either a
graphical or a shell-based utility to access your cvs/svn repository.
To use the graphical utility, follow the
steps described in our tortoise page.
To use svn from a shell, you can follow
these steps:
- Download a binary version of subversion
from there or, if it does not work, from there.
If you do not have administrator privileges on your machine, ask your
system administrator to do it for you.
- Start the pageant.exe utility which comes
with putty. This program installs a small icon (a computer screen with a hat) in your panel notification area located
at the bottom right of your screen. Right click on this icon and select
the Add key item. In the file selection dialog
which pops up, select the private key file you saved during the ssh
configuration as described in How do I
setup ssh (even on windows ?).
- Open a terminal, go to the directory you
want to store your files in. Set the SVN_SSH environment variable with
this command: set SVN_SSH=plink.exe and then run
this subversion command: svn co
svn+ssh://<your_username>@scm.creforge.com:/svnroot/<project_name>
This is impossible. You cannot change the
type of SCM used by your gforge project from CVS to SVN or SVN to CVS.
You have to delete your project and create a new project with a
different unix name.
Shapshot generation was disabled because it
caused to big a load on the server because of the way the snapshot was
made on projects with to many branches. There is no generic way of
making a snapshot in a way that avoids the problems encoutered.
Therefore, projects relying on snapshots should either use the tarball
that is generated (and available on the admin page of each project) or
make a snapshot themselves.
A snapshot is nothing more than a tarball
of the checkout of the complete repository made available each night.
To be able to:
- import your previous cvs or svn history,
- checkin a modification to the cvs or the
svn repository,
- modify the project homepage,
- upload files to your private homedir
you need to setup an ssh connection between your machine and the gforge
server.
On Linux:
- An ssh client should already be installed
on your machine and should be accessible from the command line, as the
"ssh" command. If not, contact your system administrator.
- Generate a pair of rsa public/private
keys with the ssh-keygen command: ssh-keygen -t rsa (make sure you enter a lengthy passphrase when asked to).
- Copy your public key in an easy-to access
file: cp ~/.ssh/id_rsa.pub ~.
- Paste your public key in the gforge
website. To do this, you need to go to your account and
then go to the Account
maintainance tab. At the bottom of the Account maintainance tab, you should see a Shell Account Information section which contains an [Edit
keys] link. Paste your public key(s) in the empty field below
and click the Update button.
On Windows, consult the ssh
for windows page.
A common problem is that the Shell
Account Information field does not appear in your account
page. This usually happens because you do not belong to any gforge
project. To correct this problem, either create your own project first
or request the project admin of the project you want to join to add you
to the list of the project's contributors.
Please, be aware that uploading your ssh
public key on the server will not allow you to connect to the server
immediately through ssh. To do so, you will need to wait at most 24h.
If your connection is impossible 24h later, please, contact the server
administrators.
A private project is a
project that only exists for those who know that it has been created
and that can only be seen by the people that are registered as members
of this project. All members of a project have access to the source
control Manager (SCM) and to the webspace of the project.
A public project appears
in the list of project hosted on the forge. Anybody can find it using
the search function, the project tree or a search engine and can browse
all public items of the project. But a public project does not
necessarily mean that all items of the project are public. The
visibility of each item can be controlled item by item. For example,
you could have a public tracker for bugs, a private tracker for
security problems, and anonymous access to the source. The visibility
of each item is controlled by the admin link that is accessible to the
project's admins on the page showing the item.
In all cases, only registered members of the
project can change the web pages of the project or its source code.
Project visibility is a project attribute
chosen at the start of the life of a project and that can be changed by
the gforge administrators. Please drop a mail to projectmanager@creloaded.com to request changes. You should be aware that changing the visibility of
a project does not change the visibility of the different elements of
the forge you are using. After having made a project public, you will
need to evaluate if you want to change the visibility of any other
element (eg. your cvs repository or your bug tracking tools).
I created the project and/or I am an admin
of a project but my normal gforge password does not allow me to access
the admin web interface of the mailing-lists.
This is normal. The password used to control
access to the mailing-lists admin web interface is different from your
normal gforge account. This different password has been emailed to all
the admins of the project at the time the mailing-list was created. The
Subject of the email was CREForge New Mailing List.
It contained the password used to access to the admin url: http://lists.creforge.com/mailman/admin/your-mailing-list
To do this, you need to be the mailing-list
administrator. Go to: http://lists.creforge.com/mailman/admin/your-mailing-list.
To be able to log successfully, you need your special mailing-list
administration password. For information on this password, see I cannot access the admin interface for the
mailing-lists.
- Log into the administrative interface of
your list
- Go to privacy options
- Go to the sender filter
- Find the Should messages from
non-members, which are automatically discarded, be forwarded to the
list moderator? line and answer No.
- Find the Action to take for
postings from non-members for which no explicit action is defined line and answer Discard.
- Save your changes
To do this, you need to be the mailing-list
administrator. Go to: http://lists.creforge.com/mailman/admin/your-mailing-list.
To be able to log successfully, you need your special mailing-list
administration password. For information on this password, see I cannot access the admin interface for the
mailing-lists.
- Log into the administrative interface of
your list
- Go to privacy options
- Go to the sender filter
- Find the List of non-member
addresses whose
postings should be automatically accepted line and add
something like (example from the default settings)
^[^@]+@users\.creforge\.com ^[^@]+@creforge\.com ^[^@]+@creloaded\.com ^[^@]+@chainreactionworks\.com ^[^@]+@chainreactionweb\.com ^[^@]+@yoursite.com
If you wish to extend this to allow anyone from yourdomain.com or any subdomain of yourdomain.com you can use this:
^[^@]+@(.*\.)?yourdomain\.com$
- Save your changes
No. These statistics are kept on the server,
but not in a format
suitable for project by project dispatch of the logs. We have no plan
for the time being to change the configuration of the server to handle
availability of these statistics for projects while keeping
availability for administrative purposes.
Yes. Apache honors the .htaccess files that
you place in the file
hierarchy of your projects (files under
/home/groups/<project_name>/htdocs/). You can therefore
implement
access protection using .htpasswd. Please refer to the apache
documentation to implement this.
Yes. We have enabled php for project's
webspace. Nevertheless, the
primary reason php is installed on the webserver is to support the web
interface of CREForge. Therefore, php.ini and the php version
installed are configured to match CREForge's needs. If a security
warning imposes changes on the configuration, we will act without
notice to project admins. If the change is the result of a planned
upgrade, project admins will receive advance notice so that they can
plan for the upgrade.
Not yet. The database server on CREForge has
for only purpose to host
CREForge's data. If you need a database backend for your project's
webspace, please use other resources. Plans to implement
automated support for database access are in very early stages.
This is coming.
When you create a new project, when you
upload a new ssh key, when you create a new mailing-list, you might
notice that the results of these operations are not immediate. Even
after a new project has been created, browsing the cvs or subversion
repository and accessing the web space are not immediate. Many
operations (the above list is not exhaustive) can take up to 24hrs to
complete. This happens because the server records operations and only
periodically performs them.
If you are really in a
hurry, you can send an email to projectmanager@creloaded.com to ask for
a special server update. Otherwise, we ask you to be patient and wait
for the server to complete these tasks on its own which will improve
its reliability.
This happens if you try to upload a large
documentation file. Unfortunatly, the exact file size limit is unknown
and depends on the content of the file itself. Furthermore, no error
message is displayed to explain that the submission failed because the
file is too big.
To workaround this problem, you can upload
your documentation to your web area and then fill in the OR
specify an outside URL where the file will be referenced : field in the documentation submission form to point to that uploaded
file with something like: http://yourproject.creforge.com/yourfile.ps
This workaround suffers from the fact that
the uploaded documentation file will be publicly accessible to all,
even for private projects, because it will be served by the web server
with no access control.
You might want a tracker to send mails to a
mailing list, for example so that any new bug submission is announced
in the developper mailing list. If you try to do this, the list manager
will complain that it was not an explicit destination of the message
and will reject it.
To solve this problem, you have to configure
your mailing list. The option you are looking for appears under Privacy
Options/Recipient filters. You should set require_explicit_destination
to no.
The front page presents CREForge
Statistics to all the visitors. On top of that, on the
default page of each project displays an Activity Percentile for the project. These statistics don't always seem right. Here is a
list of reasons they might not show expected numbers.
- The number of hosted projects seems low:
this is because only public project are counted here. Better stats are
available from CREForge's admins.
- There seems to be no correlation between
the box displaying the number of downloads and the one displaying the
most active projects. This is because the first box is cumulative,
whereas the second only takes into account the previous week.
- There seems to be no relation between the
activity of a project and the percentile displayed on CREForge. This is
because the percentile is computed from incomplete information. In
particular, projects using a subversion repository don't have their
repository activity taken into account whereas projects using a cvs
repository do. This should change during the next upgrade cycle for the
software behind CREForge, planned in 2006. To be a bit more precise,
activity percentile is computed from
- Activity in the project's forums
- Activity on the project's task manager
- Activity on the project's bug, tech
support and patch trackers
- Number of downloads
- Number of released files
- Activity in the cvs repository
If you have followed ths configuration steps
described in the webpage mentioned in How do I setup ssh (even on
windows ?), you can use either a graphical or a shell-based
utility to access your cvs/svn repository.
To use the graphical utility, follow the
steps described in our tortoise page.
To use svn from a shell, you can follow
these steps:
- Download a binary version of subversion
from here or, if it does not work, from here.
If you do not have administrator privileges on your machine, ask your
system administrator to do it for you.
- Start the pageant.exe utility which comes
with putty. This program installs a small icon (a computer screen with a hat) in your panel notification area located
at the bottom right of your screen. Right click on this icon and select
the Add key item. In the file selection dialog
which pops up, select the private key file you saved during the ssh
configuration as described in How do I
setup ssh (even on windows ?).
- Open a terminal, go to the directory you
want to store your files in. Set the SVN_SSH environment variable with
this command: set SVN_SSH=plink.exe and then run
this subversion command: svn co
svn+ssh://<your_username>@scm.creforge.com:/svn/<your_project_name>
This is impossible. You can not change the
type of SCM used by your gforge project from CVS to SVN or SVN to CVS.
You have to delete your project and create a new project with a
different unix name.
To do so, you need to be the mailing-list
administrator. Go to: http://lists.creforge.com/mailman/admin/your-mailing-list.
To be able to log successfully, you need your special mailing-list
administration password. For information on this password, see I can not access the admin interface for the
mailing-lists.
Once you are logged, goto the Privacy
Options menu, then to the Sender Filters item. At the bottom of the page, in the Action to take for
postings from non-members for which no explicit action is defined line, select Discard on the right. In the Should
messages from non-members, which are automatically discarded, be
forwarded to the list moderator? line, select No.
Save your changes.
Depending on
feedback from our users, default settings for newly created projects
evolve over time. This section of the FAQ holds a list of topics
usefull to project admins who requested creation of their project
before some of the settings evolved. You can still discover usefull
information in this section, so it is kept as a reference.
By default, mailing lists request moderation
for messages sent using e-mail adresses that are not subscribed to the
list. At the same time, message generated by cvs or svn during commit
or import operations are sent using an adress in the form
<login_id>@users.creforge.com. To avoid to have to
moderate these messages, it is possible to whitelist all messages sent
from the users.creforge.com domain. To do this, you need to :
- Log into the administrative interface of
your list
- Go to privacy options
- Go to the sender filter
- Add
^[^@]+@creforge\.com
to the list of non-member addresses whose postings should be
automatically accepted
- Save your changes
|