Concatenative topics
Concatenative meta
Other languages
Meta
How can I track development with Git?
See Repository.
How can I join Factor development?
The best way is to make a Git repository of your own. Chris Double described how to do this in a blog post. Once you have a Git repository, make whatever changes you feel like to the code base, and tell someone involved in development about it. If they like your changes, they can be pulled into the main Factor repository. Before pushing any of your patches to your public repository, make sure that they'll be signed with your name by including your information in the .git/config
file with the following format:
[user] name = "Manuel Lopez Garcia" email = "manuel@lopez.mx"
Where can I host my Git repository?
You can use GitHub: http://github.com/
What are the requirements for getting code accepted into the Factor repository?
The Factor project has very stringent requirements for contributed code. Continuous integration is used to ensure that all libraries in the repository pass minimum quality controls.
The main requirements are as follows:
authors.txt
, summary.txt
, and tags.txt
must be provided.If you are a new contributor, there are two additional requirements. You must not make changes to anything in core
and basis
without asking first. All new vocabularies must start off in extra
.
Since binary packages do not get released unless all build-time checks pass, we may move your code to unmaintained
if it fails to load or the tests don't pass for more than a few days. You may move it back at any time once you fix the problem holding back builds.
How do I get my patches merged into the main repository?
Drop by the Concatenative IRC channel and ask slava
or erg
to review your changes. All patches go through a code review process by one of the core developers before being merged into the repository. We reserve the right to reject any code contribution.
Where should I store my working code that I don't feel like contributing to the Factor project?
If you feel like it, you can put that code in extra/
, where included non-core libraries go. But if you want to be a little more organized, you can put vocabs in a different directory named work/
which is part of the vocab search path (for example, extra/foobar/foobar.factor
or work/foobar/foobar.factor
), or in the current working directory. You can also add new directories to the vocab search path by modifying the vocab-roots
variable in the vocabs.loader
vocabulary. Also, see the help page about working with code outside of the Factor repository.
When trying to push to my repository using Cygwin, why do I see this error message?
fatal: exec failed fatal: The remote end hung up unexpectedly error: failed to push to 'foo@bar.com:factor.git'
Install OpenSSH with the Cygwin installer, and the problem should be fixed.
This revision created on Thu, 18 Jul 2024 11:47:57 by jryans (Link to renamed repository article)