2010-02-15 15 views
6

Estoy en proceso de integrar el sistema de control de versiones GIT en 3ds max para controlar el control de versiones de archivos .max.Copia de seguridad estilo Git de archivos binarios

He probado git con archivos máx. Durante varias semanas y he descubierto que satisface mis necesidades, pero, de todos modos, git es un poco complicado para este tipo de tareas. Lo que estoy buscando es el programa que funciona igual que (bueno, casi) git, pero:

  1. nace de forma natural programa de Windows - git fracasó varias veces en mi red compartida carpetas y destruyó mis archivos binarios max . Este es el problema principal, y no sé cómo resolverlo.
  2. no procesa (ni siquiera intenta) el contenido del archivo. Creo que eso acelera el flujo de trabajo.
  3. tiene una interfaz cerca de TortoiseGIT.

lo que este software tiene que tener es:

  1. cometió y cronológicamente los mandatos
  2. apoyo
  3. ser distribuido y no orientada como Perforce servidor de ramificación.

Probé Mercurial, pero es muy lento en archivos binarios grandes. Si alguien sabe cómo acelerarlo (al deshabilitar la administración de contenido, supongo) y tiene TortoiseHg completamente funcional, cualquier información sería muy apreciada.

¡Gracias!

Respuesta

0

En cuanto a git destruir sus archivos binarios max,
¿Ha definido core.autocrlf=false?

GIT sería un control fuente muy inútil si destruye las fuentes.
This question por nuestra propia cuenta SO profundiza en el manejo de las diferencias con respecto a CR & LF en GIT.

+0

No, no lo hice. La falla ocurrió dos o tres veces, cada vez en una carpeta compartida y no pude reproducirla. El personal de nuestra empresa es principalmente artistas, por lo que debería tener plena confianza en un software para alentar a las personas a usarlo. Si este tipo de falla ocurre con el archivo de alguien, sería un desastre total. Para ser verdad, tengo miedo de git un poco. Es por eso que estoy buscando alternativas. – sergo

+0

Dejaré la respuesta porque su comentario podría ser valioso para otros. Para todo lo demás, VonC está mucho mejor ubicado para ayudarlo con lo que necesita (o no necesita). –

10

archivos binarios tienen una especie de relación ambivalente con VCS porque:

  • que no se fusionan (por lo que el todo "el apoyo de ramificación" no es tan interesante)
  • no lo hacen diff muy bien (es decir, el almacenamiento de su historia no es muy compacto)
  • por lo general pueden ser generados
  • o que se pueden recuperar de otro tipo de repositorios

Los archivos binarios son parte de Git limits ya que tienden a ralentizar todo el flujo de trabajo, y lo hacen not scale in size (el repositorio se vuelve demasiado grande para administrar/respaldar de manera eficiente).

Entonces la pregunta es: ¿podría almacenar esos archivos algún otro repositorio que un VCS?
A Maven repo quizás (administrado por un gestor de repo como Nexus, no distribuido exactamente, pero hecho para referenciar la versión precisa de cualquier tipo de conjunto de archivos).


Jakub Narębski (real Git contributor) señala con razón a un proyecto Git tenedor capaz de gestionar más archivos grandes de manera eficiente.

git-bigfiles alt text http://caca.zoy.org/raw-attachment/wiki/git-bigfiles/git-bigfiles.png (bien, el logotipo del proyecto es impresionante;))

La pregunta sigue siendo: es un VCS la herramienta adecuada para la gestión de tales objetos de gran tamaño?
Porque en mi experiencia, se preguntará la cuestión de "limpiar el historial" un día u otro, debido a una cantidad cada vez mayor de espacio de disco utilizado.
Y VCS son fundamentalmente no hecho para "limpiar" su historial.
Git no puede hacerlo sin cambiar su clave SHA1, por lo que cualquier publicación futura a otro repositorio público será problemática.

+0

La ramificación es muy útil con los binarios. No para la fusión posterior, sino para dividir las versiones de un proyecto y el intercambio entre ellas. Gracias por señalar Marven/Nexus. Echaré un vistazo a los documentos de Nexus. – sergo

+2

Eche un vistazo al proyecto ** git-bigfiles **, si desea control de versiones para archivos binarios grandes. –

+0

@Jakub: Gracias. He actualizado mi respuesta para incluir esa referencia, pero también he completado mi pregunta sobre la pertinencia de usar un VCS (distribuido o no) para administrar archivos grandes. – VonC

2

Lo que no entiendo es por qué quiere usar un DVCS sin poder hacer diferencias y así poder beneficiarse de él, como dice el primer comentario.

Yo aconsejaría dos direcciones posibles:

  • echar un vistazo a archiva y/o hiedra (herramientas de Java) que se ha diseñado para gestionar la distribución de archivos binarios, tales como archivos jar , para los desarrolladores, pero podría ser demasiado intento centrado en java (o incluso centrada en el desarrollo) para su caso de uso, o

  • utilizar rync y sus posibilidades de copia de seguridad (rsync puede salvar el mayor número cinco las distancias que desee en lugar de reemplazar la copia anterior por la nueva). Parece adecuado para sus necesidades: funciona bien en Windows, maneja binarios muy buenos, así como también archivos de texto, tiene un ancho de banda muy eficiente (puede comprimir) y maneja copias de seguridad con varias versiones. Lo único que falta para ti sería una GUI, idealmente integrada con winexplorer. Tal vez exista alguno, no sé ...

Espero que ayude.

Cheers,
Christophe.

= Las copias de seguridad son para wimps. Los hombres reales cargan sus datos en un sitio FTP y hacen que todos los demás lo reflejen. --Linus Torvalds =

+0

Lo que hace que DVCS sea una mejor opción es que el usuario no esté obligado a usar una ubicación de servidor estricta, puede almacenar libremente todos los archivos en la máquina local con la carpeta compartida. Otro usuario puede acceder a las carpetas compartidas, clonar el repositorio y continuar trabajando en el proyecto. Nuestro enfoque no implica la fusión, solo la ramificación (bifurcación). Gracias por las sugerencias. Tendré que mirar rsync, puede ser que sea posible guionarlo para hacer bien el trabajo. – sergo

+0

La principal ventaja de (D) VCS otras todas las demás herramientas es el comando de registro. Con la ayuda de este comando, el usuario siempre tiene el historial del proyecto y esto es invaluable: para tener un buen historial en lugar de docenas de archivos con nombres extraños. – sergo

+0

Entiendo. De hecho, un DVCS sería mucho más poderoso, eso es cierto. Pero también hay problemas como sobrecarga, manejo de archivos grandes (no estaba hecho para eso), limpiar el historial como se indicó (otra vez no fue hecho para eso). El problema es que los sistemas de archivos no son lo suficientemente potentes para usted, pero un DVCS sería demasiado poderoso (+ requiere trabajo): lo que necesita es algo intermedio, alguna herramienta que puede hacer fácilmente copias locales de archivos, con registros , y permite elegir y eliminarlos en un punto ... ¿Tal vez una nueva herramienta que usa git de bajo nivel como características fs? No sé ... –

2

Es posible que desee investigar Veracity que was designed with this requirement in mind. El instalador de Windows incluye un cliente tipo Tortuga. (No sé si el instalador de Mac tiene una interfaz similar Yo sé que el Linux installer currently doesn't have such an interface..)

enlaces pertinentes:

1

¿Ha considerado usar Autodesk Vault? Funciona bien con 3dsmax (lo hemos usado durante muchos años, tanto para Inventor como para 3dsmax). http://www.autodesk.com/products/autodesk-vault-family/features

+0

¿La bóveda sigue siendo gratis? Creo que tienes que comprarlo ahora. Además, me pareció insultante usarlo a menos que estés en construcción. –

+0

Y Vault está centralizado como forzosamente (la última vez que lo comprobé) –

+0

Puede duplicar datos de servidor entre servidores de bóveda, lo hacemos entre servidores ubicados en diferentes ubicaciones del mundo, pero la versión gratuita no es compatible con esto de fábrica. –

Cuestiones relacionadas