2013-05-28 10 views
9

Próbuję skonfigurować podregion w moim repozytorium projektu Mercurial dla zależności projektu. Ale gdy próbuję popełnić plik .hgsub ciśgle ten błąd:Mercurial: Subrepo error - "abort: commit z nowym subrepo [ścieżka] wykluczone"

abort: commit with new subrepo lib/dependency-dir excluded 

szczegóły:

Wewnątrz Mercurial katalogu repozytorium mojego projektu (na najwyższym szczeblu), mam podkatalog , lib/, który będzie zawierał moje zależności.

Tak się składa, że ​​wszystkie moje zależności żyć github, gdzie mam rozwidloną każda biblioteka do tworzenia, np https://github.com/mygithubaccount/forked-dependency

stworzyłem plik .hgsub i dodaje go do repozytorium (także na Najwyższy poziom). Zawiera on dane, takie jak następujące (Próbowałem izolować każdy indywidualnie w następujący sposób; nie wydaje się żadnej różnicy):

lib/dependency-dir = [git]https://github.com/mygithubaccount/forked-dependency.git 

Potem zrobiłem następujące, zaczynając od pracy w moim repozytorium projektowego katalog:

$ cd lib 
$ git clone https://github.com/mygithubaccount/forked-dependency.git dependency-dir 
$ cd .. 
$ hg commit .hgsub 
abort: commit with new subrepo lib/dependency-dir excluded 

Jakieś pomysły, co robię źle?

+0

Nie wierzę, że kiedykolwiek to działało, ale zrezygnowałem i poszedłem inną drogą. Wszystkie odpowiedzi tutaj były potencjalnie przydatne, po prostu za późno. Więc wszystko przegrywam, ale najwcześniejszą odpowiedzią było przyjęcie Carla jako Akceptanta. –

Odpowiedz

1

Miałem również ten problem. Nie jestem pewien, czy pasuje do twojej sytuacji, ale próbowałem dodać podrepozytoria do nowego repozytorium. Po dodaniu innych plików i ich zatwierdzeniu mogłem wtedy dodać plik .hgsub z subrepos i zatwierdzić go bez otrzymywania tego błędu.

3

Właśnie problem został rozwiązany przez dodanie pliku, a potem popełniając:

$ hg add .hgsub 
... 
$ hg commit .hgsub 
1

Dla mnie problemem było to, że git nie było na mojej ścieżce systemowej. Dodanie go umożliwiło mi zatwierdzenie mojego podskładnika git (zauważ, że musiałem zrestartować Workbench TortoiseHg, aby uzyskać zaktualizowaną ścieżkę systemową).

12

Jedynym sposobem dostałem tej pracy było popełnić bez określenia plik .hgsub

hg commit „wiadomość” -m

+0

Dziękuję, że pracowałeś dla mnie. Najpierw wypróbowałem większość innych sugestii na tej stronie. Nie chciałem zatwierdzać nowego podskładnika, ponieważ wydaje się, że nie powinno się go znajdować w głównym repozytorium, choć podejrzewam, że popełnianie bez określenia jest takie samo, jak popełnianie obu. – Ant

3

musiałem popełnić zarówno .hgsub i nowy subrepository w tym samym czasie przez jawne zaznaczenie ich w poleceniu commit. Uniknąłem hg commit all, ponieważ miałem inne pliki, które zawierały prace w toku.

0

Kiedy miałem ten problem, problem polegał na tym, że miałem dwa ukośniki na ścieżce do katalogu subrepo.

0

Jeśli istnieje rozróżnienie między nazwą folderu dla subrepo i jego ścieżką w pliku .hgsub, spowoduje to również wyświetlenie tego komunikatu o błędzie.

Doświadczyłem tego, kopiując .hgsub z innego repozytu, który miał taką samą strukturę folderów, jednak nowe repo użyło okładek tytułów dla nazw folderów, podczas gdy foldery w oryginalnym repo były małymi literami.

Zmiana nazwy .hgsub lub samych folderów rozwiązała problem.

Powiązane problemy