Edgewall Software

Version 35 (modified by Christian Boos, 13 years ago) ( diff )

removed the now obsolete notes

Wiki pages to be included in a release

This list only provided for convenience. See checkwiki.py for the official list of wiki pages to be included in releases.

The following table lists the pages that will be included in the next 0.13 release, and the name of the person who proof-read and possibly updated/corrected that page.

Page Proof-read Comments
CamelCase
InterMapTxt
InterTrac
InterWiki
RecentChanges
TitleIndex
TracAccessibility
TracAdmin
TracBackup
TracBrowser
TracCgi
TracChangeset
TracEnvironment
TracFastCgi
TracFineGrainedPermissions
TracGuide
TracIni
TracInstall
TracInterfaceCustomization
TracImport
TracLinks
TracLogging
TracModPython
TracModWSGI
TracNavigation
TracNotification
TracPermissions
TracPlugins
TracQuery
TracReports
TracRevisionLog
TracRoadmap
TracRss
TracSearch
TracStandalone
TracSupport
TracSyntaxColoring
TracTickets
TracTicketsCustomFields
TracTimeline
TracUnicode
TracUpgrade
TracWiki
TracWorkflow
WikiDeletePage
WikiFormatting
WikiHtml
WikiMacros
WikiNewPage
WikiPageNames
WikiProcessors
WikiRestructuredText
WikiRestructuredTextLinks
WikiStart

Status

Currently preparing the 0.11 release

How to maintain the default wiki pages in sync?

As some content is only pertinent on t.e.o and not in the packaged docs, downloading new content from t.e.o will lead to repeated merge, so we need a system that can handle them efficiently.

Here's how to set up such an environment using Mercurial:

Initial Setup

$ svn checkout http://svn.edgewall.org/repos/trac/branches/0.11-stable/ guide-0.11
$ cd guide-0.11
$ hg init
$ cp /tmp/trac.hgignore .hgignore
$ hg addremove
$ hg commit -m "Start sync with branch 0.11-stable [T70xx]"
$ (cd trac/wiki/default-pages; \
   python ../../../contrib/checkwiki.py -d; dos2unix *)
$ hg branch wiki-guide   # (1)
$ hg commit -m "Those are the un-processed changes from t.e.o wiki"
$ hg update -C 0         # (2)
$ hg branch repo-guide   # (3)
$ hg merge wiki-guide

Notes:

  1. mark the future commit to be on named branch "wiki-guide", the symbolic name for the branch tracking the raw changes made by contributors in the t.e.o wiki
  2. switch back to revision 0, the one which was in sync with the svn branch
  3. mark the future commit to be on named branch "repo-guide", the symbolic name for the branch tracking the changes we will commit in the svn branch

Now at this point, carefully review the changes and revert everything you don't want to see merged in the repository. This is the tedious part, but once you've taken a decision to not merge some changes, you won't be asked to take this decision over and over again in future merges.

Once you're happy with how the changes look like, commit them:

Commit Changes

$ hg ci -m "Merged contributions (2008-05-08)"
$ svn ci -m "TracGuide [milestone:0.11]: sync changes from the wiki (2008-05-08)"

While there's a timestamp anyway associated to the changeset, I find it convenient to put the date prominently in the commit message as well.

Now, the interesting things begin. Next time you decide to sync, things will be quite easy:

Repeat Merge

$ cd guide-0.11
$ hg update -C wiki-guide
$ (cd trac/wiki/default-pages; \
   python ../../../contrib/checkwiki.py -d; dos2unix *)
$ hg ci -m "Downloaded changes 2008-05-09"
$ hg update -C repo-guide
$ hg merge wiki-guide

At this point, you will have only the new changes in your repository. Review them. If there's a need to "forget" some changes that only make sense on t.e.o, you can use hg revert trac/wiki/default-pages/TracTickets. If there's a typo or a wrong information, then take this occasion to fix it in the Wiki itself, then restart the above procedure (back on the "wiki-guide" branch, get new changes you just did on t.e.o, commit, switch to "repo-guide" and merge again).

Once you're happy, commit the changes both locally on the "repo-guide" integration branch and on the 0.11-stable branch.

Also, in the (rare) event of a Wiki page move, this has to be tracked manually both at the svn and at the hg level, e.g.:

$ cd trac/wiki/default-pages
$ svn mv TracWikiMacros WikiMacros
$ hg mv --after TracWikiMacros WikiMacros

New pages as well, once they have been added to the checkwiki.py script and downloaded:

$ cd trac/wiki/default-pages
$ svn add TracVersionControl
$ hg add TracVersionControl

Note: as I went through all those steps again, I noticed that there are actually quite few discrepancies at this point (i.e. near 0.11rc time) between the wiki guide and the default-pages in the repository.

This is not always the case, particularly when we're quite advanced in the release cycle of a new version and the online guide still documents the previous stable version. At those times, the above method is far from overkill, quite the contrary it makes it relatively easy to grab the useful contributions from the Wiki.

Note also that this method is scalable, and that it can easily be used for tracking several sources. For 0.12, we could track the toplevel changes ("wiki-guide" branch in the above), as well as the 0.12 specific pages (0.12/…, in another "wiki-0.12-guide" branch).

TracGuide pages on t.e.o

When migrating to a new major release

  • Prepare documentation below wiki:0.X/<page> by copying current TracGuide pages wiki:<page>
  • When the beta testing period begins:
    • rename the default pages to wiki:0.X-1/<page>, taking care of replacing dynamic content in TracAdmin, TracIni, TracSyntaxColoring (starting with 0.12) and WikiMacros by the output generated by Trac 0.X-1
    • rename the wiki:0.X/<page> pages to wiki:<page>

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.