Ψιτ Δημοσ. 29 Οκτωβρίου 2017 Δημοσ. 29 Οκτωβρίου 2017 Η εταιρεία που δουλευω, μεταφέρεται μαζικά από svn σε git, επομένως είναι ευκαιρία να καθαρίσω τα repos μου και να φτιάξω τη δομή που επιτρέπει τη μεγαλύτερη ευελιξία. Συντομή περιγραφή της δομής των προγραμμάτων μου (αν και δεν έχει σημασία δουλευω σε fortran και ελεγχω τα βασικά της ροής των συστημάτων μέσω korn-shell ): Δουλέυω αποκλειστικά με modules, τα οποια καλώ από mains και αυτά με τη σειρά τους καλόνται σε κάποια μεγαλύτερα συστήματα ή χρησιμοποιούνται ως ανεξάρτητα προγράματα. Με άλλα λόγια, κάποιο module χρησιμοποιείται σε καμία 10αριά προγράμματα και κάποιο προγραμμα, σε 2-3 συστήματα. Αυτήν τη στιγμή, επειδή κάθε project έχει διαφορετικό repo, αναγκαζομαι να κάνω σχεδόν όλα τα updates manually. Σκέφτομαι τη δομή, κάπως έτσι: Repo |--- Modules |--- Progs |--- Systems |--- Ush Και θέλω να μπορώ να κάνω push τα modules σε όλα τα συστήματα με τη μία. Η απορία μου είναι πως να δημιουργήσω τα διαφορα υποσυστηματα (Modules, Progs, κλπ), με submodules ή subtrees ή με κάποιον άλλο τρόπο; Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα του κάθε τρόπου; Όποιος έχει εμπειρία με παρόμοιο πρόβλημα, πως το έλυσε; Γενικά, όλα τα σχόλια καλοδεχούμενα.
vadou Δημοσ. 30 Οκτωβρίου 2017 Δημοσ. 30 Οκτωβρίου 2017 Πρόσφατα σε ένα project που χρειαστήκαμε κάτι αντίστοιχο δοκιμάσαμε submodules (not my call). Προσωπικά δεν το χώνεψα ποτέ, μου φάνηκε πολύ σπασ@@δικο σύστημα. Μπορεί να μην το στήσαμε ιδανικά, μπορεί εμένα να μη μου έκατσε καλά, δεν ξέρω. Πάντως αν υπάρχει κάποιος καλύτερος τρόπος θα με ενδιέφερε και εμένα. Αν κατάλαβα καλά τώρα που το ξαναδιαβάζω, δεν ξέρω αν γίνεται αυτό που θες με submodules. Τουλάχιστον έτσι όπως το στήσαμε εμείς το concept ήταν ότι το main repo είχε μέσα άλλα repos και από το root του main γινόταν pull με μια εντολή σε όλα τα εσωτερικά, δε χρειαζόταν δλδ να κάνεις pull ένα-ένα. Το να κάνεις push σε κάποιο submodule και να κάνουν τα repos που την περιέχουν αυτόματα pull δεν ξέρω πως γίνεται. Δες μήπως μπορείς να το κάνεις με hooks. (αν βρεις κάποιο τρόπο, share )
defacer Δημοσ. 30 Οκτωβρίου 2017 Δημοσ. 30 Οκτωβρίου 2017 Δεν κατάλαβα ακριβώς αλλά ακούγεται σαν αυτό που θες να είναι απλά ένα αξιοπρεπές build system, το οποίο αυτή τη στιγμή δεν υπάρχει. Το source control δε μπορεί να σου κάνει τη δουλειά του build system. Submodules η εμπειρία μου ήταν σαν του vadou παραπάνω: "You think, I know, I'll use submodules! Well, now you have two problems". 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα