2010-12-16 15 views

Respuesta

10

No. Si estás en bash siempre se puede hacer:

for thefile in *.orig ; do cp -v $thefile ${thefile%%.orig} ; done 
+7

Y en el símbolo del sistema de Windows con Extensiones de comando habilitadas, puede hacer 'for/f% ii n ('dir/s/b * .orig') do @copy% i% ~ dpni' – leoger

+0

@leoger: Wow ... Eso básicamente me parece ruido de línea. Supongo que así es como se sienten los no programadores cuando ven el caparazón ... –

+0

@david: ¡a mí también me parece ruido de línea! Tuve que hacer 'help for' para buscar los operadores de división de variables :) d para unidad, p para ruta, n para nombre (en oposición a nombre más extensión de archivo) – leoger

0

No, pero probablemente su sistema operativo proporciona cp de comandos (o equivalente). Sólo tienes que copiar el archivo en .orig revertido, o, si has cometió el archivo en la versión deseada, volver de nuevo desde esa versión.

+0

Correcto, estoy tratando de evitar hacer eso para 15 archivos ... –

2

Este comando va a reincorporar a sus archivos desde cualquier lugar dentro .orig tu repositorio:

find `hg root` -name *.orig -exec rename -f 's/.orig//' {} \; 

se puede añadir un alias de Hg para esto en su .hgrc así:

[alias] 
reinstate= !find `$HG root` -name *.orig -exec rename -f 's/.orig//' {} \; 

Y a continuación, ejecutar desde su repositorio usando este comando:

hg reinstate 
+0

también puede agregar '-v' al comando de cambio de nombre para ver los archivos renombrados –

+0

FYI, necesitaba envolver el' * .orig' entre comillas evitar que el caparazón trate de expandir esa estrella. –

Cuestiones relacionadas