svn - subir - ¿Qué significa el símbolo de estado de Subversion "~"?
svn subir cambios (11)
Obtengo un símbolo de tilde cuando hago un svn status
.
Aquí está el resultado del proyecto después de editarlo en XCode.
svn status
M build/Currency_Converter.build/Currency_Converter.pbxindex/imports.pbxbtree
M build/Currency_Converter.build/Currency_Converter.pbxindex/pbxindex.header
M build/Currency_Converter.build/Currency_Converter.pbxindex/symbols0.pbxsymbols
~ build/Currency_Converter.build/Currency_Converter.pbxindex/strings.pbxstrings
M main.m
//more changed files
¿Alguna idea de lo que eso significa? Parece que no puede encontrarlo en google o en cualquiera de las hojas de trucos svn.
Curiosamente, solo edité main.m, pero hay muchos archivos modificados. No sé por qué sería eso. ¿Alguien tiene consejos para trabajar con SVN y XCode? ¿Debería solo poner mis archivos fuente bajo control de versión?
Editar: - causado por un archivo que ya estaba bajo el control de la versión siendo reemplazado por un archivo de otro tipo. En este caso, strings.pbxstrings solía ser un archivo y ahora se convirtió en un directorio. La moraleja de la historia es que no pongas tu carpeta de compilación en control de versiones.
A menudo tuve esto al actualizar módulos en (por ejemplo) Joomla !, Wordpress o Drupal. En ocasiones, el proceso de actualización elimina el directorio .svn.
# rename updated directory
mv foo foo.new
# restore the old directory
svn up foo
# merge / update the old directory with new items
# notice that the above command will preserve the obsolete files
# so you should do a diff -r in order to remove them
cp -r foo.new/* foo
# Add files commit, etc
svn add foo/*
svn delete foo/xx
svn commit -m "updated module"
De
svn help status
''~'' elemento versionado obstruido por un elemento de un tipo diferente
Solo he visto esto donde los permisos de los archivos han cambiado y svn no tiene acceso de ejecución en él. Creo.
Espero que esto ayude.
El Libro SVN dice:
El elemento tiene una versión como un tipo de objeto (archivo, directorio, enlace), pero ha sido reemplazado por un tipo diferente de objeto.
Entonces, ¿era originalmente un único archivo, pero lo cambiaste a un directorio, o algo así?
Esto es lo que hice:
Si la carpeta es Prueba
- Prueba de prueba mv mv
- svn eliminar Prueba
- Prueba mv Test1
Esto puede suceder cuando elimina la carpeta .svn de una carpeta (por ejemplo, cuando elimina un directorio y luego crea el mismo directorio de nuevo), o cuando reemplaza un directorio con un enlace simbólico o un archivo con el mismo nombre .
Suponiendo que se trata de una carpeta llamada carpeta A, puede solucionar esto emitiendo los siguientes comandos en la carpeta principal:
$ find a-folder -type d -name ''.svn'' -print0 | xargs -0 rm -Rf
$ svn up --force .
svn: Directory ''logs/.svn'' containing working copy admin area is missing
$ svn up --force .
E a-folder
...
Updated to revision n.
Y luego es cuestión de agregar / eliminar svn y volver a comprometer los cambios
La forma más fácil de arreglar esto es hacer una copia de seguridad, luego eliminar la carpeta o archivo que tiene este estado y luego hacer "svn up": no es necesariamente una carpeta reemplazada por un archivo, puede ser que la carpeta .svn esté perdida o corrupta. .
Solo quiero compartir que este es un problema frecuente al instalar extensiones dentro de Joomla. Las extensiones se instalan a través del CMS y son propiedad de apache sin escritura grupal. En general, el siguiente paso es agregar los archivos al SVN, pero si no sudo o cambia el archivo permanente, entonces SVN falla cuando no puede escribir el directorio .svn. Aquí está la solución fácil.
mv foo foo-bak
svn up foo
svn revert foo
# just for good measure. Foo should not show up in the two following commands.
ls | grep foo
svn st | grep foo
mv foo-bak foo
svn add foo
También puede ser cuestión de enlaces simbólicos en Windows. Cuando ingresas un enlace simbólico en SVN y luego lo revisas en Windows, los enlaces se cambian a archivos normales y esto también se informa como ~.
Tenía un problema similar, SVN se quejaba de un bloqueo. Esto es lo que hicimos:
- Copia de seguridad de los archivos
- Se eliminó el directorio en cuestión con rm -r (linux)
- Ran svn limpieza en el directorio
- Ran svn up --force en el directorio
svn delete --keep-local x
svn commit -m "del x"
svn add x
svn commit -m "blah"
~ versioned item obstructed by some item of a different kind
Second column: Modifications of a file''s or directory''s properties