FitNesse and Perforce

Perforce is a pessimistic locking version control system(all checked-in files are read only). FitNesse requires the files are open for edit while you make changes. It's a pain when you see "no permission" error until you save you changes, especially for QA folks who just transferred from manual testing to automated testing.

To solve this issue, we added a link in the FitNesse website, which allows them to make all the FitNesse "open for edit":

1. Implement Responder class(let's name it P4EditResponder) in FitNesse, and include it in Fitnesse classpath. And the code can be as simple as one line:
Runtime.exec("p4 edit //FITNESSE_ROOT/...");

2. Add plugins.properties in the FitNesse working directory, including the following item:
Responders=p4edit:P4EditResponder

3. Now you can use it in your FitNesse page:
[[Open For Edit][?responder=p4edit]]

4. Done! It's simple like that.

Check out http://fitnesse.org/FitNesse.PluginUsage if you still have issue.

I still have some issues with FitNesse and Perforce, any help is appreciated:

1. How to add a directory recursively into Perforce using windows command line? I would like to add another link on FitNesse page to allow QA folks to add new files into Perforce and checkin all the changes.

2. How does Perforce ignore works? I would like to ignore FitNesse version control and not checking in the zip files generated by FitNesse version control. Or just disable version control when FitNesse generates a new page.

1 comment:

JW said...

Somehow, after I checked in all the files. I could not start the Fitnesse server. It complained about "properties" file access denied. I guess I should make my build script smart enough to open this file for edit before FitNesse server is started.