Lo he visto mencionar que mercurial almacena el bit ejecutable en archivos, pero no puede encontrar cómo hacerlo. Estoy buscando una funcionalidad análoga a svn ps svn:executable '' TARGET
.Configurando el bit ejecutable en archivos en Mercurial
6
A
Respuesta
15
Establezca (o desarme) el bit ejecutable en el archivo, y luego hg lo marcará como modificado. Comprométalo
Tendrá que habilitar difs estilo git para ver los modos en la salida de diff, pero todavía está allí independientemente.
0
Para Linux o Unix puede usar chmod +x filename
.
Para Windows necesita crear un archivo de parche y luego aplicarlo usando el argumento --bypass
al hg import
. Esto podría hacerse mediante la creación de un archivo de script de PowerShell denominado SetFileExecutable.ps1
, con el siguiente texto
param (
[String]$comment = "+execbit",
[Parameter(Mandatory=$true)][string]$fileRelativePath,
[Parameter(Mandatory=$true)][string]$repositoryRoot
)
$fileRelativePath = $fileRelativePath.Replace('\', '/')
$diff = "$comment" + [System.Environment]::NewLine +
[System.Environment]::NewLine +
"diff --git a/$fileRelativePath b/$fileRelativePath" + [System.Environment]::NewLine +
"old mode 100644" + [System.Environment]::NewLine +
"new mode 100755"
Push-Location
cd $repositoryRoot
$diff | Out-File -Encoding 'utf8' $env:tmp\exebit.diff
hg import --bypass -m "$comment" $env:tmp\exebit.diff
Pop-Location
ejecutarlo de la siguiente manera:
.\SetFileExecutable.ps1" -comment "Marking file as executable" -fileRelativePath mvnw -repositoryRoot "c:\myrepo"
El utiliza la solución aportada por Matt Harbison in Mercurial's Bugzilla
Cuestiones relacionadas
- 1. Configurando el ejecutable activo en Xcode
- 2. Configuración del bit de ejecución de Mercurial en Windows
- 3. diffing solamente archivos en Mercurial
- 4. Operaciones bit a bit en el corto
- 5. Incrustar archivos DLL en un ejecutable compilado
- 6. configurando ssl en el dispositivo
- 7. Configurando Mercurial - FileMerge para Apple Mac OS X
- 8. Configurando fuentes cpp en gradle
- 9. Commitir solo algunos archivos en Mercurial
- 10. Mercurial: restaurar archivos
- 11. Mercurial: Ignorar globalmente archivos
- 12. ¿Cómo comprime mercurial los archivos en el repositorio?
- 13. Archivos de objeto en un archivo ejecutable en Linux
- 14. Configurando eclipse en ubuntu
- 15. Configurando PHPUnit en OSX
- 16. Configurando Kudu en IIS
- 17. configurando proxy en wget
- 18. Configurando el nombre de from en javax.mail.MimeMessage?
- 19. WPF configurando MenuItem.Icon en el código
- 20. OR bit a bit (|) en el argumento de la función
- 21. operaciones bit a bit en el vector <bool>
- 22. Operador bit a bit en SQLAlchemy
- 23. operadores bit a bit en Postgres
- 24. Indicadores de bit a bit en Delphi
- 25. bit a bit de sustracción en Python
- 26. Mercurial: enumere archivos "hg diff"
- 27. operaciones bit a bit en Postgres
- 28. Operador bit a bit en firebird
- 29. Convertir ejecutable .NET en ejecutable nativo
- 30. ¿Deshacer el último addremove en Mercurial?
no tengo esta misma experiencia con Mercurial 2.7.1. Para mí, cambiar el indicador ejecutable en el archivo no cambia el estado de ese archivo. –
Esto no funciona en Windows, que no tiene esa noción; consulte https://stackoverflow.com/questions/2702825/setting-mercurials-execute-bit-on-windows –