2008-10-30 13 views
35

¿Cuál es la práctica recomendada? ¿Debería agregar mi subcarpeta debajo de la carpeta fitnesse al control de versión?¿Cómo agrego las páginas fitnesse al control de versiones?

Contexto: trabajando en un único proyecto de desarrollador de rieles para mascotas. Tengo mi proyecto de carriles bajo control de versiones (Subversion); sin embargo, mis páginas wiki de fitnesse se encuentran en la carpeta del programa fitnesse.

Fitnesse parece tener su propio control de versiones ... (Veo las cremalleras numeradas junto con cada una de las páginas de mi wiki) ¿Es confiable? ¿Dónde almacena las revisiones?

Respuesta

31

Utilice el interruptor de -d (que es sorprendentemente bajo perfil en una búsqueda en Google)

Fitnesse20081201>run -p 8080 -d c:/projects/MyProjectNeedsAcceptanceTests 

Esto creará una subcarpeta en la carpeta especificada llamada FitnesseRoot si aún no existe, con todo lo que necesita para ejecutarse.

Fitnesse debe estar activo. Cambia a tu navegador Adelante y crea tus páginas.

  • Tendrá una subcarpeta para cada página de Fitnesse que cree.
  • Cada carpeta tendría un content.txt (que es el contenido del wiki) y un properties.xml (que son las Propiedades de Fitnesse para esa página).
  • Todas las subpáginas serían subcarpetas debajo de la carpeta de la página principal.

Directorios y archivos ... Está todo listo para su primer check-in para el control de la versión. también configurar su control de versiones a ignorar ciertos tipos de archivos

  • FitnesseRoot/archivos
  • FitnesseRoot/ErrorLog
  • *.zip

(Los archivos .zip son la forma en Fitnesse realiza un seguimiento de las modificaciones en las páginas wiki .. un control de versión local a corto plazo. VCS como SVN, Git, cvs, etc .. debe hacerse cargo de esto para nosotros . Así que no es necesario comprobar en los archivos zip)

esperanza que tenía sentido .. Si no le sugiero que tome 15 minutos fuera para escuchar el siguiente screencast de UncleBob mismo
Fuente: Robert Martin - Version Control and Development Environment for Fitnesse

+0

en Windows 7, esto no funciona debido a las rutas de acceso para muchos archivos FitNesse siendo a tiempo. De todos modos para instalar FitNesse localmente y hacer que se refiera al conjunto de pruebas en una ubicación de carpeta que no esté en FitNesseRoot? – Shire

+1

@Shire: creo que lo que estás preguntando es posible. Pude separar los archivos comunes de FitNesse de mis archivos de proyecto. Los archivos comunes, como fitnesse-standalone.jar, están en una carpeta, 'C: \ FitNesse \'. Mis archivos de proyecto están en su propia carpeta que tiene 2 hijos: un archivo por lotes para iniciar FitNesse y la carpeta FitNesseRoot. El archivo por lotes tiene una línea: 'java.exe -jar C: \ FitNesse \ fitnesse-standalone.jar -p 8090'. Mi página de nivel superior en la carpeta FitNesseRoot proyecto define el camino corredor de prueba: 'definir TEST_RUNNER {C: \ FitNesse \ FitSharp \ Runner.exe}' –

+1

En relación con mi comentario anterior, las variables de entorno son útiles para evitar la adición de rutas de acceso a control de código fuente . Entonces, el comando en el archivo por lotes para iniciar FitNesse puede ser: 'java.exe -jar% FITNESSE_HOME% \ fitnesse-standalone.jar -p 8090 -e 0'. El TEST_RUNNER se puede definir como '! Define TEST_RUNNER {$ {FITSHARP_HOME} \ Runner.exe}'. FITNESSE_HOME es una variable de entorno que apunta a FitNesse root, la carpeta que contiene fitnesse-standalone.jar (en mi caso C: \ FitNesse). FITSHARP_HOME es una variable de entorno que apunta a la carpeta FitSharp (en mi caso C: \ FitNesse \ FitSharp). –

3

FitNesse almacena revisiones antiguas de cada página en un archivo zip en el mismo directorio que los archivos de la página. El nombre de archivo zip marca la marca de tiempo de la revisión. Funciona de manera similar a la historia de wikipedia, pero no con control de versión de pleno derecho.

En nuestra empresa queríamos una configuración donde cada vez que comprobamos una revisión (posiblemente antigua) de la fuente, también verificamos las pruebas de FitNesse que pasan para esa versión específica.

Por lo tanto, instalamos FitNesse (el directorio fitnesse, incluyendo el FitNesse ejecutable y el directorio FitNesseRoot) dentro de nuestro árbol de código fuente en el control de versiones, el establecimiento de una regla para no importar * .zip en el directorio FitNesseRoot (ya que tenemos el control de versiones para mantener la historia para nosotros y no los necesitamos).

Esto funciona excelente con SCM sanos (utilicé svn w/svn-tortoise).

Cuando nos cambiamos al control de origen de Microsoft Foundation Server tuvimos muchos problemas con el flujo de trabajo checkout-edit-checkin. Por otra parte, este flujo de trabajo es simplemente una mala idea en general, y solo debe ser utilizado por locos fanáticos de control.

(edit: respondido a la pregunta del comentarista)

+2

Utilice la opción -e 0 para evitar archivos zip. –

+0

Hay un complemento para la integración de Microsoft TFS: http://fitnessetfs.sourceforge.net/ aunque no lo he probado. – GarethOwen

+0

otro plugin para la integración de TFS: http://code.google.com/p/tfscmsystem/ – GarethOwen

24

Si usa el control de versiones con Fitnesse, no necesitará el archivo comprimido para cada revisión. Utilice la opción -e 0 para evitar que los archivos zip que se creen:

java-jar fitnesse.jar -p 8001 -e 0

+0

¡Gracias por esta información adicional! Los archivos zip me molestarían por completo. – guerda

2

Desde el lanzamiento de 20.090.214 Fitnesse, se incluye la integración CM, ver guía del usuario para más detalles. http://fitnesse.org/FitNesse.UserGuide.SourceCodeControl

El complemento git hub se incluye con la distribución fitnesse.

veo un plug in para forzosamente en http://code.google.com/p/perforcecmsystem/, pero no tengo esta configuración para mi equipo todavía.

+4

Sí, pero los documentos no te dicen cómo usarlo. Simplemente te dice cómo configurarlo. – zumalifeguard

Cuestiones relacionadas