2010-09-21 5 views
5

Powiedz, że mam repozytorium na innej maszynie, której cała historia jest zbyt duża, by sklonować ją lokalnie. Jeśli nie mam zamiaru zgłaszać żadnych zmian z powrotem do tego repozytorium, nie ma powodu, żebym nie mógł po prostu zrobić migawki napiwku. Czy istnieje sposób, aby to zrobić, czy też zamierzam pracować nad tym przy pomocy haka rsync lub czegoś podobnego?Czy mogę uzyskać migawkę poradnika z mercurial repozytorium, bez wykonywania pełnego klona?

Jeśli pomaga, w moim przypadku, zdalne repozytorium jest dostarczane przez serwer rtęciowy przez tunel SSH.

+0

Moim ostatecznym rozwiązaniem było utrzymywanie przez serwer aktualnego widoku repozytorium przez cały czas posiadania haka "aktualizacji hg". Stamtąd wystarczy wykonać rsync, wykluczając. katalog hg. Cierpi na potencjalne zagrożenie, które ktoś może sprawdzić, gdy działa rsync, ale szczegóły mojego przypadku biznesowego sprawiają, że jest to niezwykle mało prawdopodobne i łatwo wykrywalne. – Sniggerfardimungus

Odpowiedz

2

Można użyć hg archive, aby utworzyć niewersjonowane archiwum dla każdej wersji. Nie działa z URL-em ssh, więc musisz uruchomić go na zdalnym hoście, a następnie cofnąć archiwum.

+0

Myślę, że będę trzymać usługę na serwerze, który utworzy archiwum na żądanie i udostępni je za pośrednictwem scp. – Sniggerfardimungus

3

Standardowy skrypt CGI dla Mercurial umożliwia pobieranie archiwów zip i archiwów dla każdej wersji. Zobacz web.allow_archive setting. Możesz to również zobaczyć pod numerem hg serve, który działa pod tym samym kodem co skrypt CGI.

Powiązane problemy