Διαχείριση pull-requests σε mirror repository

Giorgos Keramidas keramida at ceid.upatras.gr
Sat Nov 30 21:42:05 EET 2013


On Sat, 30 Nov 2013 09:56:27 +0200, George Notaras <gnot at g-loaded.eu> wrote:
> Υποθέτουμε το παρακάτω σενάριο:
>
> Το κύριο source code repository (Α) ενός project χρησιμοποιεί το
> Mercurial VCS και βρίσκεται στην υπηρεσία Bitbucket.
>
> Με αυτοματοποιημένη διαδικασία δημιουργείται στην υπηρεσία Github ένα
> Git repository (B), το οποίο είναι mirror του Α.
>
> Και τα 2, Α & Β, δέχονται pull requests Μέσω των μηχανισμών της κάθε
> υπηρεσίας.
>
> Στην περίπτωση που γίνει merge ενός pull request στο Α, τότε η αλλαγή
> μεταφέρεται και στο Β μέσω του αυτοματοποιημένου μηχανισμού mirroring.
> Αν ο contributor έχει λογαριασμό και στις δύο υπηρεσίες, τότε τα
> στοιχεία του committer φαίνονται σωστά και στις δύο υπηρεσίες.
>
> Πώς θα έπρεπε να διαχειριστεί κανείς pull requests στο Β, ώστε:
>
> - οι αλλαγές να μεταφερθούν στο Α, χωρίς να διαταραχτεί η αλληλουχία
> των commits και να συνεχίσει το Β να αποτελεί ακριβές mirror του Α.
>
> - τα στοιχεία του committer να εμφανίζονται σωστά και στις δύο υπηρεσίες.
>
> Δεν έχω κάνει καμία δοκιμή πάνω σε κάτι τέτοιο. Σκέφτηκα να ρωτήσω
> προηγουμένως μήπως υπάρχει κάποια στανταρ διαδικασία.

Δεν υπάρχει τρόπος για συγχώνευση των pull requests από bitbucket και
github απ' όσο ξέρω.  Τουλάχιστον όχι με αυτοματοποιημένο τρόπο, ο
οποίος να είναι καλά 'integrated' με το web UI και των δύο.

Μπορείς πάντα να στήσεις 2-way merge των δύο repositories με cron jobs
και δικά σου merge scripts, αλλά αυτό δεν έχει καμία σχέση με αυτά που
εμφανίζονται ως 'pull requests' στο κάθε UI.

Γιατί δεν ορίζεις απλά το ένα από τα δύο repositories ως το 'επίσημο'
repository, κλείνοντας τα pull requests από το άλλο;  Δε νομίζω να
υπάρχει πλέον προγραμματιστής που να μην έχει επαφή τόσο με github όσο
και με bitbucket :-P




More information about the Linux-greek-users mailing list