Μπορώ να έχω αποθετήριο Βazaar μέσα σε git;

...IDE, compilers, κλπ

Συντονιστής: konnn

Μπορώ να έχω αποθετήριο Βazaar μέσα σε git;

Δημοσίευσηαπό evolgen » 21 Οκτ 2013, 00:44

Ξεκινάω το project του μεταπτυχιακού μου και έχω το εξής ζήτημα. Ό,τι κάνω στα πλαίσια του project θα μπαίνει σε git version control, το οποίο θα περιλαμβάνει κώδικα, αρχεία δεδομένων, προσωρινά αρχεία, αρχεία latex για τη συγγραφή της διπλωματικής κλπ κλπ.

Σκέφτηκα ότι αν θέλω μετά να ανεβάσω π.χ. στο GitHub τον κώδικα και μόνο, θα πρέπει να ανεβάσω το τελικό αποτέλεσμα του κώδικα σε ένα καινούριο αποθετήριο, για να μην κουβαλήσω όλα τα άσχετα αρχεία μαζί. Αυτό όμως δε με ευχαριστεί, γιατί δε θα φαίνονται τα διάφορα στάδια της δουλειάς μου, ούτε θα μπορεί κάποιος να συνεισφέρει σε ένα συγκεκριμένο σημείο. Έτσι σκέφτομαι να φτιάξω ένα repo μόνο για τον κώδικα, μέσα στο κύριο repo που θα περιλαμβάνει τα πάντα.

Διάβασα για τα git submodules, μέσω των οποίων δημιουργείς ένα υπο-αποθετήριο μέσα στο κύριο που έχεις, αλλά μου φάνηκε πολύ περίπλοκη διαδικασία. Από την άλλη, είδα εδώ ότι υπάρχει τρόπος να μετατρέψεις εύκολα ένα Bazaar repo σε git, κρατώντας όλα τα commits.

Αυτό που σκέφτομαι λοιπόν είναι να έχω ένα κύριο git repo και μέσα του ένα bzr repo. Όταν θα θέλω να ανεβάσω τον κώδικα στο GitHub, θα μετατρέπω το bzr σε git και θα το στέλνω. Για κάθε νέο commit στο bzr, θα πρέπει να ξανακάνω μετατροπή σε git κοκ.

Νομίζετε πώς είναι πρακτικό ως ιδέα; Έχετε κάποια άλλη σκέψη;

EDIT: Από την άλλη θα μπορούσα να κρατώ ένα δεύτερο αποθετήριο git που να έχει μόνο τον κώδικα και να τον κάνω copy/paste κάθε φορά. Ωστόσο, αν γίνει κανένα λάθος, θα είναι μεγάλο μπέρδεμα...
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: Μπορώ να έχω αποθετήριο Βazaar μέσα σε git;

Δημοσίευσηαπό simosx » 21 Οκτ 2013, 01:50

evolgen έγραψε:Διάβασα για τα git submodules, μέσω των οποίων δημιουργείς ένα υπο-αποθετήριο μέσα στο κύριο που έχεις, αλλά μου φάνηκε πολύ περίπλοκη διαδικασία.


Το git submodule φαίνεται να είναι η καλύτερη λύση.

Αν δεν το επιθυμείς, μπορείς να (διατηρήσεις ένα αποθετήριο git με όλα και) γράψεις ένα πρόγραμμα εντολών που θα διαβάζει το ιστορικό του αποθετηρίου σου και θα παράγει ένα νέο αποθετήριο με μόνο τα αρχεία που συμπεριλαμβάνονται στο src/*
Και αυτό το αποθετήριο με μόνο τα αρχεία του src/ να πηγαίνουν στο github.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Μπορώ να έχω αποθετήριο Βazaar μέσα σε git;

Δημοσίευσηαπό evolgen » 21 Οκτ 2013, 14:59

Έξυπνη ιδέα αυτή με το script! Θα προσπαθήσω αρχικά να καταλάβω πώς λειτουργεί το git submodule και αν δε μου βγει, θα κάνω αυτό που είπες. Ευχαριστώ πολύ! :)
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: Μπορώ να έχω αποθετήριο Βazaar μέσα σε git;

Δημοσίευσηαπό vasster » 22 Οκτ 2013, 19:22

Νομίζω ότι πιθανόν να μην έχεις καταλάβει αρκετά καλά τι είναι και για πιο λόγο χρησιμοποιείς ένα version control σύστημα. Αν κάθε φορά ξαναφτιάχνεις πχ τον src φάκελο και τον ξανανεβάζεις τότε δεν χρειάζεσαι version control αλλά δημόσιο χώρο αρχείων. Δεν θα έχεις ιστορία των αλλαγών γιατί κάθε αλλαγή σου θα είναι αλλαγή σε όλα τα αρχεία.
Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
Ubuntu 17.04 (Zesty Zapus) 4.10.0-19-generic 64bit (en_US.UTF-8, Unity ubuntu)
Intel Core i5-6500 CPU @ 3.20GHz ‖ RAM 15915 MiB ‖ MSI H170M PRO-VDH (MS-7982) - MSI MS-7982
Intel Sky Lake Integrated Graphics [8086:1912] {i915_bpo}
enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15) ⋮ wlx784476b5edea: 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
vasster
punkTUX
punkTUX
 
Δημοσιεύσεις: 253
Εγγραφή: 23 Μάιος 2010, 09:51
Εκτύπωση

Re: Μπορώ να έχω αποθετήριο Βazaar μέσα σε git;

Δημοσίευσηαπό evolgen » 22 Οκτ 2013, 19:32

vasster έγραψε:Νομίζω ότι πιθανόν να μην έχεις καταλάβει αρκετά καλά τι είναι και για πιο λόγο χρησιμοποιείς ένα version control σύστημα. Αν κάθε φορά ξαναφτιάχνεις πχ τον src φάκελο και τον ξανανεβάζεις τότε δεν χρειάζεσαι version control αλλά δημόσιο χώρο αρχείων. Δεν θα έχεις ιστορία των αλλαγών γιατί κάθε αλλαγή σου θα είναι αλλαγή σε όλα τα αρχεία.

Θα τον ξαναέφτιαχνα όχι εξ' αρχής, αλλά ορίζοντας τις αλλαγές σε ένα commit.
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: Μπορώ να έχω αποθετήριο Βazaar μέσα σε git;

Δημοσίευσηαπό simosx » 22 Οκτ 2013, 23:04

vasster έγραψε:Νομίζω ότι πιθανόν να μην έχεις καταλάβει αρκετά καλά τι είναι και για πιο λόγο χρησιμοποιείς ένα version control σύστημα. Αν κάθε φορά ξαναφτιάχνεις πχ τον src φάκελο και τον ξανανεβάζεις τότε δεν χρειάζεσαι version control αλλά δημόσιο χώρο αρχείων. Δεν θα έχεις ιστορία των αλλαγών γιατί κάθε αλλαγή σου θα είναι αλλαγή σε όλα τα αρχεία.


Είναι εφικτό, αν γίνει η δουλειά καλά, να έχεις ένα αποθετήριο του src/ που να είναι σωστό υποσύνολο του ολόκληρου αποθετηρίου.
Δηλαδή, αυτό το πρόγραμμα εντολών που έχουμε στο μυαλό μας, θα μπορεί να
1. διαβάζει το ολόκληρο αποθετήριο και να αναλύει κάθε ένα commit από την αρχή δημιουργίας
2. για τα commit που σχετίζονται με αρχεία στο src/ θα τα εφαρμόζει στο νέο κενό αποθετήριο-υποσύνολο src/
3. θα φροντίζει ότι η ώρα/χρήστης/σχόλιο/κτλ του κάθε commit που θα ρίχνει στο νέο αρχικά-κενό αποθετήριο θα είναι όμοιο με αυτό στο ολόκληρο αποθετήριο.
Και αυτό ήταν.

Το να κάνεις κάτι τέτοιο θα πάρει λίγο χρόνο.

Επεξεργασία:
Έκανα μια αναζήτηση στο διαδίκτυο με λεκτικά «git split repository» και έχει βγάλει αρκετά αποτελέσματα. Φαίνεται ότι και άλλα άτομα έχουν την ανάγκη αυτή.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Μπορώ να έχω αποθετήριο Βazaar μέσα σε git;

Δημοσίευσηαπό evolgen » 23 Οκτ 2013, 00:48

Τελικά, υπάρχει μια σειρά βημάτων που επιτυγχάνουν αυτό ακριβώς που ήθελα, δηλαδή από ένα αρχικό αποθετήριο git να απομονώσεις έναν κατάλογο, ο οποίος θα γίνει ο κορυφαίος κατάλογος για ένα νέο αποθετήριο. Επειδή η διαδικασία έχει ένα Χ αριθμό βημάτων, θα φτιάξω ένα script που καθοδηγεί τον χρήστη με ερωτήσεις και θα το ανεβάσω στο φόρουμ. :) Ευχαριστώ για την καθοδήγηση!
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση


Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού

cron