Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ , ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ° ΡΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Subversion ΠΈ Git, Π²Π³ΡΠ°Π΄Π΅Π½ ΡΠΈΠΊΠΈ, ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΠ°Π·Π΄Π΅Π» Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π·Π° Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ BSD. ΠΠ° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π‘Π£ΠΠ SQLite, PostgreSQL ΠΈ MySQL/MariaDB.
Trac ΡΠ»Π΅Π΄Π²Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊΡΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΠΏΠΈΡΠ½ΠΈ ΡΡΡΠΈΠ½Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²ΡΡΡ Ρ Π²Π΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅. ΠΠ³ΡΠ°Π΄Π΅Π½ΠΈΡΡ wiki Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° wiki ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ΅Π»ΠΈ ΠΈ ΠΊΠΎΠΌΠΈΡΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ, Π·Π°Π΄Π°ΡΠΈ, ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π°, ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ wiki ΡΡΡΠ°Π½ΠΈΡΠΈ. ΠΠ° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ±ΠΈΡΠΈΡ ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²Π° Π»ΠΈΠ½ΠΈΡ.
Π ΡΠΎΡΠΌΠ°ΡΠ° ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΠΈΠ½Π°ΡΡΠΊΠΈ ΠΏΠΎΡΠΎΡΠΈ, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΡΡΠΈΠΎΠ½Π½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π°Π½ΠΊΠ΅ΡΠΈ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² Doxygen, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ, ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΡΡΠ΅Π· Slack, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Subversion ΠΈ Mercurial.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π½Π°ΠΉ-ΡΡΠ°Π±ΠΈΠ»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ 1.2:
- ΠΡΠ΅Ρ ΠΎΠ΄ ΠΊΡΠΌ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π±ΡΡΠ· ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡ . ΠΡΠ½ΠΎΠ²Π°Π½ΠΈΡΡ Π½Π° XML ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡ Genshi Π΅ ΠΎΠ±ΡΠ²Π΅Π½ Π·Π° ΠΎΡΡΠ°ΡΡΠ», Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ ΡΠ°ΠΌΠΎ Π² Π½Π΅ΡΡΠ°Π±ΠΈΠ»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ 1.5.
- Π‘ΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½Π°ΡΠ° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π·Π° Π²Π΅ΡΡΠΈΠΈ Π½Π° Trac ΠΏΡΠ΅Π΄ΠΈ 1.0. ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ Π·Π°ΡΡΠ³Π°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈΡΠ΅ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΠ.
- ΠΡΡΠΏΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈ Π² ΠΏΠΎΠ»Π΅ΡΠΎ CC, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΡΠ°Π·ΡΠΈΡΡΠ²Π°Ρ Π² ΡΠΏΠΈΡΡΠΊ Π½Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
- Wiki-ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΡΠ° ΡΠ½Π°Π±Π΄Π΅Π½ΠΈ Ρ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅Π» ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ΅Π½ ΠΈ ΡΡΠ»ΠΎΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΡΠ΅ΠΊΡΡΠ°.
- Π ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ΅ Π·Π° ΠΈΠΌΠ΅ΠΉΠ» ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° Π½Π° Π±ΠΈΠ»Π΅ΡΠΈΡΠ΅ ("changes.fields").
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° wiki-ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ ΡΠ΅ΠΊΡΡ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΡΡΠ΅ΡΠ°). ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄Π°.
- ΠΠ»ΡΠ³ΠΈΠ½ΡΡ TracMigratePlugin ΡΡΠ°Π½Π° ΡΠ°ΡΡ ΠΎΡ Trac ΠΈ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° trac-admin convert_db. ΠΠ°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΏΠ»ΡΠ³ΠΈΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Trac ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SQLite β PostgreSQL). Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π° ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ticket delete_comment ΠΈ attachment move.
- ΠΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΏΠΎΠ»ΡΡΠΈΡ Π° Π°ΡΡΠΈΠ±ΡΡ max_size.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½Π΅ Π½Π° Π±ΠΈΠ»Π΅ΡΠΈ (ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±ΠΈΠ»Π΅ΡΠΈ ΠΎΡ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ) ΡΡΠ΅Π· ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ tracopt.ticket.clone
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²Π΅ Π² Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠ°ΠΏΠΊΠ° ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°.
- ΠΠ±Ρ Π²Π°ΡΡΡ Π½Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½ Π·Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π·Π° ΠΌΠ°ΡΠΎΠ²ΠΎ (batch) ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΏΠΎ HTTPS Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡ tracd.
- ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° Π²Π΅ΡΡΠΈΡ Π½Π° Python (2.7 Π²ΠΌΠ΅ΡΡΠΎ 2.6) ΠΈ PostgreSQL (Π½Π΅ ΠΏΠΎ-ΡΡΠ°ΡΠ° ΠΎΡ 9.1).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
