Skip to content

Commit 0f0e131

Browse files
committed
Add setting up development environment section
Also some capitalization changes and movement of sections.
1 parent f38adc3 commit 0f0e131

File tree

1 file changed

+69
-26
lines changed

1 file changed

+69
-26
lines changed

doc/developers.txt

Lines changed: 69 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Roundup-devel list to get assistance and verify your planned changes.
2525

2626
All development is coordinated through two resources:
2727

28-
- Roundup-devel mailing list at
28+
- roundup-devel mailing list at
2929
https://sourceforge.net/projects/roundup/lists/roundup-devel
3030
- The issue tracker running at
3131
https://issues.roundup-tracker.org/
@@ -43,14 +43,6 @@ helpful.
4343
People working on Documentation or designing changes to the Web
4444
interface don't need to get into the implementation internals.
4545

46-
47-
Small Changes
48-
-------------
49-
50-
Most small changes can be submitted as patches through the
51-
`issue tracker`_ or sent to `Roundup-devel mailing list`_.
52-
53-
5446
Project Rules
5547
-------------
5648

@@ -69,32 +61,81 @@ Other project rules:
6961
changes to tracker configuration must be logged in the
7062
upgrading document.
7163
- discuss any changes with the other developers on
72-
Roundup-dev. If nothing else, this makes sure there's no
64+
roundup-dev. If nothing else, this makes sure there's no
7365
rude shocks.
7466
- write unit tests for changes you make (where possible),
7567
and ensure that all unit tests run before committing
7668
changes.
7769
- run flake8_ or pylint_ over changed code.
7870
- if you have direct commit access to the repository,
79-
subscribe to Roundup-checkins to receive checkin
71+
subscribe to roundup-checkins to receive checkin
8072
notifications from the other developers with write access
8173
to the source-code repository.
8274

83-
The goal is to have no flake8 issues. Current code does include long
84-
lines and use of mutable objects in function signatures. Some third
85-
party code (e.g. ZPT) vendored into the codebase has more issues.
75+
The goal is to have no flake8 issues. Current code has
76+
complex functions, some long lines and use of mutable
77+
objects in function signatures. Some third party code
78+
(e.g. ZPT) vendored into the codebase has more issues.
8679

87-
The administrators of the project reserve the right to boot developers who
88-
consistently check in code which is either broken or takes the codebase in
89-
directions that have not been agreed to.
80+
The administrators of the project reserve the right to boot
81+
developers who consistently check in code which is either
82+
broken or takes the codebase in directions that have not
83+
been agreed to.
9084

91-
Source Repository Access
92-
------------------------
85+
Setting up a Development Environment
86+
------------------------------------
9387

94-
Roundup is developed using the `Mercurial distributed version control
95-
system (DVCS)`_ [1]_. It is `hosted at Sourceforge`_. See
88+
Roundup doesn't require any external libraries. Installing
89+
Python 3 and its core libraries is enough to get Roundup
90+
running.
91+
92+
The easiest way to work with Roundup is to clone the
93+
repository. Roundup is developed using the `Mercurial
94+
distributed version control system (DVCS)`_ [1]_. It is
95+
`hosted at Sourceforge`_. See
9696
https://www.roundup-tracker.org/code.html for details.
97-
For all other questions ask on the development mailing list.
97+
98+
If you are used to git, Mercurial's `command equivalence
99+
table`_ can help. Most of the concepts from git (except for
100+
staging) should be familiar.
101+
102+
To clone the repository use::
103+
104+
hg clone http://hg.code.sf.net/p/roundup/code roundup
105+
106+
(Yes, that is an http url.)
107+
108+
This will create a read only clone (you can't ``hg push``)
109+
of the repo. Changes you make can be attached as patches
110+
(created using ``hg diff``) to tickets in our `issue
111+
tracker`_.
112+
113+
See https://www.roundup-tracker.org/code.html for URL's and
114+
directions on getting read write access which allows pushing
115+
to the repository.
116+
117+
Once you have your clone, you can run ``python3 ./demo -b
118+
sqlite`` and get a working Roundup server. This will start
119+
the server using the ``sqlite`` backend. The code is in the
120+
``roundup`` subdirectory.
121+
122+
Submitting Changes
123+
------------------
124+
125+
Most small changes can be submitted as patches through the
126+
`issue tracker`_ or sent to `Roundup-devel mailing list`_.
127+
128+
Your account on sourceforge can be set up to allow direct
129+
pushes to the repo. Once that is done, using::
130+
131+
hg push https://[email protected]/p/roundup/code
132+
133+
or
134+
135+
hg push ssh://[email protected]/p/roundup/code
136+
137+
will commit your changes.
138+
98139

99140
Other Resources - CI, Code Coverage
100141
-----------------------------------
@@ -114,10 +155,11 @@ services:
114155
GitHub actions upload coverage statistics to both `CodeCov`_ and
115156
`Coveralls`_. TravisCI only uploads to CodeCov.
116157

117-
We run our own issue tracker so we can dogfood the code. So we do not
118-
use GitHub issues. Pull requests are grudgingly accepted. They have to
119-
be exported and applied to the Mercurial repository. This is time
120-
consuming so patches attached to the issue are preferred.
158+
We run our own issue tracker so we can dogfood the code. As
159+
a result, we do not use GitHub issues. Pull requests are
160+
grudgingly accepted. They have to be exported and applied to
161+
the Mercurial repository. This is time consuming so patches
162+
attached to an issue in our tracker are preferred.
121163

122164
Debugging Aids
123165
--------------
@@ -464,6 +506,7 @@ At run time, Roundup automatically compiles message catalogs whenever
464506
.. _CodeCov: https://app.codecov.io/gh/roundup-tracker/roundup
465507
.. _copy of the mercurial repository on GitHub:
466508
https://github.com/roundup-tracker/roundup
509+
.. _command equivalence table: https://www.mercurial-scm.org/wiki/GitConcepts#Command_equivalence_table
467510
.. _Coveralls: https://coveralls.io/github/roundup-tracker/roundup
468511
.. _cygwin: https://www.cygwin.com/
469512
.. _emacs: https://www.gnu.org/software/emacs/

0 commit comments

Comments
 (0)