2010-07-03 17 views
9

Acabo de tomar TortoiseHg para utilizarlo como control de fuente distribuida en Windows y lo instalé en mi unidad C. Luego creé un repositorio (ubicado en D: \ projects).TortoiseHg no puede confirmar: "El sistema no puede encontrar el archivo especificado"

Cuando intento para confirmar los cambios, me da el error

"abortar: Ninguno: El sistema no puede encontrar el archivo especificado"

en una nueva ventana titulada "Commit ". Esto hace que la confirmación aborte. No se especifica ningún archivo, y cuando corro hg --traceback commit -m 'Mensaje' que le da a este como salida:

Traceback (most recent call last): 
    File "mercurial\dispatch.pyo", line 54, in _runcatch 
    File "mercurial\dispatch.pyo", line 483, in _dispatch 
    File "mercurial\dispatch.pyo", line 351, in runcommand 
    File "mercurial\dispatch.pyo", line 534, in _runcommand 
    File "mercurial\dispatch.pyo", line 488, in checkargs 
    File "mercurial\dispatch.pyo", line 481, in <lambda> 
    File "mercurial\util.pyo", line 420, in check 
    File "mercurial\commands.pyo", line 762, in commit 
    File "mercurial\cmdutil.pyo", line 1202, in commit 
    File "mercurial\commands.pyo", line 757, in commitfunc 
    File "mercurial\localrepo.pyo", line 816, in commit 
    File "mercurial\localrepo.pyo", line 1053, in status 
    File "mercurial\dirstate.pyo", line 629, in status 
    File "mercurial\dirstate.pyo", line 540, in walk 
    File "mercurial\localrepo.pyo", line 796, in fail 
Abort: Adding: The system cannot find the file specified 
abort: Adding: The system cannot find the file specified 

No sé qué más puedo dar como información de depuración, no se tener alguna experiencia con el programa.

He configurado TortoiseHg con un nombre de usuario global y para el repositorio. Además, kdiff3 se especifica como la herramienta de combinación de tres vías y la herramienta de diferencia visual. No he cambiado conscientemente ninguna otra configuración.

Gracias por cualquier ayuda, y solicite más información, simplemente no sé qué dar en esta situación.

+0

Tengo el mismo error y no puedo encontrar una solución para esto. Por favor, danos una respuesta! –

+0

¿qué versión de hg + windows, qué versión de python? ignore esto último si no se requiere pitón. –

+0

TortoiseHg es la versión 1.1 con Mercurial 1.6. Estoy ejecutando Windows 7 64bits. –

Respuesta

1

Prueba esto:

  1. Retire TortoiseHG
  2. Reiniciar el
  3. comando intall sistema (básicamente para asegurarse de que no hay procesos de tortuga, como el seguimiento de archivos, que puede poner cerraduras de archivos) hg línea
  4. haga lo normal hg commit -m "yourmessage"

Si esto funciona, es más probable que la ausencia de t que la herramienta de monitoreo de TortoiseHg mantiene un bloqueo en algún archivo (el applet de la bandeja del sistema).

También podría ser el caso de que alguien más esté haciendo eso (no TortoiseHg), p. ¿editor? herramienta diff? etc?

Por último, otra razón por la que esto puede ocurrir es: alguien tonteando con los archivos de pase dentro del directorio .hg ... No parece ser el caso, sin embargo

+0

No estoy en una posición en la que pueda reiniciar en este momento, pero incluso con TortoiseHg instalado 'hg commit' funciona. Y sí, como usted supone, no he modificado nada en el directorio .hg y nadie más tiene acceso a la computadora. Desinstalaré TortoiseHg y dejaré otro comentario cuando reinicie, en caso de que sirva de ayuda. Además, no sé a qué te refieres con "alguien más está haciendo eso", pero intenté cambiar todas las configuraciones del editor a no especificadas y aún falla de la misma manera. – 31eee384

+0

Bueno, lo intenté antes de publicar esta respuesta y ¡funciona! Pero esto realmente no resuelve el "problema TortoiseHg". También traté de crear un repositorio limpio y luego extraer datos, cambiar un archivo y confirmar, el problema persiste ... ¡Bueno, supongo que lo usaré a la antigua (línea de comandos)! –

+0

también puede intentar usar tortuga sin la herramienta que supervisa los cambios y muestra los iconos de superposición.No es la tortuga en sí, sino los componentes con los que viene (también se puede sospechar de la herramienta diff) – Nick

2

estoy CONOCIENDO Hg y probando Tortoise-Hg y estoy corriendo al mismo problema exacto que el OP. Cloné un repositorio de uno de los proyectos de código abierto e hice algunos cambios en la fuente. Sin embargo cuando intento de cometer, me sale el mensaje de seguimiento de la confirmación ventana de diálogo:

aborto: Ninguno: El sistema no puede encontrar el archivo especificado

Dejar caer a línea de comandos y el uso de hg commit -m " mensaje "funciona". Estoy usando esto en Windows 7 de 64 bits y he probado dos versiones TortoiseHg 1.1.5 y la última versión 1.1.6.1 (versión de 64 bits) a partir de esta publicación.

¿Alguna idea de cuál es el problema? Como se puede imaginar, este es un problema importante ya que ni siquiera puedo hacer una de las operaciones más básicas para un sistema de control de versiones sin necesidad de desplegarme en la CLI.¿Qué está mal con esto?

Gracias

actualización: He resuelto el problema! Después de un poco de colaboración en la lista de correo de TortoiseHg, identifiqué la causa raíz de este error. Este error está ocurriendo porque cada vez que tortoisehg intenta comprometerse, está apuntando un parámetro extra 'ninguno' al final de esa línea de comando de compromiso.

Esto puede suceder si ha configurado la configuración del repositorio-> Commit-> Auto Commit List en 'None'. La solución es simple: asegúrese de que la Lista de confirmación automática y la Lista de exclusión automática estén configuradas en < no especificadas>. Verifique también su configuración global y asegúrese de que estos 2 campos estén configurados de la misma manera.

Adicionalmente, para ver si su lista de confirmación automática y Auto lista de exclusión haya definido correctamente el tipo

hg showconfig --debug tortoisehg 

Si contiene una línea algo a este efecto:

mercurial.ini:15: tortoisehg.autoinc=None 

entonces no es TortoiseHg configurado correctamente

Espero que esto solucione el problema para el OP y otros que están teniendo este problema y tratando de arreglarlo.

+1

Disculpe por tomar tanto tiempo para responder (y desde entonces he pasado al uso de git desde la línea de comandos), pero probé esto. (Heh, presionando Enter submits, y no hace saltos de línea.) Esta solución no funcionó para mí. Si miras tanto en la configuración global como en la configuración del repositorio, la opción especificada se muestra como "no especificada", y sigo recibiendo el mismo mensaje al confirmar. Curiosamente, * does * muestra "tortoisehg.autoinc = None" cuando ejecuto hg showconfig --debug tortoisehg. – 31eee384

+0

@ 31eee384 hmm, parece que de alguna manera la configuración de hg no está sincronizada con la interfaz gráfica de usuario. Quizás intente eliminarlo manualmente del archivo de configuración de hg. En cualquier caso, use lo que considere más adecuado para usted :) – greatwolf

+0

Tengo el mismo problema y no tortoisehg.autoinc mencionado en cualquier archivo de propiedad hg, sistema o usuario. Entonces, me temo que no ha resuelto el problema como tal. – Gangnus

Cuestiones relacionadas