Git plugin for FitNesse
Java
Latest commit 2ed7dbd Jun 19, 2016 @amolenaar amolenaar Update readme. Closes #2 and #3
Permalink
Failed to load latest commit information.
FitNesseRoot [FitNesse] Updated files: ./FitNesseRoot/GitFileController/SetUp/cont… Aug 19, 2015
gradle/wrapper Fix IntelliJ build. Dec 30, 2015
src/fitnesse/wiki/fs Update code for FitNesse 20160618 Jun 19, 2016
test/fitnesse/wiki/fs Update code for FitNesse 20160618 Jun 19, 2016
.gitignore
LICENSE.txt Add license. Fixes #4. Jun 19, 2016
README.md Update readme. Closes #2 and #3 Jun 19, 2016
build.gradle set source compatibility to 1.7 Jun 19, 2016
gradle.properties set source compatibility to 1.7 Jun 19, 2016
gradlew Initial checkin, from FitNesse 20150814. Aug 17, 2015
gradlew.bat Initial checkin, from FitNesse 20150814. Aug 17, 2015
plugins.properties Depend on snapshot FitNesse w/o Git files. Aug 19, 2015

README.md

FitNesse Git Version Controller

maven central

This project is a plugin module for FitNesse.

For those of us who fancy a more tight integration with their source control system there is a Git based version controller available. This version controller creates a commit for every page change. The .RecentChanges page can also be tailored to show the Git version history, instead of the default file based history.

The latest version is available from Maven Central. You can download the fitnesse-git-plugin-X.Y-all.jar file and place it in a directory named plugins next to your FitNesseRoot, or reference the plugin from a build tool.

To configure the Git version controller, add the following to your plugins.propeties:

VersionsController=fitnesse.wiki.fs.GitFileVersionsController
RecentChanges=fitnesse.wiki.fs.GitFileVersionsController

The result is that the files are managed by Git and the Recent changes page is showing those changes.

This version controller takes into account ignored files. If you change a file that is listed as ignored (normally in a .gitignore file), it will not be added to version control.

FAQ

Which files must be under version control ?

At least your `FitNesseRoot directory must be under version control. I tend to ignore the following files:

  • FitNesseRoot/FitNesse/
  • FitNesseRoot/RecentChanges/
  • FitNesseRoot/TemplateLibrary/
  • FitNesseRoot/files/testResults/

Will FitNesse push automatically the changes made in the Git repository?

No. FitNesse will not push the changes. You'll have to do that yourself, since there's a good chance that things need to be merged.

Will FitNesse pull automatically the changes made in the Git repository? (otherwise is there any way to do that)

No. You'll have to do that yourself.

What happens in case of merge conflict?

Since FitNesse does not pull or push changes, it does not have to deal with merge conflicts. It's up to the user to resolve those.

Can I turn of auto committing?

If you do not set the VersionsController in your plugins.properties file, FitNesse will not commit on every page change, and you'll have to commit manually. You can still set the RecentChanges property as described above to view changes in your repository.

That said, the default version controller is one that creates zip files for every commit, which is something you do not need then. Either provide the option -e 0 to the command line or configure the versions controller as follows:

VersionsController=fitnesse.wiki.fs.SimpleFileVersionsController

This will simply store the pages to disc, but will not do any version management.

What are the properties I can use to configure the plugin?

At this point there are no properties apart from the ones mentioned above.

How do I control the commit message? I'd like to put more than a list of changed files

There is currently no way to modify the commit message. PR's are welcome :)