Warning, /education/rkward/CommitPolicy.txt is written in an unsupported language. File is not indexed.

0001 Committing to the RKWard repository
0002 ===================================
0003 
0004 This is a very short guideline, primarily for those who have KDE developer access, and are wondering whether, and how to commit to the RKWard repository, directly.
0005 
0006 If you do not have KDE developer access, contact us on the mailing list (rkward-devel@kde.org), or submit patches via phabricator (see below).
0007 
0008 Library dependencies
0009 ====================
0010 
0011 It is important to note that RKWard makes a point of _not_ requiring the latest KDE / QT libraries. If you want to use the latest and greatest, be sure to use #ifdef's, and make a best
0012 effort to support features for older versions of libraries, too. For the moment, in the KF5 versions of RKWard, we're trying to support:
0013 
0014 Oldest library versions to support:
0015 * Qt: 5.2.1 (= Ubuntu Trusty)
0016 * KDE: 5.2.0 -- TODO: What version would be readily accessible for Trusty (if any)
0017 * R: 3.0.0? (= Ubuntu Trusty)
0018 
0019 Note: This is not set in stone, may change according to whatever is included in important distributions.
0020 
0021 Branches and policies
0022 =====================
0023 
0024 * master: 
0025   Most development happens in master. For the time being master is always open for commits, although you are encouraged to develop more elaborate new features in a separate branch. Do try to keep this branch compilable and functional at all times (some rough edges are allowed, though). For more disruptive work, use a "work" branch (see below).
0026 * releases/*
0027   These branches are more restricted. In general you should:
0028   * not add any new features (only fixes) to these
0029   * monitor the mailing list for any (string) freezes in these branches, before doing any work, there
0030   * merge your commit to master, unless it is really specific to the release-branch (or unless you cherry-picked it from master)
0031 * released:
0032   This will be updated for each new stable release, but _only_ for each new stable release. Meant to allow tracking released versions. In general, please don't commit / push anything, here, unless you are the release manager.
0033 * devel/*
0034   For longer, experimental, or disruptive work, consider creating a branch named "devel/feature_description". Do let us know, when the feature is merged (or discarded), and the branch can be removed.
0035 * work/*
0036   The KDE git infrastructure special-cases branches under the prefix "work". Among other things these will allow history-rewrites, and will not produce commit notifications, i.e. the rules are much like for a personal fork.
0037   Most of the time, please use a "devel" branch (see above), instead of a "work" branch, as this allows better collaboration.
0038 * kde4:
0039   The latest KDE4 based development version of RKWard. There may or may not be future bugfix releases for KDE4, but no active development is expected on this branch.
0040 
0041 Testing
0042 =======
0043 
0044 Only some of RKWard (mostly: the plugins) is currently covered by automated tests. To run these, use
0045   make plugintests
0046 More elaborate documentation is available at https://rkward.kde.org/Automated_Plugin_Testing . Running tests is particularly important when making changes to the "plugin" and "plugins"
0047 subdirectories.
0048 
0049 Note that there are some false positives or unstable tests (failing in some locales, for instance). Check the diffs to find out, exactly how the test failed, or run tests before
0050 and after your changes. If in any doubt, ask on the mailing list rkward-devel@kde.org .
0051 
0052 Review
0053 ======
0054 
0055 There is no strict policy on code reviews. It is never wrong to ask for review on Phabricator: https://phabricator.kde.org/differential/diff/create/ . Always select repository "RKward".