Używanie repozytorium kolejek Mercurial na BitBucket dla wielu użytkowników i poprawek

Przepraszamy za wieloczęściowe pytanie, ale mam trudności ze zrozumieniem zamierzonych metod korzystania z Mercurial Patch Queue z BitBucket, a Google niewiele pomaga. Mam nadzieję, że jedna odpowiedź opisująca niektóre koncepcje MQ obejmie wiele pytań jednocześnie. przeczytałemhttp://ches.nausicaamedia.com/articles/technogeekery/using-mercurial-queues-and-bitbucket-org, ale wydaje się, że jest nieaktualny i niekompletny. Moim ogólnym planem jest umożliwienie wielu złożonych zmian od wielu użytkowników, bez konieczności angażowania ich w oddział. Te poprawki reprezentują opcjonalne modyfikacje, które gracze wprowadzają do gry, aby ulepszyć i przedłużyć grę. I chcę, aby użytkownicy mogli wybierać dowolną łatę lub zestaw łatek do zabawy i przeglądania. Kiedy zrozumiem, jak działa hg, zamierzam napisać kilka skryptów PHP lub coś, aby wyciągnąć gałąź i wybrany zestaw poprawek do obszaru roboczego, aby gracz mógł uruchomić kod HTML5 do recenzji.

I mieć w stanie:

Utwórz repozytorium na SourceForgehttp://sourceforge.net/p/iotabuildit/wiki/Home, gdzie początkowo myślałem, że będę gospodarzem wszystkiego.Zatwierdź cały mój kod do repozytorium SourceForge.Zdaj sobie sprawę, że BitBucket może być lepszym miejscem do hostowania tego (dziękiZalecany mechanizm DVCS do obsługi wielu niezależnych poprawek) biorąc pod uwagę moje wymagania.Importuj mój kod bezpośrednio z repozytorium Mercurial SourceForge do BitBuckethttp://bitbucket.org/bluemonkmn/iotabuildit/Dodaj UB BitBucket do TortoiseHg, abym mógł używać tego samego repozytorium lokalnego z dowolnym repozytorium online.Włącz mq w TortoiseHgPZakceptuj zmianę w kolejce łatek mojego lokalnego repozytorium.Utwórz repozytorium kolejek poprawek w BitBuckethttp://bitbucket.org/bluemonkmn/iotabuilditmq/.Sklonuj repozytorium kolejek poprawek do lokalnego repozytoriumSkopiuj pliki poprawek z oryginalnego lokalnego repozytorium do repozytorium kolejek poprawek (chociaż zastanawiam się, czy jest na to lepszy sposób).Wepchnij łatki do repozytorium kolejek poprawek BitBucket, włączając przełącznik --mq przed wykonaniem naciśnięcia.Zobacz łatki wymienione w BitBucket.Sklonuj nową kopię repozytorium kolejek łat BitBucket i zobacz łaty dostępne w lokalnym repozytorium (wraz z resztą drzewa).

Rzeczy, które jażargon dowiedzieć się lub mieć pytania dotyczące:

Czy muszę lokalnie przechowywać zarówno główne repozytorium, jak i repozytorium poprawek?Czy mogę / powinienem używać repozytorium poprawek w SourceForge? (Jeśli mogę, mogę zrezygnować z BitBucket.)Czy SourceForge obsługuje mq? (Czy SourceForge kiedykolwiek da mi sklonowane repozytorium z zainstalowanymi łatkami, tak jak widziałem na BitBucket?)Czy mogę / powinienem używać oryginalnego repozytorium z repozytorium poprawek BitBucket? (Jeśli mogę, mogę porzucić repozytorium na SourceForge.)Czy muszę używać jednego repozytorium podczas pracy nad kodem przeznaczonym na poprawki, a drugim podczas pracy nad kodem przeznaczonym do formalnego zatwierdzenia?Jaki jest najlepszy sposób na naciśnięciełata w repozytorium online?Czy wykonuję QCommit lub QNew w lokalnym repozytorium poprawek, a następnie Push z przełącznikiem --mq?W pewnym momencie podczas procesu popełniłem serię i plik .diff do repozytorium łat, które wydawało się trochę wyłączone. Czy to wpłynęło negatywnie na moje postrzeganie działania mq i BitBucket?Czy powinienem kiedykolwiek zatwierdzać pliki .diff do kontroli źródła w BitBucket lub SourceForge? (W niektórych przypadkach QCommit wydaje się chcieć zatwierdzać pliki .hgignore, series i .diff)Czy użytkownicy powinni być w stanie zobaczyć oczekujące zastosowane i / lub niezastosowane poprawki w repozytorium łat po sklonowaniu?Czy jest jakiś sposób na pobranie dostępnych poprawek w lokalnymlub zdalne repozytorium bez klonowania?Gdy usunąłem łatkę w moim lokalnym repozytorium, nie byłem w stanie dowiedzieć się, jak odzyskać ją ze zdalnego repozytorium bez ponownego klonowania, ani nie byłem w stanie dowiedzieć się, jak zatwierdzić usunięcie poprawki.Nie byłem w stanie przenieść łaty z mojego oryginalnego repozytorium do repozytorium poprawek bez ręcznego kopiowania plików łat.Czy niedługo pojawią się problemy, w których nie będę w stanie wybierać niektórych poprawek z kolejki bez uzyskiwania innych poprawek w tej samej kolejce? Obawiam się, że niektórzy gracze będą zaniedbywać umieszczania swoich łat na osobnej gałęzi / kolejce / czymkolwiek, co pozwoli im dostosować się do niepowiązanych zmian od tego samego (a może nawet innego) użytkownika. Wszelkie sugestie dotyczące radzenia sobie z tym potencjalnym problemem są również doceniane.Czy jest możliwe (pozwolić) dowolnemu użytkownikowi na przesłanie poprawki bez konieczności jawnego dodawania każdego użytkownika BitBucket, aby miał uprawnienia do repozytorium poprawek?Czy wskazane i rozsądne jest posiadanie wszystkich (potencjalnie setek?) Użytkowników udostępniających repozytorium kolejek poprawek? Byłoby to idealne rozwiązanie (zamiast tego, aby każdy użytkownik tworzył własne repozytorium poprawek, jeśli jest to możliwe), ponieważ nie chcę, aby było to skomplikowane dla użytkowników, a biorąc pod uwagę ilość czasu, jaki poświęciłem na zrozumienie Mercurial i BitBucket, I obawiają się, że jakiekolwiek komplikacje wyłączą wielu użytkowników / graczy.

Jak możesz stwierdzić, jestem trochę zagubiony, nie wiedząc, o co pytać. Podejrzewam, że odpowiedź jest prostsza niż te pytania, ale bez znajomości pytania trudno jest zadać właściwe pytanie. Mam nadzieję, że jedna odpowiedź opisująca naturę repozytorium kolejek poprawek usunie to wszystko dla mnie.

questionAnswers(3)

yourAnswerToTheQuestion