===== Standards ===== === Change Logs === *Καλό είναι να είναι αρκετά περιεκτικά και σύντομα. *Η πρώτη γραμμή να ταιριάζει ως τίτλος, μια κενή γραμμή στην συνέχεια και μια πιο εκτενής περιγραφή *Αλλαγές που διαφέρουν λογικά μεταξύ τους (δηλαδή ένας κοινός τίτλος δεν τις περιγράφει εύκολα) να πηγαίνουν σε ξεχωριστά commits (και tags) == Είδη εγγραφών == * -> Security Fix # -> Bug Fix + -> Addition ^ -> Change - -> Removed ! -> Note === Versions === * Η έκδοση 1.0 περιέχει αρκετά από τα features που σχεδιάζονταν να τοποθετηθούν αρχικά και είναι όσο τον δυνατόν πιο σταθερή * Ξεκινάμε από την έκδοση 0.1.0, την 1η έκδοση που τρέχει και έχει ένα τουλάχιστον feature * Εκδόσεις 0.0.x είναι εκδόσεις που θέλουμε μεν να κρατήσουμε χωρίς ακόμα να είναι εκτελέσιμο το project * Εκδόσεις της μορφής A.B.C-D όπου * Α (major) : Άλλάζει μόνο όταν οι αλλαγές είναι πάνω από 50% ή αλλάζει η βασική σχεδίαση ή φιλοσοφία * B (minor): Προσθήκη νέων δυνατοτήτων (features) * C (revision) : Γενικές μικροαλλαγές, τροποποιήσεις features * D (bug-fixes): διορθώσεις σφαλμάτων κτλ * Μπορούμε να κρατάμε το B κομμάτι από 0 έως 9. Τα C και D κομμάτια μπορούν να συνεχίζουν και μετά το 10 === Branches === Οι κλάδοι μπορούν να έχουν διπλές ονομασίες π.χ master και unstable, latest και stable κτλ Προτάσεις (Βασισμένες και στο μοντέλο Debian): * master : Η βασική έκδοση που χρησιμοποιούμε, συνήθως η unstable * unstable : περιέχει τα τελευταία features και τρέχει με αρκετά λάθη * stable : Είναι η τελευταία έκδοση που είναι αρκετά σταθερή για καθημερινή χρήση * experimental : Δοκιμαστικό παρακλάδι της unstable που δεν είναι σίγουρο ότι θα χρησιμοποιήσουμε ==== Gnu Standards ==== * The Gnu Coding Standards : http://www.gnu.org/prep/standards/ === Writing C === * Internationalization : http://www.gnu.org/prep/standards/html_node/Internationalization.html#Internationalization === Program Behavior === * http://www.gnu.org/prep/standards/html_node/Program-Behavior.html#Program-Behavior * Command line parameters : http://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html#Command_002dLine-Interfaces * File locations : http://www.gnu.org/prep/standards/html_node/File-Usage.html#File-Usage ===== Πηγές ===== * changelog * standard : https://keepachangelog.com/en/0.3.0/ * Suggestions : http://www.spheredev.org/wiki/Git_for_the_lazy#Writing_good_commit_messages * Gnu standards : http://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs * Παράδειγμα changelog : http://rsgallery2.net/component/option,com_rsgallery2/Itemid,7/page,viewChangelog/ * Version Numbering : http://en.wikipedia.org/wiki/Software_versioning