Używam Mercurial pod Windows XP (używając dystrybucji TortoiseHg) i chcę używać twardych linków NTFS podczas klonowania repozytorium. Po wyjęciu z pudełka Mercurial tego nie robi. Czytałem, że rozszerzenie python win32file musi być włączone. Do tej pory nie udało mi się wykonać tej pracy (dodanie pliku win32file do sekcji rozszerzeń w pliku mercurial.ini nie działa). Czy istnieje prosty sposób na jego włączenie?Używanie twardych linków podczas klonowania repozytorium Mercurial pod Windows
Odpowiedz
Myślę, że musisz zainstalować pełny Python i użyć instalacji źródła Mercurial. Chociaż skompilowana przez Pyroexe instalacja Pyroexe przez TortiseHG może ładować rozszerzenia mercurialne, to rozumiem, że nie pozwoli ci wymieniać podstawowych modułów Pythona.
Co masz na myśli przez "pełny Python"? Czy ActivePython działa, czy też musimy pobrać źródło Pythona, skompilować i zainstalować w ten sposób? ActivePython jest dostarczany z win32file i widzę funkcję CreateHardLink w tej bibliotece. –
Co więcej, UpgradeNotes na wiki Mercurial mówi: "0.7: Klonowanie twardego linku Windows - od wersji 0.7 klonowanie z użyciem hardlinków jest teraz obsługiwane w systemie Windows z NTFS i ActiveState Python, ponieważ stare wersje nie mogą poprawnie określić liczby linków w plikach hardlinkowanych, używając starych wersji Mercurial na nowym repozytorium zawierającym twarde linki może być niebezpieczne. " Jeśli więc masz wersję> 0.7, powinno być dobrze. –
Nie znam odpowiedzi, ale jestem ciekawa, co próbujesz osiągnąć. Czy możesz rozwinąć? – Arkady
Próbuję poprawić wydajność klonowania repozytorium. Ponieważ twarde linki zwiększają tylko liczbę odnośników pliku, klonowanie repozytorium staje się dość tanią operacją, jeśli chodzi o ilość miejsca na dysku i czas tworzenia. –
@Mike Thompson: Straciłeś mnie tam. Jeśli używasz twardych linków do klonowania repozytoriów, to zmiana jednego z plików w jednym repo wpłynie na wszystkie inne repozytorium !? Jaki jest haczyk? –