Skip to content

Commit cd13228

Browse files
authored
Merge pull request #2 from brianwarner/dev
Updating our Fork's dev branch with the latest.
2 parents 73a9a2a + 01f5749 commit cd13228

13 files changed

Lines changed: 3376 additions & 67 deletions

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,11 @@ Facade is licensed under Apache 2.0.
1515

1616
### Some tips and tricks
1717

18-
Facade is known to work on Linux Mint 18, with Apache 2.4.18, Python 3, PHP
19-
7.0.18, and mysql 5.7.17. For best results, try these versions (or higher).
18+
System requirements:
19+
* Ubuntu 16.10+ or Debian Stretch+
20+
* Python 3
21+
* PHP 7.0.18+
22+
* mysql 5.7.17+
2023

2124
Facade works by cloning a git repo, calculating the parents of HEAD (bounded by
2225
the start date), and scraping each patch for statistics. It calculates lines

RELEASES.md

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,39 @@ A brief overview of versioning, branches, and releases
33
Facade will follow a three decimal release notation, e.g. v1.0.0
44

55
The first decimal is the major number, and it denotes database compatibility. If
6-
for any reason a database changes (e.g. adding or removing tables or columns, or
7-
changing the way the database is accessed), the major number will be
8-
incremented. A migration path must be provided from the previous database schema
9-
to the new one in facade-worker.py under the "update_db" function.
6+
for any reason a database changes in a way that breaks backwards compatibility
7+
(e.g. removing tables or columns, or changing the way the database is accessed),
8+
the major number will be incremented. A migration path must be provided from the
9+
previous database schema to the new one in facade-worker.py under the
10+
"update_db" function.
1011

1112
The second decimal is the feature number, and it denotes a release which adds
12-
new features but where the database structure is unchanged. Examples include
13-
changes to the web UI, performance improvements, and refactoring existing
14-
functions. These releases must be self contained, meaning that a user has to do
15-
no more than pull the new code. Any new feature that requires user intervention
16-
before Facade works properly should be done in a major release.
13+
new features but where database compatibility is maintained. Examples include
14+
changes to the web UI, performance improvements, adding new tables or columns,
15+
adding new settings in the database, and refactoring existing functions. These
16+
releases must be self contained, meaning that a user has to do no more than pull
17+
the new code and run facade-worker.py. Any new feature that requires user
18+
intervention before Facade works properly should be done in a major release and
19+
branched as described below.
1720

18-
The last decimal is for bug fix releases, which can happen at any time and
19-
must apply transparently.
21+
The last decimal is for bug fix releases, which can happen at any time and must
22+
apply transparently.
2023

2124
In general, users will run Facade from master. Master should always be stable,
2225
with work happening in development branches. At release time, the relevant
23-
development branch will be merged into master, and the tagged.
24-
25-
When a new major release happens, a branch will be created just prior to merging
26-
any patches which break backwards compatibility (e.g. v1-compat, v2-compat,
27-
etc). When checked out, this branch must be sufficient to continue running
28-
Facade as usual on the prior version of the database. This provides a safety net
29-
for users who may be unaware that pulling a new copy of the code could break
30-
backwards compatibility and their ability to export config files. In this
31-
situation, the user can check out the branch which corresponds with their
32-
current major version, export their config files for safekeeping, check out
33-
master, and do a migration or start fresh by importing their config files.
26+
development branch will be merged into master, and then tagged.
27+
28+
If a release requires user intervention (new dependencies, for example), a
29+
branch will be created just prior to merging any patches which break backwards
30+
compatibility (e.g. v1-compat, v2-compat, etc). When checked out, this branch
31+
must be sufficient to continue running Facade as usual on the prior version of
32+
the database. This provides a safety net for users who may be unaware that
33+
pulling a new copy of the code could break backwards compatibility and their
34+
ability to export config files. In this situation, the user can check out the
35+
branch which corresponds with their current major version, export their config
36+
files for safekeeping, check out master, and do a migration or start fresh by
37+
importing their config files. A tangible example of this is when Facade migrated
38+
from Python 2 to Python 3.
3439

3540
Since Facade is intended to run unattended until you need stats, the goal is to
3641
make it easy to recover when unavoidable changes roll through.

0 commit comments

Comments
 (0)