Pregunta

Dirijo mi blog usando Wordpress y recientemente me convertí en grande creyente en SCM.Realmente quiero poner mi sitio en subversión (eso es lo que estoy usando ahora, tal vez git venga más adelante) pero no puedo pensar en la forma correcta de hacerlo todavía.Básicamente, mi repositorio está configurado actualmente con un directorio de 'implementación' y un directorio de 'recursos', y la implementación contiene lo que eventualmente se publicará en el sitio en vivo.Quiero poder obtener una vista previa de mi sitio localmente sin tener que cargarlo en el servidor por razones obvias.Sin embargo, para hacer esto descubrí que necesitaba instalar Wordpress localmente (no simplemente copiar el sitio remoto a mi caja local).Esto me lo dijeron en Wordpress.org.

Esto plantea el problema de poder usar SCM con la instalación porque necesito actualizar mi sitio local de vez en cuando, pero esto genera inconsistencias con Subversion porque no puede rastrear lo que sucede porque un sistema externo está alterando su repositorio. estructura.Eso simplemente no funcionará.

Mi inclinación inicial es intentar simplemente SCM la información de mi tema, ya que esto es realmente lo único que "poseo", mientras que todo lo demás es realmente solo parte de mi plataforma (no es diferente a Apache o PHP, en realidad).Sin embargo, ahí es donde mi comprensión se rompe.¿Cómo puedo seleccionar SCM solo como parte de esa estructura de directorios y cómo puedo mantener la configuración de Wordpress en la que estoy?

De todos modos, estoy seguro de que otras personas han abordado esto y la solución probablemente sea aplicable a muchas aplicaciones similares a Wordpress (Drupal, phpBB, phpMyAdmin, etc.).¿Entonces, cómo lo haces?

¿Fue útil?

Solución

En realidad, no es tan difícil de hacer, pero lo dividiré en algunas sugerencias aquí.Lo que estás describiendo es más o menos un directorio de "proveedor drop".Aquí es básicamente donde mantienes el código en SVN, pero reemplazas el contenido con el material más nuevo a medida que aparece.

Lo que deberías empezar es con un directorio vacío.Configure un repositorio SVN y luego realice una verificación SVN en el directorio vacío (aún estará vacío, excepto que se agregará un directorio .svn oculto).A continuación, instale WordPress aquí normalmente y luego agregue sus archivos a svn.Probablemente pueda simplemente "svn add *", pero tenga cuidado y elimine todo lo que no desee versionar (directorios de carga/temp/caché, si corresponde).También puede usar la propiedad svn:ignore para indicarle que ignore ciertos directorios o tipos de archivos, si lo desea.Ejecute "svn stat" para mostrarle qué se va a registrar, etc., y una vez que todo esté bien, confirme (svn commit) y comience a trabajar desde allí.Ahora tienes una instalación básica de WordPress en SVN.

Mientras trabaja y realiza cambios, comprométalos.

Cuando llegue el momento de actualizar, simplemente reemplace WordPress por encima del que tiene.Asegúrese de que cuando reemplace directorios, reemplace el contenido y no todo el directorio en sí.No querrás perder la carpeta .svn oculta en cada carpeta porque eso es lo que arruinará la subversión.Haga un svn stat y/o svn diff para descubrir qué ha cambiado, en todo caso, y principalmente qué se ha agregado recientemente.En este punto, puedes volver a comprometerte.

Para implementar en su sitio de producción, puede realizar una exportación svn o realizar un pago regular en el directorio web.Si realiza una compra, asegúrese de actualizar solo cuando esté listo para implementar.

Otros consejos

Este es el método que estoy probando.La configuración lleva algo de tiempo, pero luego (en teoría) deberías tener una instalación preparada para el futuro:

Instalar WordPress de la manera correcta

También mire svn:externals para obtener actualizaciones de complementos:

Utilice svn:externals para instalar complementos de WordPress

Creo que la parte de actualización puede ser incluso un poco más fácil que eso;Hago esto con la versión más actual de 2.5 y 2.6, así como con la revisión principal de WP.

Dado que Wordpress ofrece todo su material como repositorios de Subversion, obtener la revisión actual de una etiqueta estable es tan fácil como crear el directorio del blog y luego

# svn co http://svn.automattic.com/wordpress/tags/2.6.2/ (replace the current rev here for the first check out).

Cuando haya una actualización disponible, simplemente navegue hasta el directorio de su blog y ejecute

#svn sw http://svn.automattic.com/wordpress/tags/2.6.3/ (or whatever wordpress rev you're updating to)

Entonces lanzarlo a su sitio de producción es solo una exportación, como gregmac mencionaSin embargo, no creo que esto responda a su pregunta real, que interpreto como "¿Cómo conservo mis elementos personalizados en SCM y al mismo tiempo puedo actualizar Wordpress?".Su intuición sobre qué directorios abordar es bastante acertada (las cosas de su blog personal (temas, pplugins) estarán en wp-content, por lo que solo debería necesitar poner eso en subversion) pero no soy lo suficientemente competente con subversion. para indicarle cómo colocar el directorio en su propio repositorio y al mismo tiempo poder confiar en el repositorio de Wordpress para las actualizaciones.Mi "SCM" para esos archivos en mi sitio es una copia fuera del servidor del directorio wp-content.

Quizás desde ese punto de vista la respuesta de Gregmac funcione mejor para usted.

Mi inclinación inicial es intentar simplemente SCM la información de mi tema, ya que esto es realmente lo único que "poseo", mientras que todo lo demás es realmente solo parte de mi plataforma (no es diferente a Apache o PHP, en realidad).Sin embargo, ahí es donde mi comprensión se rompe.¿Cómo puedo seleccionar SCM solo como parte de esa estructura de directorios y cómo puedo mantener la configuración de Wordpress en la que estoy?

Así es exactamente como controlo las versiones de mi blog.Descubrí que funciona muy bien.Generalmente, si estás editando archivos de WordPress, lo estás haciendo mal y te verás perjudicado cuando llegue el momento de actualizar.

Para simplificar esto, uso TortoiseSVN.Navegué a mi directorio /wp-content/themes/ en el Explorador de Windows, hice clic derecho en el directorio de mi tema personalizado y elegí importar desde el menú contextual.Después de importar todos los archivos existentes, realicé una verificar en ese directorio y todo estaba configurado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top