Tôi đã thấy nó đề cập đến việc các cửa hàng siêu dữ liệu thực thi bit trên các tệp, nhưng không thể tìm ra cách thực hiện. Tôi đang tìm chức năng tương tự với svn ps svn:executable '' TARGET
.Đặt bit thực thi trên các tệp trong Mercurial
6
A
Trả lời
15
Đặt (hoặc bỏ đặt) bit thực thi trên tệp và sau đó hg sẽ đánh dấu nó là đã sửa đổi. Cam kết nó.
Bạn sẽ cần phải bật các khác biệt kiểu git để xem các chế độ trong đầu ra khác, nhưng nó vẫn ở đó bất kể.
0
Đối với Linux hoặc Unix, bạn có thể sử dụng chmod +x filename
.
Đối với Windows, bạn cần phải tạo tệp vá và sau đó áp dụng nó bằng cách sử dụng đối số --bypass
cho hg import
. Điều này có thể được thực hiện bằng cách tạo ra một tập tin script Powershell gọi SetFileExecutable.ps1
, với các văn bản dưới đây
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
thực hiện nó như sau:
.\SetFileExecutable.ps1" -comment "Marking file as executable" -fileRelativePath mvnw -repositoryRoot "c:\myrepo"
này sử dụng các giải pháp được cung cấp bởi Matt Harbison in Mercurial's Bugzilla
Các vấn đề liên quan
- 1. svn: cách đặt bit thực thi trên một tệp?
- 2. Con trăn 64 bit có thể tạo các tệp thực thi Windows 32 bit
- 3. Sản xuất 64 bit thực thi trên hệ điều hành 32 bit
- 4. Đặt bit thực hiện cho một tệp bằng python
- 5. Các biến mẫu IBOutlet trong các tệp thực thi (.m)
- 6. Có cách nào để thực thi các chương trình 64 bit trên máy tính 32 bit không?
- 7. Làm thế nào để bạn đặt MOTW trên thực thi
- 8. Mercurial: thực thi "hg pull -u" trước khi "hg commit"
- 9. Cách tạo tệp cài đặt sẽ cài đặt một tệp thực thi Jar
- 10. Thực thi trên máy chủ trên GitHub?
- 11. Gói các tệp trong một gói thực thi
- 12. JAR thực thi trên Ubuntu (NetBeans)
- 13. Thực thi mã 32 bit trong lỗi cài đặt Ubundu 64 bit- Không có tệp hoặc thư mục nào như vậy
- 14. Xác định xem tệp thực thi (hoặc thư viện) là 32 hoặc 64 bit
- 15. Hosting thực thi trên github
- 16. Thực thi SQL trên tệp CSV qua JDBC
- 17. Tệp đối tượng trong tệp thực thi trong Linux
- 18. Mercurial: khôi phục các tệp
- 19. Lưu dữ liệu trong tệp thực thi
- 20. Làm thế nào để giữ quyền thực thi trên các tệp trong một nguyên mẫu maven
- 21. Cài đặt Mercurial trên Redhat Linux
- 22. Tạo các lệnh trên thanh công cụ Visual Studio để thực thi các tệp bó
- 23. Tạo các tệp thi hành trong Linux
- 24. py2exe không tạo được tệp thực thi
- 25. QtCreator trên linux: 32 bit so với 64 bit
- 26. Tìm đường dẫn của tệp thực thi trong vim
- 27. .bat tệp để mở tệp thực thi trong Console2
- 28. Thực thi toString() trong các lớp con
- 29. Thực thi python Script trên Crontab
- 30. Đặt tệp thi hành hoạt động trong Xcode
tôi không có cùng trải nghiệm này với Mercurial 2.7.1. Đối với tôi, việc thay đổi cờ thực thi trên tệp sẽ không thay đổi trạng thái của tệp đó. –
Điều này không hoạt động trên Windows, không có khái niệm như vậy - xem https://stackoverflow.com/questions/2702825/setting-mercurials-execute-bit-on-windows –