Re: [team-gnome-gr] Χρήση Git και git.g nome.org



2010/3/5 Simos Xenitellis <simos lists googlemail com>

Ξεκινώ μια συζήτηση για θέματα και ερωτήματα για τη χρήση του git στα
αποθετήρια του GNOME.

Το git είναι ένα 'version control system' (VCS,
http://en.wikipedia.org/wiki/Revision_control)
που είναι κατανεμημένο (distributed). Επιτρέπει σε πολλούς να
αναπτύξουν λογισμικό όπου ο κώδικας
βρίσκεται σε ένα αποθετήριο κάτω από το σύστημα git.
Το git ξεκίνησε από τον Linus Torvalds και το έφτιαξε για να
υποστηρίξει την ανάπτυξη του πυρήνα Linux.
Αυτή τη στιγμή τα git, Mercurial και Bazaar (Launchpad) έχουν όλα
σχεδόν τα ίδια χαρακτηριστικά
και οι εντολές είναι πάνω κάτω ίδιες.

Για τη μετάφραση του GNOME που μάς ενδιαφέρει, υπάρχει σχετικός οδηγός στο
http://live.gnome.org/TranslationProject/GitHowTo

Από την ελληνική ομάδα του GNOME, οι
1. Νίκος
2. Κώστας,
3. Σίμος
4. Τζένη
έχουν λογαριασμούς git και είναι σε θέση να προσθέτουν τις μεταφράσεις
σας.

Το τυπικό σε git είναι να κάνουμε τη λήψη μια φορά κάθε αποθετηρίου
από αυτά που φαίνονται
στο http://l10n.gnome.org/languages/el/gnome-2-30/ui/
π.χ. για το vinagre:
git clone ssh://MYUSERNAME git gnome org/git/vinagre

Γενικά η διαδικασία αυτή παίρνει χρόνο και υπάρχει ένα βοήθημα για να
επιταχύνουμε.
Αν το πακέτο είναι μεγάλο, όπως gtk+ ή gimp, τότε θα πάρει 2-3 ώρες
για το git clone για να ολοκληρωθεί.
Οπότε, αν έχουμε λογαριασμό από γρήγορο εξυπηρετητή, μπορούμε να
κάνουμε την κλωνοποίηση (git clone) από εκεί,
και μετά να γίνει η λήψη του tar.gz με το αποθετήριο με χρήση wget.
Για παράδειγμα, το git clone για το gtk+ από το dreamhost
ολοκληρώνεται σε 6 λεπτά.

Αυτά για αρχή.
Αν υπάρχουν ερωτήματα, παρακαλώ ρωτήστε.

2010/3/6 Jennie Petoumenou <epetoumenou gmail com>:
Αν δοκιμάσω να κατεβάσω όλο το gnome, πόσα γίγα θα πάρει;

Για όλο το GNOME 2.30 είναι γύρω στα 2.8-3.0 GB. Αν βάλεις και π.χ.
gimp, τότε +300ΜΒ.

Υπάρχει μια «συντόμευση» για την αρχική δημιουργία των αποθετηρίων. Η
λήψη των αρχείων των αποθετηρίων μέσω git+ssh (θέλει ssh για το
git.gnome.org) είναι σχετικά αργή, για κάποιο λόγο, από την Ευρώπη.
Δοκίμασε με τη λήψη κάποιου πακέτου (git clone ...) και παρατήρησε το
ρυθμό μετάδοσης. Αν είναι μικρότερο από 50-100ΚΒ/s, τότε μπορεί να
επηρεάζεται η σύνδεσή σου.
Προσωπικά είχα το ίδιο πρόβλημα οπότε αυτό που κάνω είναι να κάνω τη
λήψη από κάποιο σύστημα στην Αμερική (στην περίπτωσή μου, από το
Dreamhost), και μετά με ένα διαχειριστή λήψεων (download manager) να
λαμβάνω το .tar.gz.

Έφτιαξα ένα τέτοιο πακέτο, και είναι διαθέσιμο από
http://simos.info/gnome-2-30-repos-6Mar2010.tar.gz (1.7GB)
και περιλαμβάνει τα απαραίτητα αποθετήρια για το GNOME 2.30.
Τα git clone για το GNOME 2.30 από Dreamhost πήραν 46 λεπτά.

Ας θεωρήσουμε το αποθετήριο ενός πακέτου, του vinagre, που βρίσκεται
σε ένα κατάλογο που έχει το όνομα vinagre/. Στον κατάλογο vinagre/
υπάρχουν
1. υποκατάλογος .git/  με όλες τις πληροφορίες του αποθετηρίου, με
πληροφορίες για κάθε commit και κάθε branch από το πρώτο commit που
έγινε πριν από 10+ χρόνια. Εδώ έχει τα πάντα για το αποθετήριο.
2. το πηγαίο κώδικα (με υποκαταλόγους, κτλ) του πακέτου vinagre. Τα
αρχεία αυτά ονομάζονται working copy διότι η πηγή τους βρίσκεται πάντα
στο .git/. Μπορούμε να σβήσουμε τα αρχεία του working copy και να τα
ανακτήσουμε ξανά με μια εντολή (μέσω του .git/), με git reset --hard

Το παραπάνω .tar.gz που παραθέτω περιλαμβάνει, για κάθε πακέτο του
GNOME 2.30, τον κατάλογο του αποθετηρίου με το .git/, δηλαδή δίχως το
working copy που μπορείς να το εξάγεις με την παραπάνω εντολή.

Τα τρία βήματα για να γίνει το κάθε ένα από τα αποθετήρια του .tar.gz
χρησιμοποιήσιμα είναι
1. Εξαγωγή του working copy
   $ cd vinagre
   $ git reset --hard
   HEAD is now at e3e655d Updated Catalan translation
   $ _

2. Σύνδεση των προσωπικών σου στοιχείων στο αποθετήριο, κατά το
http://live.gnome.org/TranslationProject/GitHowTo#Convert_an_anonymous_clone_into_an_eponymous_one

Για μένα κάνω
  $ cd vinagre
  $ git config remote.origin.url ssh://simos git gnome org/git/vinagre
  $ _

3. Ενημέρωση του αποθετηρίου (αυτό μπορείς να το κάνεις και αργότερα,
όταν θα χρησιμοποιήσεις το αποθετήριο για να στείλεις μια μετάφραση),

  $ git up                            (για το 'git up' δες
http://live.gnome.org/TranslationProject/GitHowTo )

Σίμος


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]