2013-04-22 7 views

Odpowiedz

6

Możesz użyć do tego celu hg identify: można go uruchomić wobec zdalnego repozytorium, a Mercurial przerwie z kodem zakończenia 255, jeśli ścieżka podana nie jest repozytorium. To repozytorium istnieje:

$ hg identify https://bitbucket.org/mg/mercurial-talk; echo $? 
7788b512c5bd 
0 

Ten nie robi:

$ hg identify https://bitbucket.org/mg/git-talk; echo $? 
abort: HTTP Error 404: Not Found 
255 

Pewnie chcesz przekierować zarówno stdout i stderr do /dev/null.

+0

Martin, czy mogę prosić o dodanie przynajmniej niektórych z twoich odpowiedzi jako dodatkowego tematu w Mercurial Tips & Tricks (lub - stworzyć własną listę podpowiedzi)? Mianowicie: to, łączenie .hgtag z własnym mergetool, testowanie, czy scalanie było trywialne przy użyciu "internal: fail" –

+0

Excellent. To dokładnie odpowiada na moje pytanie. –

+0

@LazyBadger, czy mówisz o [stronie wiki] (http://mercurial.selenic.com/wiki/TipsAndTricks)? Byłoby fajnie linkować tam odpowiedzi, ale przykro mi to mówić, że nie poświęcam zbyt wiele czasu na aktualizowanie wiki. Dodaj linki, jak uważasz! –

0

AFAIK, ls-remote (używane wewnątrz repozytorium) z Git-URL pokazuje odniesienia do tego adresu URL z lokalnego, tak?

Jeśli chcesz wiedzieć na Mercurial, która zdalne repozytoria go znamy (nieużywany za naciśnięciem | ciągnąć, tylko wiedzieć), można użyć hg paths

Jeśli chcesz na jakiś przypadkowy URL określają, czy jest to repozytorium Mercurial, czy nie, możesz przynajmniej wypróbować klon z tego adresu URL:

+0

git ls-remote może być używany poza repozytorium git. 'git ls-remote $ url' zwraca prawdę, jeśli' $ url' wskazuje na prawidłowe repozytorium git. Szukam czegoś podobnego do mercurialu, bez konieczności tworzenia klona. –

Powiązane problemy