Conflicto por la propiedad svn: ignorar?

¿Cómo resuelvo un conflicto para la propiedad svn:ignore ?

Ignoré algunos files en mi repository local usando el siguiente command:

 svn propedit svn:ignore . 

Cuando ejecuté svn update , vi el siguiente conflicto:

 Conflict for property 'svn:ignore' discovenetworking on '' 

Cuando ejecuto svn diff , veo las siguientes diferencias:

 Property changes on: . ___________________________________________________________________ Modified: svn:ignore - + cache/* log/* 

¿Cómo puedo resolver este conflicto? Quiero eliminar mis modificaciones locales para svn ignore .

Los attributes de file son como los contenidos de un file en Subversion. Ellos también requieren un compromiso para ser modificado y puede estar en conflicto.

Haz un svn status y verás más de una descripción del conflicto. Hay tres posibilidades:

  • Edición entrante y edición local : tanto usted como la versión anterior editaron este atributo. Debería haber sido capaz de hacer una fusión.
  • Agregación entrante y local : agregaste este atributo, y también lo hizo otra persona.
  • Eliminación entrante y edición local o agregue : Guerras de revisión: este atributo estaba en una revisión previa del repository y esa persona eliminó este atributo. Lo has editado.

Hay dos forms de resolver este problema:

  • Revertir en este atributo. Si lo agregó, haga un svn propdel --force en él. Como este es un directory, no hagas un svn revert . porque revertirá todos los cambios en este directory. no quieres hacer eso Solo revierte este atributo. Quizás puedas revertir solo el atributo haciendo un svn revert --depth=empty . Nunca lo intenté.
  • Haz un svn resolved . . Esto marcará el conflicto en . como resuelto. No está necesariamente resuelto, pero al less puedes marcarlo como tal y arreglarlo más tarde.

Si revirtió el cambio de propiedad y resolvió el conflicto de esa manera, realice una svn update y vuelva a editar la propiedad. Si hiciste un svn resolved . sobre el conflicto, entonces eche un vistazo al valor de la revisión anterior haciendo un svn propget -rPREV svn:ignore . . De esta forma, puede ver lo que la revisión previa estableció, y tomar eso en count. Podría ser un problema de order simple. Por ejemplo, la revisión anterior lo configuró para:

 target build.properties 

Lo configuraste para:

 build.properties target 

Al final, ambos tienen el mismo valor. O bien, podría ser que la revisión anterior tuviera un directory de nombre de file que no tenía. Por ejemplo, se estableció en:

 *.log 

y lo configuras para:

 build.properties target 

Probablemente quieras configurarlo para:

 build.properties target *.log 

Primero resuelva el conflicto, realice una actualización y luego ajústelo al valor que necesita.

svn:ignore es una propiedad de la carpeta principal que contiene los files que ha configurado para ignorar. Es esa carpeta, por lo tanto, que está exhibiendo un conflicto.

Plan A La solución más fácil es eliminar esa carpeta que contiene y luego hacer una actualización de SVN para restaurarla tal como existe en el repository.

Plan B Si eliminar la carpeta no es una opción para usted por algún motivo (por ejemplo, si tiene algunos files modificados que desea conservar), cambie el nombre de la carpeta (por ejemplo, a su yourfolder-TEMP ) y vuelva a hacer una actualización de SVN. Esto recrea su yourfolder sin conflicto en las properties de svn. Ahora copy los files que necesites de yourfolder-TEMP a tu yourfolder y luego borra la carpeta anterior una vez que estés seguro de que has conservado lo que necesitas.