Αλλαγή committer name σε hg repositories

George Notaras gnot at g-loaded.eu
Tue Mar 27 16:06:14 EEST 2012


Όλα τα commits σε οποιοδήποτε hg repository κι αν έχω τα έχω κάνει
χρησιμοποιώντας το παρακάτω config στο hgrc (όσον αφορά στο username):

[ui]
username = mynickname

Ήξερα από την αρχή ότι το best practice ήταν να οριστεί κάποιο name που
συμπεριλαμβάνει το email, δηλαδή:

[ui]
username = mynickname <me at example.org>

Αλλά, παρόλο που συνήθως είμαι αηδιαστικά και αφόρητα σχολαστικός και
εντελώς overthinker με κάτι τέτοιες λεπτομέρειες, στη συγκεκριμένη
περίπτωση δεν έδωσα την απαραίτητη σημασία.

Ώσπου μια μέρα θέλησα να κάνω sync κάποια repos από bitbucket -> github
και διαπίστωσα ότι, παρόλο που χρησιμοποιώ το ίδιο username με το
committer name στην εν λόγω υπηρεσία, εντούτοις το github μου βάζει το
``[invalid_email_address]`` αντί για το ``nickname`` ως committer name.

Δοκίμασα να κάνω sync ένα test hg repository στο οποίο το commit είχε
γίνει με ``mynickname <me at example.org>`` και για να μην τα πολυλογώ στο
github εμφανίστηκε το σωστό committer name.

Θεωρώ ότι αυτό είναι ο ορισμός του "fail"... Συνειδητοποίησα ότι τόσο
καιρό έκανα μλκία και πρέπει τώρα να διορθωθεί.

Κατέληξα ότι ο μόνος τρόπος να διορθωθεί αυτό είναι να χρησιμοποιήσω το
convert extension παρέχοντάς του ένα αρχείο με author mappings (old
username = new username). Δηλαδή:

  hg convert -s hg -d hg -A author.map old-repo new-repo

Ένα σίγουρο μειονέκτημα είναι ότι αλλάζουν όλα τα hashes των changesets,
αλλά εφόσον το distribution των repositories είναι σχεδόν ανύπαρκτο, δεν
νομίζω ότι θα πρέπει να με απασχολεί ιδιαίτερα αυτό.

Εκείνο όμως που με απασχολεί είναι τι γίνεται με τα tags και τα
branches. Υπάρχει κάποια λεπτομέρεια που πρέπει να ξέρει κανείς για το
conversion; Από όσο μπορώ να κρίνω τα tags (hg tags) δείχνουν κανονικά
στα νέα changesets στο σωστό revision όπως και τα branches (από όσο
μπορώ να κρίνω). Επίσης, το αρχείο .hgtags, το οποίο ήταν under version
control, περιέχει πλέον τα νέα hashes.

Οποιοδήποτε σχόλια ιδέες είναι ευπρόσδεκτα.

ΥΓ: Μήπως τελικά θα έπρεπε να αλλάξω απλά το username στο hgrc και να
συνεχίσω σαν να μην συμβαίνει τίποτα;


More information about the Linux-greek-users mailing list