summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/gf-developers.t2t79
1 files changed, 31 insertions, 48 deletions
diff --git a/doc/gf-developers.t2t b/doc/gf-developers.t2t
index b4a21a25e..9e758cd48 100644
--- a/doc/gf-developers.t2t
+++ b/doc/gf-developers.t2t
@@ -26,6 +26,7 @@ If the Haskell Tool Stack is already installed, enter the following command in a
- On Ubuntu: ``sudo apt-get install git libghc6-haskeline-dev``
- On Fedora: ``sudo dnf install git ghc-haskeline-devel``
+
**On Mac OS and Windows**, the tools can be downloaded from their respective
web sites, as described below.
@@ -50,79 +51,60 @@ required by //haskeline// are installed. Here is one way to do this:
== Getting the source ==
-Once you have all tools in place you can get the GF source code. If you
-just want to compile and use GF then it is enough to have read-only
-access. It is also possible to make changes in the source code but if you
-want these changes to be applied back to the main source repository you will
-have to send the changes to us. If you plan to work continuously on
-GF then you should consider getting read-write access.
-
-=== Read-only access ===
+Once you have all tools in place you can get the GF source code from
+[GitHub https://github.com/GrammaticalFramework/gf-core].
-==== Getting a fresh copy for read-only access ====
+=== Read-only access: clone the main repository ===
-Anyone can get the latest development version of GF by running:
+If you only want to compile and use GF, you can just clone the repository as follows:
```
-$ git clone https://github.com/GrammaticalFramework/gf-core.git
-$ git clone https://github.com/GrammaticalFramework/gf-rgl.git
+ $ git clone https://github.com/GrammaticalFramework/gf-core.git
```
-This will create directories ``gf-core`` and ``gf-rgl`` in the current directory.
-
+To get new updates, run the following anywhere in your local copy of the repository:
-==== Updating your copy ====
-
-To get all new patches from each repo:
```
-$ git pull
+ $ git pull
```
-This can be done anywhere in your local repository.
-
-
-==== Recording local changes ====[record]
-Since every copy is a repository, you can have local version control
-of your changes.
+=== Contribute your changes: create a fork ===
-If you have added files, you first need to tell your local repository to
-keep them under revision control:
+If you want the possibility to contribute your changes, you should
+[create your own fork https://docs.github.com/en/get-started/quickstart/fork-a-repo]
+of the repository, and then clone that.
```
-$ git add file1 file2 ...
+ $ git clone https://github.com/<YOUR_USERNAME>/gf-core.git
```
-To record changes, use:
+**Updating your copy —**
+Once you have cloned your fork, you need to set up the main GrammaticalFramework repository as a remote:
```
-$ git commit file1 file2 ...
+ $ git remote add upstream https://github.com/GrammaticalFramework/gf-core.git
```
-This creates a patch against the previous version and stores it in your
-local repository. You can record any number of changes before
-pushing them to the main repo. In fact, you don't have to push them at
-all if you want to keep the changes only in your local repo.
+Then you can get the latest updates by running the following:
-Instead of enumerating all modified files on the command line,
-you can use the flag ``-a`` to automatically record //all// modified
-files. You still need to use ``git add`` to add new files.
+```
+ $ git pull upstream master
+```
+**Recording local changes —**
+If you are new to Git, we recommend to read a tutorial on how to [record and push your changes https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository] to your fork.
-=== Read-write access ===
-If you are a member of the GF project on GitHub, you can push your
-changes directly to the GF git repository on GitHub.
+**Pull request —**
+TODO
-```
-$ git push
-```
-It is also possible for anyone else to contribute by
+%It is also possible for anyone else to contribute by
-- creating a fork of the GF repository on GitHub,
-- working with local clone of the fork (obtained with ``git clone``),
-- pushing changes to the fork,
-- and finally sending a pull request.
+%- creating a fork of the GF repository on GitHub,
+%- working with local clone of the fork (obtained with ``git clone``),
+%- pushing changes to the fork,
+%- and finally sending a pull request.
== Compilation from source with Stack ==
@@ -414,7 +396,8 @@ extra-lib-dirs:
First you will need to install the following libraries if not already installed:
```
-apt-get install
+apt-get install
+```
and then run ``stack install``, also from the top directory.