Я видел, как он упоминал, что mercurial хранит исполняемый бит в файлах, но не может узнать, как это сделать. Я ищу функциональность, аналогичную svn ps svn:executable '' TARGET
.Установка исполняемого бита в файлах в Mercurial
6
A
ответ
15
Установите (или отмените) исполняемый бит в файле, а затем hg отметит его как измененный. Согласитесь.
Вам нужно будет включить разницу в стиле git, чтобы увидеть режимы в формате diff, но он все равно там независимо.
0
Для Linux или Unix вы можете использовать chmod +x filename
.
Для Windows вам необходимо создать файл исправления, а затем применить его с помощью аргумента --bypass
до hg import
. Это может быть сделано путем создания файла сценария Powershell под названием SetFileExecutable.ps1
с текстом ниже
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
выполнить его следующим образом:
.\SetFileExecutable.ps1" -comment "Marking file as executable" -fileRelativePath mvnw -repositoryRoot "c:\myrepo"
использует решение, предоставленную Matt Harbison in Mercurial's Bugzilla
Смежные вопросы
- 1. Установка бита диапазона в порядковых
- 2. Установка бита TSD в CR4 вызывает сбой
- 3. Изменение исполняемого бита файла во всех ветвях git без конфликтов
- 4. Mercurial: информация об измененных файлах
- 5. Установка плагина Jenkins (mercurial) в файлах Docker в папке плагинов, но не в самом Jenkins
- 6. В TeamCity, Mercurial repo проверяется без бита исполнения
- 7. Установка активного исполняемого файла в Xcode
- 8. Установка активного исполняемого файла в Xcode
- 9. Установка переменной из исполняемого файла
- 10. Установка бит выполнения Mercurial в Windows
- 11. Установка младшего значащего бита указателя на 0
- 12. Установка значения int как конкретного бита
- 13. Установка n-го бита unsigned int
- 14. просмотреть метаданные исполняемого бита/разрешения маски для определенного файла
- 15. Установка Mercurial на Centos 6
- 16. Установка Mercurial на Redhat Linux
- 17. Неизвестных права доступа к файлам для исполняемого бита - Linux
- 18. Внутренние механизмы Mercurial о файлах conflits
- 19. Установка часового пояса в файлах журнала Bluemix
- 20. Установка значений переменных в файлах JavaScript
- 21. Установка одного бита в битбит приводит к установке нескольких бит
- 22. установка точного номера бита для двоичного вывода в java
- 23. Отслеживать небольшие различия в 5 файлах с Mercurial?
- 24. Mercurial insert CURRENT номер версии в файлах на hg-архиве
- 25. Установка драйвера с использованием исполняемого файла
- 26. Установка Mercurial 1.4.3 - Требование к Python?
- 27. C Запись бита в памяти
- 28. установка emacs и mercurial on suse
- 29. Установка Mercurial на Windows Apache XAMPP Tutorial
- 30. Mercurial Установка CentOS 6.4 Python Ошибка
у меня нет этот же опыт работы с Mercurial 2.7.1. Для меня изменение исполняемого флага в файле не изменяет статус этого файла. –
Это не работает в Windows, у которого нет такого понятия - см. Https://stackoverflow.com/questions/2702825/setting-mercurials-execute-bit-on-windows –