Faltan advertencias de archivo que aparecen después de la actualización a Xcode 4

166

Recientemente actualicé a Xcode 4 (que es una gran actualización) pero ahora recibo algunas advertencias que no había recibido antes. He revisado foros y otras publicaciones de SO, pero no he encontrado cómo solucionarlo.

Las advertencias que recibo son advertencias a nivel de proyecto para un archivo que falta. Los archivos que se muestran se han eliminado de la vista del navegador del proyecto (también se elige eliminar del sistema de archivos). Sin embargo, todavía parece aparecer como vinculado de alguna manera al proyecto, a pesar de que el archivo ya no aparece en el navegador de proyectos.

Miré a mi alrededor y no encontré cómo puedo decirle a Xcode que estos archivos se han ido, deja de darme advertencias. Aquí hay una captura de pantalla que obtengo en Xcode4, pero nunca en Xcode 3.

Falta el archivo de advertencia Xcode 4

Scott
fuente
Si fuera usted, siempre importaría sus archivos a su proyecto en lugar de mantener un enlace a ellos en su disco. Realmente te ahorra dolores de cabeza si mueves los archivos más tarde.
sudo rm -rf

Respuestas:

297

Estas soluciones son demasiado difíciles. El problema es que ha eliminado el proyecto del sistema de archivos pero SVN todavía cree que están allí. Separar el proyecto de SVN funcionará, lo mismo para eliminar carpetas .svn ¡PERO eso va a destruir tu repositorio!

Es mucho más fácil abrir la consola, busque su carpeta ("cd / pathToYourFolder") y escriba el siguiente comando:

svn delete nameOfMissingFile

Si el nombre de su archivo perdido incluye el carácter @ (p. Ej., Ilustraciones específicas de la retina), asegúrese de que el nombre del archivo termine con el símbolo @:

svn delete [email protected]@

Para repositorios GIT:

git rm nameOfMissingFile

Sulthan
fuente
20
Tuve el mismo problema y lo resolví a través de la Terminal usando:svn rm --force nameOfMissingFile
ReachWest
1
Esta es una mejor respuesta que la marcada como correcta. Eliminar carpetas SVN de un proyecto bajo control SVN puede ser todo un mundo de dolor. Lo mejor es usar SVN para resolver el problema. Seguí esta respuesta para resolver mi propio problema, sin embargo, tuve el lujo de Cornerstone. Pero por lo demás genial. Gracias :)
jowie
1
Esto no parece estar funcionando para mí. Volvería a agregar el archivo y luego lo eliminaría, pero la misma advertencia aún aparece en la compilación. Incluso intenté agregar los archivos nuevamente al proyecto y luego eliminarlos. Sigue siendo el mismo problema.
Yenyi
10
Funcionó para mí, pero primero tuve que crear un archivo ficticio allí antes de poder eliminarlo si usaba svn. Por lo tanto, debe tocar touch nameOfMissingFile y luego svn eliminar nameOfMissingFile --force
Maciej Swic
9
Además, tuve que salir y matar a xcode para que el problema desapareciera.
Twilite
55

En XCode 4.2. + (Posiblemente en 4+) puede evitar el trabajo manual y la línea de comandos:

  1. Seleccionar proyecto Navegador de proyectos (Comando - 1)
  2. Elija Archivo - Control de origen - Menú Confirmar
  3. En el panel izquierdo, en la parte superior tiene tres iconos, seleccione el medio - Vista de archivo
  4. Verá la lista de todos los archivos faltantes.
  5. Seleccione todos ellos y haga clic derecho - Descartar cambios. Esto restaurará todos los archivos eliminados del servidor SVN y los colocará en su carpeta local SVN
  6. Arrastre y suelte esos archivos en el proyecto XCode (elija Ordenar-Fecha de modificación en el Finder para encontrarlos fácilmente)
  7. Elimine esos archivos correctamente a través de XCode (seleccione archivos y haga clic con el botón derecho en Eliminar)
  8. Comprometer el proyecto

Y eso es :)

¡Todas esas advertencias desagradables se han ido!

Además para Xcode 6+: Después de seleccionar el 'icono del medio' de la vista de archivo, puede hacer clic en la casilla de verificación a la izquierda y esto los marcará como eliminados para SVN la próxima vez que se comprometa.

Alex
fuente
1
Solo era necesario hasta el paso 5. En realidad no tenía los archivos en SVN.
Darren Reely
Refactoré un proyecto, que afectó a otro proyecto porque tenía código compartido, y XCode se quejaba de la falta de archivos relacionados con SVN. Me tomó un tiempo descubrir que era un problema de SVN, después de rastrear manualmente el código fuente del proyecto xml y no encontrar nada.
danfordham
50

En Xcode5 y Xcode6, los siguientes pasos me funcionaron

Xcode-> Preferences-> Source Control->uncheck Enable Source Control

luego

Xcode-> Preferences-> Source Control->check Enable Source Control

Shamsudheen TK
fuente
En Xcode 8.3.2, esto funcionó durante unos diez minutos y luego volvieron todas las advertencias :(
Bob
27

Tiene algo que ver con las carpetas ocultas .svn en su proyecto.

Resolví este problema separando el proyecto de svn.

a. Abra la terminal y escriba los siguientes comandos:

defaults write com.apple.finder AppleShowAllFiles TRUE


killall Finder

Esto le permitirá ver las carpetas .svn dentro de su proyecto

si. Elimine todas las carpetas .svn en las carpetas / subcarpetas de su proyecto

C. Vuelva a habilitar los archivos ocultos:

defaults write com.apple.finder AppleShowAllFiles FALSE

killall Finder

re. Ahora su proyecto está separado de svn y ya no tiene problemas de compilación.

mi. Vuelva a agregar su proyecto a svn o lo que sea.

Soy un principiante y esta fue mi forma de tratar ese problema, así que no estoy seguro de que sea la mejor opción. De todos modos, el problema fue resuelto.

Robert Neagu
fuente
3
No es una buena idea jugar con carpetas y archivos ocultos SVN, podría terminar en un lío enredado de SVN. Lo mejor es usar el comando svn delete para ordenar los archivos que faltan.
jowie
Este es el camino que realmente terminé tomando. Sí, elimina toda la información SVN guardada, pero eso fue algo que otra persona había puesto en un proyecto en particular que no quería conservar. Quería comenzar de nuevo y no me importaba mantener el control de versiones particular.
Scott
Acabo de "killall Finder" relanzándolo. El problema se ha ido ahora. Gracias
JHHoang
9

Esto funcionó para mí:

File-> Source Control->Hide Working Copy Status

luego

File-> Source Control->Show Working Copy Status

Tyson
fuente
6

Lo resolví de la siguiente manera:

  1. Verifique la ruta al archivo que falta.
  2. Cree archivos faltantes en ubicaciones apropiadas dentro del directorio de su proyecto
  3. Agréguelos a su proyecto usando "Agregar archivos a" proyecto "" y cree solo referencias (no copie los archivos)
  4. Las advertencias deberían desaparecer en este punto.
  5. Desde Xcode, elimine los archivos asegurándose de hacer clic en "Eliminar" en lugar del predeterminado "Eliminar solo referencia"
  6. Ya terminaste
askorico
fuente
4

Tuve ese error y no encontré otra forma de resolverlo que no sea crear un archivo vacío en esa posición y luego eliminarlo. Sucedió con los archivos que había eliminado del proyecto, y la limpieza, construcción, eliminación manual del directorio de datos derivados tampoco funcionó. Creo que es un error y que puede ser bastante doloroso si ocurre con más de unos pocos archivos.

Jano
fuente
Triste, esperaba que hubiera una manera más fácil de solucionar este problema. Tengo alrededor de 20 archivos, por lo que crear y luego eliminar será bastante difícil.
Scott
4

También tuve este problema y, como ha descrito user151215, ES debido a las carpetas .svn.

Tenía una carpeta antigua .svn, no en el proyecto en sí, sino en la carpeta principal del proyecto.

la carpeta ofensiva .svn tendrá un archivo de entradas que contiene los archivos que faltan. Por lo tanto, puede usar Teminal y buscar una cadena de nombre de archivo faltante, por ejemplo grep -lir BagController.m yourRootDevDir / *

más simple que habilitar archivos ocultos en el buscador, solo use el terminal. cd al directorio relevante, y mv .svn ~ / .Trash

¡Espero que esto ayude!

Nick H247
fuente
4

Vaya al directorio apropiado y ejecute:

svn revert fileName
Shaun McCarthy
fuente
3

Utilicé la siguiente forma para tratar el problema:

Inicie el terminal y el CD en el directorio del proyecto. (por ejemplo: cd /Users/Mauro/Src/Pippero-1.2/)

Luego ingrese el siguiente comando:

find . -name .svn -exec rm -rf { } \;

el comando buscará recursivamente archivos (y carpetas) llamados .svn y los eliminará

Mauro Delrio
fuente
esto no funcionó para mí, pero ir a cada directorio y eliminar las carpetas individuales .svn sí. ¡Qué grande para ti, mi hombre!
gonzobrains
2

Estoy usando svn y logro resolver este problema

svn delete pathToMissingFile

que eliminará la copia local svn del archivo faltante, así como la copia en el repositorio remoto.

o

svn revert pathToMissingFile

lo que va a descartar los cambios en el archivo faltante, lo que significa volver a colocar el archivo faltante donde estaba.

Jibeex
fuente
1

Todo lo anterior no funcionó para resolver el mismo tipo de problema que tuve. Al hacer una búsqueda, entendí que el problema que tenía estaba relacionado con los conflictos SVN.

Descubrí que había conflictos al usar la línea de comando:

svn status

Luego, todos los archivos en conflicto tuvieron que resolverse

svn resolved filename1 filename2 ...

Una vez que se resolvieron los conflictos, las advertencias desaparecieron de Xcode

gfrigon
fuente
1
  1. Comprométete y empuja tus cambios.
  2. Reiniciar Xcode.
malicioso
fuente
1

Es muy simple,

Xcode -> Preferences -> Source Control -> uncheck Enable Source Control

y no te olvides de hacer cmd+shift+k

Kavin Kumar Arumugam
fuente
0

Presione Cmd + 7 después de la compilación y seleccione la última acción de compilación. ¿Se parece un poco al viejo Xcode? :) ingrese la descripción de la imagen aquí

Knuku
fuente
Sí, se parece al antiguo XCode, pero no resuelve el problema con el nuevo XCode que dice que me faltan archivos. Me gusta la vista, pero parece que solo está enmascarando el problema con XCode.
Scott
0

En mi caso

  1. Simplemente abro SvnX.
  2. Todos los archivos que faltan están marcados en rojo. Seleccionarlos y eliminarlos.
  3. Entonces todas las advertencias de Xcode desaparecieron.
Apoc
fuente
0

La respuesta de Alex solucionó mi problema de archivos faltantes.

Tuve otro problema (aunque no está relacionado con la falta de archivos, creo que este sería el mejor tema)

  1. Necesitaba copiar un conjunto de imágenes en mi proyecto.
  2. Simplemente creé un grupo (aunque sé que ese grupo no se asigna a la carpeta física) y arrastré las imágenes al grupo (opción seleccionada "Copiar a ...").
  3. El estado SVN los mostró a todos en "A".
  4. Ahora, cuando entré en el sistema de archivos real, descubrí que todas las imágenes se copiaron en la carpeta raíz de mi proyecto. Como no se veía bien, creé una carpeta física dentro de la carpeta de imágenes en mi proyecto y copié todas las imágenes agregadas allí.
  5. SVN luego mostró todos los archivos en rojo.
  6. Eliminé las referencias de todos los archivos rojos.
  7. Con la opción "Agregar archivo", agregué las imágenes de la carpeta recién creada.
  8. Ahora SVN no muestra el estado de los archivos como "A", y de ninguna manera puedo registrarlos.
  9. Probé muchos pasos como tirarlos a la basura y agregarlos nuevamente desde una carpeta diferente, etc., pero no hubo suerte.

Arregle esto yendo directamente al repositorio, cree un nuevo directorio bajo imágenes para que la carpeta física esté ahora en el servidor SVN

Luego tomé una actualización de la fuente y obtuve el directorio recién creado dentro de mi copia de trabajo (aunque no se agregó al proyecto).

Luego copié las imágenes en ese directorio y las agregué al proyecto usando la opción "Agregar archivo", lo que me devolvió el estado "A" y pude registrar los archivos.

Solo quería compartir esto ..... porque me tomó mucho tiempo.

-anoop

anoop4real
fuente
En este caso, vaya a Terminal y a la raíz de su proyecto. Cree la carpeta con "svn mkdir name_of_the_folder". Arrastre y suelte archivos con Finder desde el nombre_de_la_carpeta a su proyecto (o carpeta para agregar todos los archivos). El problema es cuando crea una carpeta sin la carpeta "svn mkdir" no se agrega al SVN.
Alex
0

No elimine el archivo directamente en su carpeta .xcode. Eliminar archivos del navegador de proyectos xcode. (Haga clic derecho en ese archivo y elija mover a la papelera).

Ahora, para solucionar este problema, agregue los mismos archivos en la misma ubicación. Y eliminar del navegador del proyecto.

Gowtham R
fuente
0

No tuve que hacer nada. Cometí mi código y lo empujé hacia arriba. Apagó XCODE. Lo bajé nuevamente y todo simplemente funcionó.

VBaarathi
fuente
0

Visión general:

En mi caso hubo un proyecto xcode llamado Sampleen la siguiente ruta de carpeta /folder1/folder2.

Había un .gitarchivo dentro del /folder1/folder2/Sample/cual se esperaba.

Causa principal:

Había otro .gitarchivo en el directorio principal ( /folder1) que causaba el problema. Las carpetas pueden haberse eliminado dejando atrás el .gitarchivo

Solución

rm -rf /folder1/.git

Pista

Si mover su proyecto a una ubicación completamente nueva soluciona el problema donde no había ningún .gitarchivo en los directorios principales en la jerarquía, entonces es una pista de que la solución anterior podría funcionar.

usuario1046037
fuente