mirror of
https://github.com/olivierlacan/keep-a-changelog.git
synced 2025-07-30 01:04:30 +02:00
Merge
This commit is contained in:
commit
eb91bbd878
14
CHANGELOG.md
14
CHANGELOG.md
@ -1,18 +1,23 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
||||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [1.0.0] - 2017-06-20
|
||||||
### Added
|
### Added
|
||||||
|
- New visual identity by @tylerfortune8.
|
||||||
|
- Version navigation.
|
||||||
|
- Links to latest released version in previous versions.
|
||||||
- "Why keep a changelog?" section.
|
- "Why keep a changelog?" section.
|
||||||
- "Who needs a changelog?" section.
|
- "Who needs a changelog?" section.
|
||||||
- "How do I make a changelog?" section.
|
- "How do I make a changelog?" section.
|
||||||
- "Frequently Asked Questions" section.
|
- "Frequently Asked Questions" section.
|
||||||
- New "Guiding Principles" sub-section to "How do I make a changelog?".
|
- New "Guiding Principles" sub-section to "How do I make a changelog?".
|
||||||
- Simplified and Traditional Chinese translations from @tianshuo.
|
- Simplified and Traditional Chinese translations from @tianshuo.
|
||||||
- German translation from @mpbzh.
|
- German translation from @mpbzh & @Art4.
|
||||||
- Italian translation from @roalz.
|
- Italian translation from @roalz.
|
||||||
- Swedish translation from @magol.
|
- Swedish translation from @magol.
|
||||||
- Turkish translation from @karalamalar.
|
- Turkish translation from @karalamalar.
|
||||||
@ -124,7 +129,8 @@ notable changes.
|
|||||||
- Good examples and basic guidelines, including proper date formatting.
|
- Good examples and basic guidelines, including proper date formatting.
|
||||||
- Counter-examples: "What makes unicorns cry?"
|
- Counter-examples: "What makes unicorns cry?"
|
||||||
|
|
||||||
[Unreleased]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.3.0...HEAD
|
[Unreleased]: https://github.com/olivierlacan/keep-a-changelog/compare/v1.0.0...HEAD
|
||||||
|
[1.0.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.3.0...v1.0.0
|
||||||
[0.3.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.2.0...v0.3.0
|
[0.3.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.2.0...v0.3.0
|
||||||
[0.2.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.1.0...v0.2.0
|
[0.2.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.1.0...v0.2.0
|
||||||
[0.1.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.8...v0.1.0
|
[0.1.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.8...v0.1.0
|
||||||
|
19
README.md
19
README.md
@ -1,6 +1,6 @@
|
|||||||
# <img src="https://d3vv6lp55qjaqc.cloudfront.net/items/1L1w0v431V0d1K410f3Y/keepAChangelog-logo-dark.svg" height=150 alt="Keep a Changelog" />
|
# <img src="https://d3vv6lp55qjaqc.cloudfront.net/items/1L1w0v431V0d1K410f3Y/keepAChangelog-logo-dark.svg" height=150 alt="Keep a Changelog" />
|
||||||
|
|
||||||
[![version][version-badge]][CHANGELOG] [![license][license-badge]][LICENSE]
|
[![version][version-badge]][CHANGELOG] [![license][license-badge]][LICENSE]
|
||||||
|
|
||||||
Don’t let your friends dump git logs into changelogs™
|
Don’t let your friends dump git logs into changelogs™
|
||||||
|
|
||||||
@ -20,22 +20,23 @@ This repository generates http://keepachangelog.com/.
|
|||||||
- `bundle exec middleman` starts the local development server at http://localhost:4567
|
- `bundle exec middleman` starts the local development server at http://localhost:4567
|
||||||
|
|
||||||
### Deployment
|
### Deployment
|
||||||
- `rake publish` builds and pushes to the `gh-pages` branch
|
- `bundle exec rake publish` builds and pushes to the `gh-pages` branch
|
||||||
|
|
||||||
### Translations
|
### Translations
|
||||||
|
|
||||||
Create a new directory in [`source/`][source] named after the ISO 639-1 code
|
Create a new directory in [`source/`][source] named after the ISO 639-1 code
|
||||||
for the language you wish to translate Keep a Changelog to. For example,
|
for the language you wish to translate Keep a Changelog to. For example,
|
||||||
assuming you want to translate to French Canadian:
|
assuming you want to translate to French Canadian:
|
||||||
|
|
||||||
- create the `source/fr-CA` directory.
|
- create the `source/fr-CA` directory.
|
||||||
- duplicate the `source/en-US/index.html.haml` file in `source/fr-CA`.
|
- duplicate the `source/en/1.0.0/index.html.haml` file in `source/fr-CA`.
|
||||||
- edit `source/fr-CA/index.html.haml` until your translation is ready.
|
- edit `source/fr-CA/1.0.0/index.html.haml` until your translation is ready.
|
||||||
- commit your changes to your own [fork][fork]
|
- commit your changes to your own [fork][fork]
|
||||||
- submit a [Pull Request][pull-request] with your changes
|
- submit a [Pull Request][pull-request] with your changes
|
||||||
|
|
||||||
It may take some time to review your submitted Pull Request. Try to involve a
|
It may take some time to review your submitted Pull Request. Try to involve a
|
||||||
few native speakers of the language you're translating to in the Pull Request
|
few native speakers of the language you're translating to in the Pull Request
|
||||||
comments. They'll help review your translation for simple mistakes and give us
|
comments. They'll help review your translation for simple mistakes and give us
|
||||||
a better idea of whether your translation is accurate.
|
a better idea of whether your translation is accurate.
|
||||||
|
|
||||||
Thank you for your help improving software one changelog at a time!
|
Thank you for your help improving software one changelog at a time!
|
||||||
@ -47,5 +48,5 @@ Thank you for your help improving software one changelog at a time!
|
|||||||
[source]: source/
|
[source]: source/
|
||||||
[pull-request]: https://help.github.com/articles/creating-a-pull-request/
|
[pull-request]: https://help.github.com/articles/creating-a-pull-request/
|
||||||
[fork]: https://help.github.com/articles/fork-a-repo/
|
[fork]: https://help.github.com/articles/fork-a-repo/
|
||||||
[version-badge]: https://img.shields.io/badge/version-0.3.0-blue.svg
|
[version-badge]: https://img.shields.io/badge/version-1.0.0-blue.svg
|
||||||
[license-badge]: https://img.shields.io/badge/license-MIT-blue.svg
|
[license-badge]: https://img.shields.io/badge/license-MIT-blue.svg
|
||||||
|
BIN
source/assets/images/favicon.ico
Normal file
BIN
source/assets/images/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 126 KiB |
BIN
source/assets/images/logo.png
Normal file
BIN
source/assets/images/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
1
source/assets/images/logo.svg
Normal file
1
source/assets/images/logo.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 5.9 KiB |
319
source/de/1.0.0/index.html.haml
Normal file
319
source/de/1.0.0/index.html.haml
Normal file
@ -0,0 +1,319 @@
|
|||||||
|
---
|
||||||
|
description: Keep a Changelog
|
||||||
|
title: Keep a Changelog
|
||||||
|
language: de
|
||||||
|
version: 1.0.0
|
||||||
|
---
|
||||||
|
|
||||||
|
- changelog = "https://github.com/olivierlacan/keep-a-changelog/blob/master/CHANGELOG.md"
|
||||||
|
- gemnasium = "https://gemnasium.com/"
|
||||||
|
- gh = "https://github.com/olivierlacan/keep-a-changelog"
|
||||||
|
- issues = "https://github.com/olivierlacan/keep-a-changelog/issues"
|
||||||
|
- semver = "http://semver.org/"
|
||||||
|
- shields = "http://shields.io/"
|
||||||
|
- thechangelog = "http://5by5.tv/changelog/127"
|
||||||
|
- vandamme = "https://github.com/tech-angels/vandamme/"
|
||||||
|
- iso = "http://www.iso.org/iso/home/standards/iso8601.htm"
|
||||||
|
- ghr = "https://help.github.com/articles/creating-releases/"
|
||||||
|
|
||||||
|
.header
|
||||||
|
.title
|
||||||
|
%h1 Führe ein CHANGELOG
|
||||||
|
%h2 Lass Deine Freunde nicht CHANGELOGs mit git logs füllen.
|
||||||
|
|
||||||
|
= link_to changelog do
|
||||||
|
Version
|
||||||
|
%strong= current_page.metadata[:page][:version]
|
||||||
|
|
||||||
|
%pre.changelog= File.read("CHANGELOG.md")
|
||||||
|
|
||||||
|
.answers
|
||||||
|
%h3#what
|
||||||
|
%a.anchor{ href: "#what", aria_hidden: "true" }
|
||||||
|
Was ist ein Changelog?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Ein Changelog ist eine Datei, die eine handgepflegte, chronologisch sortierte
|
||||||
|
Liste aller erheblichen Änderungen enthält, die zwischen einzelnen Veröffentlichungen
|
||||||
|
(oder Versionen) des Projekts umgesetzt wurden.
|
||||||
|
|
||||||
|
%h3#why
|
||||||
|
%a.anchor{ href: "#why", aria_hidden: "true" }
|
||||||
|
Was ist der Zweck eines Changelogs?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Ein Changelog soll es Benutzern und Entwicklern einfacher machen, gerade die
|
||||||
|
beachtenswerten Änderungen, die zwischen Veröffentlichungen (oder Versionen)
|
||||||
|
des Projekts gemacht wurden, zu sehen.
|
||||||
|
|
||||||
|
%h3#who
|
||||||
|
%a.anchor{ href: "#who", aria_hidden: "true" }
|
||||||
|
Wer braucht schon ein Changelog?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Menschen brauchen es. Seien es Konsumenten oder Entwickler, die Endnutzer der Software
|
||||||
|
sind Menschen, die es interessiert, was in der Software passiert. Wenn sich die Software ändert,
|
||||||
|
dann wollen diese Menschen wissen, wie und warum sie sich ändert.
|
||||||
|
|
||||||
|
.good-practices
|
||||||
|
%h3#how
|
||||||
|
%a.anchor{ href: "#how", aria_hidden: "true" }
|
||||||
|
Wie erstelle ich einen guten Changelog?
|
||||||
|
|
||||||
|
%h4#principles
|
||||||
|
%a.anchor{ href: "#principles", aria_hidden: "true" }
|
||||||
|
Grundlegende Prinzipien
|
||||||
|
|
||||||
|
%ul
|
||||||
|
%li
|
||||||
|
Changelogs werden <em>für Menschen</em> geschrieben, nicht für Maschinen.
|
||||||
|
%li
|
||||||
|
Für jede einzelne Version sollte es einen Eintrag geben.
|
||||||
|
%li
|
||||||
|
Änderungen der selben Art sollten in Bereiche gruppiert werden.
|
||||||
|
%li
|
||||||
|
Versionen und Bereiche sollten verlinkt werden können.
|
||||||
|
%li
|
||||||
|
Die neuste Version kommt als erstes.
|
||||||
|
%li
|
||||||
|
Das Release-Datum jeder Version muss angegeben sein.
|
||||||
|
%li
|
||||||
|
Gib an, ob du dich an die #{link_to "Semantische Versionierung", semver} hältst.
|
||||||
|
|
||||||
|
%a.anchor{ href: "#types", aria_hidden: "true" }
|
||||||
|
%h4#types Arten von Änderungen
|
||||||
|
|
||||||
|
%ul
|
||||||
|
%li
|
||||||
|
%code Added
|
||||||
|
für neue Features.
|
||||||
|
%li
|
||||||
|
%code Changed
|
||||||
|
für Änderungen an der bestehenden Funktionalität.
|
||||||
|
%li
|
||||||
|
%code Deprecated
|
||||||
|
für Features, die in zukünftigen Versionen entfernt werden.
|
||||||
|
%li
|
||||||
|
%code Removed
|
||||||
|
für Deprecated-Features, die in dieser Version entfernt wurden.
|
||||||
|
%li
|
||||||
|
%code Fixed
|
||||||
|
für alle Bug-Fixes.
|
||||||
|
%li
|
||||||
|
%code Security
|
||||||
|
um Benutzer im Fall von geschlossenen Sicherheitslücken zu einer Aktualisierung aufzufordern.
|
||||||
|
|
||||||
|
.effort
|
||||||
|
|
||||||
|
%h3#effort
|
||||||
|
%a.anchor{ href: "#effort", aria_hidden: "true" }
|
||||||
|
Wie kann ich den Aufwand der Changelog-Pflege so klein wie möglich halten?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Habe immer einen <code>Unreleased</code>-Abschnitt über der neusten Version,
|
||||||
|
um zukünftige Änderungen im Auge zu behalten.
|
||||||
|
|
||||||
|
%p Dies hat zwei Vorteile:
|
||||||
|
|
||||||
|
%ul
|
||||||
|
%li
|
||||||
|
Menschen können sehen, welche Änderungen sie mit dem nächsten Release zu erwarten haben.
|
||||||
|
%li
|
||||||
|
Wenn der Zeitpunkt für den Release gekommen ist, kannst du den Inhalt des
|
||||||
|
<code>Unreleased</code>-Abschnitts in den neuen Release-Abschnitt verschieben.
|
||||||
|
|
||||||
|
.bad-practices
|
||||||
|
%h3#bad-practices
|
||||||
|
%a.anchor{ href: "#bad-practices", aria_hidden: "true" }
|
||||||
|
Kann man beim Changelog etwas falsch machen?
|
||||||
|
|
||||||
|
%p Ja. Hier sind einige Dinge, die eher unbrauchbar sind.
|
||||||
|
|
||||||
|
|
||||||
|
%h4#log-diffs
|
||||||
|
%a.anchor{ href: "#log-diffs", aria_hidden: "true" }
|
||||||
|
Einen Diff von Commit-Logs ausgeben
|
||||||
|
|
||||||
|
%p
|
||||||
|
Commit-Logs in einem Changelog sind eine schlechte Idee: Sie beinhalten lauter
|
||||||
|
überflüssige Dinge, wie Merge-Commit, Commits mit schlechten Bezeichnungen,
|
||||||
|
Änderungen an der Dokumentation, etc.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Der Sinn eines Commits ist die Entwicklung des Source Code zu dokumentieren.
|
||||||
|
Manche Projekte haben saubere Commits, andere nicht.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Der Sinn eines Changelog-Eintrags ist die Dokumentation der merkbaren
|
||||||
|
Unterschiede, die meist über mehrere Commits hinweg entstanden sind, dem
|
||||||
|
Endnutzer klar und deutlich zu kommunizieren.
|
||||||
|
|
||||||
|
|
||||||
|
%h4#ignoring-deprecations
|
||||||
|
%a.anchor{ href: "#ignoring-deprecations", aria_hidden: "true" }
|
||||||
|
Features ohne Deprecation-Warnung entfernen
|
||||||
|
|
||||||
|
%p
|
||||||
|
Wenn der Endnutzer auf eine neue Version upgradet, sollte ihm unmissverständlich
|
||||||
|
klar gemacht werden, wenn etwas kaputt gehen wird. Es sollte immer möglich sein,
|
||||||
|
zu einer Version zu upgraden, die die zu entfernenden Features auflistet, um so
|
||||||
|
in seinem Source Code auf diese Features zu verzichten. Anschließend sollte man
|
||||||
|
auf eine Version upgraden können, in der die Features entfernt wurden.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Auch wenn du sonst nichts geändert hast, liste trotzdem alle veralteten und
|
||||||
|
entfernten Features, sowie jede funktionsgefährdende Änderung in deinem Changelog auf.
|
||||||
|
|
||||||
|
|
||||||
|
%h4#confusing-dates
|
||||||
|
%a.anchor{ href: "#confusing-dates", aria_hidden: "true" }
|
||||||
|
Verwirrende Datumsformate
|
||||||
|
|
||||||
|
%p
|
||||||
|
In den USA setzen die Menschen den Monat an den Anfang eines Datums
|
||||||
|
(<code>06-02-2012</code> für den 2. Juni 2012), wohingegen viele Menschen
|
||||||
|
im Rest der Welt ein roboterhaft aussehendes <code>2 June 2012</code>
|
||||||
|
schreiben, aber es völlig unterschiedlich aussprechen. <code>2012-06-02</code>
|
||||||
|
folgt der Logik vom größten zum kleinsten Wert, kann nicht mit anderen Formaten
|
||||||
|
verwechselt werden und ist ein #{link_to "ISO Standard", iso}. Deshalb
|
||||||
|
ist es das empfohlene Datumsformat in Changelogs.
|
||||||
|
|
||||||
|
%aside
|
||||||
|
Es gibt sicher noch mehr. Hilf mir alle schlechten Tipps zu sammeln, indem du
|
||||||
|
= link_to "ein Issue eröffnest", "#issues"
|
||||||
|
oder einen Pull-Request erstellst.
|
||||||
|
|
||||||
|
.frequently-asked-questions
|
||||||
|
%h3#frequently-asked-questions
|
||||||
|
%a.anchor{ href: "#frequently-asked-questions", aria_hidden: "true" }
|
||||||
|
Häufig gestellte Fragen
|
||||||
|
|
||||||
|
%h4#standard
|
||||||
|
%a.anchor{ href: "#standard", aria_hidden: "true" }
|
||||||
|
Gibt es ein standardisiertes Changelog-Format?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Leider nicht. Es gibt zwar den GNU Changelog Styleguide oder den
|
||||||
|
zwei Absätze langen GNU NEWS-Datei "Leitfaden". Beide sind aber
|
||||||
|
unzureichend.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Dieses Projekt versucht
|
||||||
|
= link_to "eine bessere Changelog Konvention zu sein.", changelog
|
||||||
|
Dazu beobachten wir bewährte Praktiken aus der Open Source Community
|
||||||
|
und tragen sie zusammen.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Gesunde Kritik, Diskussionen und Verbesserungsvorschläge
|
||||||
|
= link_to "sind herzlich willkommen.", issues
|
||||||
|
|
||||||
|
|
||||||
|
%h4#filename
|
||||||
|
%a.anchor{ href: "#filename", aria_hidden: "true" }
|
||||||
|
Wie sollte die Changelog-Datei benannt sein?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Nenne sie <code>CHANGELOG.md</code>. Manche Projekte verwenden auch
|
||||||
|
<code>HISTORY</code>, <code>NEWS</code> oder <code>RELEASES</code>.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Man könnte zwar meinen, dass der Name der Changelog-Datei keine große
|
||||||
|
Bedeutung hat, aber warum sollte man es den Endnutzern nicht einfach machen,
|
||||||
|
die Änderungen des Projekts zu finden, indem man einen einheitlichen Namen
|
||||||
|
verwendet?
|
||||||
|
|
||||||
|
|
||||||
|
%h4#github-releases
|
||||||
|
%a.anchor{ href: "#github-releases", aria_hidden: "true" }
|
||||||
|
Was ist mit GitHub Releases?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Prinzipiell sind #{link_to "GitHub Releases", ghr} eine gute Sache.
|
||||||
|
Sie können dazu benutzt werden, um einfache Git Tags (zum Beispiel einen
|
||||||
|
Tag namens <code>v1.0.0</code>) mit vielen Hinweisen zum Release
|
||||||
|
auszustatten, indem man sie manuell bearbeitet, oder die Änderungen in eine
|
||||||
|
Git Tag Nachricht schreibt, wo sie durch GitHub automatisch in die
|
||||||
|
Release-Notizen gesetzt werden.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Leider lassen sich GitHub Releases aber nicht so einfach exportieren
|
||||||
|
und sind nur über GitHub selber zu lesen. Man kann sie auch so gestalten,
|
||||||
|
dass sie dem Keep a Changelog Format sehr ähnlich sehen, aber dazu betreibt
|
||||||
|
man in der Regel einen größeren Aufwand.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Die derzeitige Version der GitHub Releases sind außerdem nicht leicht
|
||||||
|
durch die Endnutzer zu finden, ganz im Gegenteil zu den typischerweise
|
||||||
|
großgeschriebenen Dateien (<code>README</code>, <code>CONTRIBUTING</code>, etc.).
|
||||||
|
Ein weiterer kleiner Nachteil ist, dass das Web Interface zurzeit keinen Link
|
||||||
|
anbietet, um die Commits zwischen einzelnen Releases miteinander zu vergleichen.
|
||||||
|
|
||||||
|
|
||||||
|
%h4#automatic
|
||||||
|
%a.anchor{ href: "#automatic", aria_hidden: "true" }
|
||||||
|
Können Changelogs automatisiert ausgelesen werden?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Es ist schwierig, weil Menschen meist unterschiedliche Formate und
|
||||||
|
Dateinamen verwenden.
|
||||||
|
|
||||||
|
%p
|
||||||
|
#{link_to "Vandamme", vandamme} ist ein Ruby gem erstellt vom
|
||||||
|
#{link_to "Gemnasium", gemnasium} Team, das viele (aber nicht alle)
|
||||||
|
Changelogs von Open-Source-Projekten einlesen kann.
|
||||||
|
|
||||||
|
|
||||||
|
%h4#yanked
|
||||||
|
%a.anchor{ href: "#yanked", aria_hidden: "true" }
|
||||||
|
Wie sieht es mit zurückgezogenen Releases aus?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Sogenannte "Yanked Releases" sind Versionen, welche wegen schwerwiegenden
|
||||||
|
Bugs oder Sicherheitsproblemen zurückgezogen werden mussten. Häufig kommen
|
||||||
|
diese im Changelog gar nicht vor, aber das sollten sie. So solltest Du diese
|
||||||
|
Versionen darstellen:
|
||||||
|
|
||||||
|
%p <code>## 0.0.5 - 2014-12-13 [YANKED]</code>
|
||||||
|
|
||||||
|
%p
|
||||||
|
Der <code>[YANKED]</code> ist nicht ohne Grund großgeschrieben. Es ist wichtig,
|
||||||
|
dass sie von Menschen bemerkt werden. Weil er von eckigen Klammern umgeben ist,
|
||||||
|
kann man sie außerdem einfacher automatisiert einlesen.
|
||||||
|
|
||||||
|
|
||||||
|
%h4#rewrite
|
||||||
|
%a.anchor{ href: "#rewrite", aria_hidden: "true" }
|
||||||
|
Sollte ich ein Changelog je umschreiben?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Klar. Es gibt immer gute Gründe, ein Changelog zu verbessern. Ich öffne
|
||||||
|
regelmässig Pull Requests, um Open-Source-Projekten mit schlecht gewarteten
|
||||||
|
Changelogs fehlende Releases hinzuzufügen.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Es ist auch möglich, dass Du eine wichtige Änderung vergessen hast, in einer
|
||||||
|
Version zu erwähnen. Natürlich ist es in diesem Fall wichtig, das Changelog
|
||||||
|
zu aktualisieren.
|
||||||
|
|
||||||
|
|
||||||
|
%h4#contribute
|
||||||
|
%a.anchor{ href: "#contribute", aria_hidden: "true" }
|
||||||
|
Wie kann ich mithelfen?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Dieses Dokument ist nicht die <strong>Wahrheit</strong>. Es ist meine wohl überlegte Meinung,
|
||||||
|
zusammen mit von mir zusammengetragenen Informationen und Beispielen.
|
||||||
|
|
||||||
|
%p
|
||||||
|
So möchte ich erreichen, dass die Community einen Konsens findet. Ich glaube, dass
|
||||||
|
die Disskussion genauso wichtig ist wie das Endergebnis.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Also bitte <strong>#{link_to "bring dich ein", gh}</strong>.
|
||||||
|
|
||||||
|
.press
|
||||||
|
%h3 Gespräche
|
||||||
|
%p
|
||||||
|
Ich habe im #{link_to "The Changelog podcast", thechangelog} darüber gesprochen,
|
||||||
|
warum sich Entwickler und Mitwirkende eines Projekts um ein Changelog kümmern sollten,
|
||||||
|
sowie meine Motivationen hinter diesem Projekt erklärt.
|
@ -51,7 +51,7 @@ version: 1.0.0
|
|||||||
|
|
||||||
%p
|
%p
|
||||||
People do. Whether consumers or developers, the end users of
|
People do. Whether consumers or developers, the end users of
|
||||||
software are human beings who care about what's in the sofware. When
|
software are human beings who care about what's in the software. When
|
||||||
the software changes, people want to know why and how.
|
the software changes, people want to know why and how.
|
||||||
|
|
||||||
.good-practices
|
.good-practices
|
||||||
|
@ -33,7 +33,7 @@ version: 1.0.0
|
|||||||
Qu'est-ce qu'un changelog ?
|
Qu'est-ce qu'un changelog ?
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Un changelog (journal de modifications) est un fichier qui contient
|
Un changelog (journal des modifications) est un fichier qui contient
|
||||||
une liste triée chronologiquement des changements notables pour
|
une liste triée chronologiquement des changements notables pour
|
||||||
chaque version d’un projet
|
chaque version d’un projet
|
||||||
|
|
||||||
@ -42,8 +42,8 @@ version: 1.0.0
|
|||||||
Pourquoi tenir un changelog ?
|
Pourquoi tenir un changelog ?
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Pour permettre aux utilisateurs et contributeurs de voir précisement
|
Pour permettre aux utilisateurs et contributeurs de voir précisément
|
||||||
quel changements notables ont été faits entre chaque publication
|
quels changements notables ont été faits entre chaque publication
|
||||||
(ou version) d'un projet.
|
(ou version) d'un projet.
|
||||||
|
|
||||||
%h3#who
|
%h3#who
|
||||||
@ -51,10 +51,10 @@ version: 1.0.0
|
|||||||
Qui a besoin d'un changelog ?
|
Qui a besoin d'un changelog ?
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Tout le monde. Qu'ils soient consomateurs ou developeurs, les
|
Tout le monde. Qu'ils soient consommateurs ou développeurs, les
|
||||||
utilisateurs de logiciels sont des êtres humains qui se soucient
|
utilisateurs de logiciels sont des êtres humains qui se soucient
|
||||||
de connaître le contenu des logiciels qu'ils utilisent. Quand un
|
de connaître le contenu des logiciels qu'ils utilisent. Quand un
|
||||||
logiciel change, ces même personnes veulent savoir comment et pourquoi.
|
logiciel change, ces mêmes personnes veulent savoir comment et pourquoi.
|
||||||
|
|
||||||
.good-practices
|
.good-practices
|
||||||
%h3#how
|
%h3#how
|
||||||
@ -69,7 +69,7 @@ version: 1.0.0
|
|||||||
%li
|
%li
|
||||||
Les changelogs sont <em>pour les êtres humains</em>, pas les machines.
|
Les changelogs sont <em>pour les êtres humains</em>, pas les machines.
|
||||||
%li
|
%li
|
||||||
Il doit il y avoir une section pour chaque version.
|
Il doit y avoir une section pour chaque version.
|
||||||
%li
|
%li
|
||||||
Les changements similaires doivent être groupés.
|
Les changements similaires doivent être groupés.
|
||||||
%li
|
%li
|
||||||
@ -102,7 +102,7 @@ version: 1.0.0
|
|||||||
pour les corrections de bugs.
|
pour les corrections de bugs.
|
||||||
%li
|
%li
|
||||||
%code Security
|
%code Security
|
||||||
en cas de vulnerabilités.
|
en cas de vulnérabilités.
|
||||||
|
|
||||||
.effort
|
.effort
|
||||||
|
|
||||||
@ -114,11 +114,11 @@ version: 1.0.0
|
|||||||
Gardez une section <code>Unreleased</code> en haut du fichier afin de lister
|
Gardez une section <code>Unreleased</code> en haut du fichier afin de lister
|
||||||
tous les changements qui n'ont pas encore été publiés.
|
tous les changements qui n'ont pas encore été publiés.
|
||||||
|
|
||||||
%p Cela rempli deux objectifs:
|
%p Cela permet deux choses:
|
||||||
|
|
||||||
%ul
|
%ul
|
||||||
%li
|
%li
|
||||||
Les gens peuvent voir les changements auxquels ils peuvent s’attendrent
|
Les gens peuvent voir les changements auxquels ils peuvent s’attendre
|
||||||
dans les prochaines publications.
|
dans les prochaines publications.
|
||||||
%li
|
%li
|
||||||
Au moment de la publication, vous pouvez déplacer les changements listés
|
Au moment de la publication, vous pouvez déplacer les changements listés
|
||||||
@ -134,12 +134,12 @@ version: 1.0.0
|
|||||||
|
|
||||||
%h4#log-diffs
|
%h4#log-diffs
|
||||||
%a.anchor{ href: "#log-diffs", aria_hidden: "true" }
|
%a.anchor{ href: "#log-diffs", aria_hidden: "true" }
|
||||||
Diffs de journaux git
|
Diffs de journaux gits
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Utiliser des diffs de journaux git en tant que changelogs est une mauvaise
|
Utiliser des diffs de journaux gits en tant que changelogs est une mauvaise
|
||||||
idée: ils sont remplis de bruit. Les journaux git sont remplis de choses
|
idée: ils sont remplis de bruit. Les journaux gits sont remplis de choses
|
||||||
comme des commits de merge, des commits avec des titres obscures, des
|
comme des commits de merge, des commits avec des titres obscurs, des
|
||||||
changements concernant la documentation, etc.
|
changements concernant la documentation, etc.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
@ -147,9 +147,9 @@ version: 1.0.0
|
|||||||
source. Certains projets nettoient leurs commits, d'autres non.
|
source. Certains projets nettoient leurs commits, d'autres non.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Le but d'une section de changelog est de documenter la difference notable
|
Le but d'une section de changelog est de documenter les différences
|
||||||
entre deux versions, souvent à travers de multiples commits, afin de la
|
notables entre deux versions, souvent à travers de multiples
|
||||||
communiquer clairement aux utilisateurs.
|
commits, afin de les communiquer clairement aux utilisateurs.
|
||||||
|
|
||||||
%h4#ignoring-deprecations
|
%h4#ignoring-deprecations
|
||||||
%a.anchor{ href: "#ignoring-deprecations", aria_hidden: "true" }
|
%a.anchor{ href: "#ignoring-deprecations", aria_hidden: "true" }
|
||||||
@ -157,7 +157,7 @@ version: 1.0.0
|
|||||||
|
|
||||||
%p
|
%p
|
||||||
Lorsque l'on passe d'une version d'un logiciel à une autre, il devrait être
|
Lorsque l'on passe d'une version d'un logiciel à une autre, il devrait être
|
||||||
très clair si quelque chose peut ne pas fonctionner. Il devrait être
|
très clair si quelque chose peut ne plus fonctionner. Il devrait être
|
||||||
possible de mettre à jour vers un version qui offre une liste des
|
possible de mettre à jour vers un version qui offre une liste des
|
||||||
fonctionnalités dépréciées, de retirer ce qui est déprécié, puis de mettre
|
fonctionnalités dépréciées, de retirer ce qui est déprécié, puis de mettre
|
||||||
à jour vers la version où les dépréciations deviennent des suppressions de
|
à jour vers la version où les dépréciations deviennent des suppressions de
|
||||||
@ -180,10 +180,10 @@ version: 1.0.0
|
|||||||
prononcent différement. <code>2012-06-02</code> fonctionne logiquement, du plus grand
|
prononcent différement. <code>2012-06-02</code> fonctionne logiquement, du plus grand
|
||||||
au plus petit, ne laisse pas place à la confusion avec un autre format et
|
au plus petit, ne laisse pas place à la confusion avec un autre format et
|
||||||
est un #{link_to "standard ISO", iso}. C'est pour cela que ce format de date
|
est un #{link_to "standard ISO", iso}. C'est pour cela que ce format de date
|
||||||
est recommandé pour les change logs.
|
est recommandé pour les changelogs.
|
||||||
|
|
||||||
%aside
|
%aside
|
||||||
Il y en a d’autres. Aidez-moi à collecter ces anti-patrons en
|
Il y en a d’autres. Aidez-moi à collecter ces antipatrons en
|
||||||
#{link_to "ouvrant une issue", "#issues"} ou une pull request.
|
#{link_to "ouvrant une issue", "#issues"} ou une pull request.
|
||||||
|
|
||||||
.frequently-asked-questions
|
.frequently-asked-questions
|
||||||
@ -198,7 +198,7 @@ version: 1.0.0
|
|||||||
%p
|
%p
|
||||||
Pas vraiment. Il y a le guide de style GNU pour les changelogs, ou les
|
Pas vraiment. Il y a le guide de style GNU pour les changelogs, ou les
|
||||||
instructions GNU de deux paragraphes pour les fichiers NEWS. Ces deux
|
instructions GNU de deux paragraphes pour les fichiers NEWS. Ces deux
|
||||||
resources sont inappropriées et insuffisantes.
|
ressources sont inappropriées et insuffisantes.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Ce projet vise à devenir
|
Ce projet vise à devenir
|
||||||
@ -213,16 +213,16 @@ version: 1.0.0
|
|||||||
|
|
||||||
%h4#filename
|
%h4#filename
|
||||||
%a.anchor{ href: "#filename", aria_hidden: "true" }
|
%a.anchor{ href: "#filename", aria_hidden: "true" }
|
||||||
Comment doit-être nommé le fichier de change log ?
|
Comment doit-être nommé le fichier de changelog ?
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Nommez le <code>CHANGELOG.md</code>. Certains projects utilisent
|
Nommez-le <code>CHANGELOG.md</code>. Certains projets utilisent
|
||||||
<code>HISTORY</code>, <code>NEWS</code> ou <code>RELEASES</code>.
|
<code>HISTORY</code>, <code>NEWS</code> ou <code>RELEASES</code>.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Même s'il est facile d'imaginer que le nom d'un fichier de changelog n'a
|
Même s'il est facile d'imaginer que le nom d'un fichier de changelog n'a
|
||||||
pas grant interêt, pourquoi rendre la tâche difficile que nécessaire pour
|
pas grand intérêt, pourquoi rendre la tâche plus difficile que nécessaire
|
||||||
les utilisateurs qui cherchent à trouver les changements notables de votre
|
aux utilisateurs qui cherchent à trouver les changements notables de votre
|
||||||
projet ?
|
projet ?
|
||||||
|
|
||||||
%h4#github-releases
|
%h4#github-releases
|
||||||
@ -238,19 +238,19 @@ version: 1.0.0
|
|||||||
|
|
||||||
%p
|
%p
|
||||||
GitHub Releases crée un changelog non-portable qui n'est visible par les
|
GitHub Releases crée un changelog non-portable qui n'est visible par les
|
||||||
utilisateurs qu'à l'interieur du context de GitHub. Il est possible de
|
utilisateurs qu'à l'intérieur du contexte de GitHub. Il est possible de
|
||||||
suivre le même format que Keep a Changelog, mais c'est plus difficile.
|
suivre le même format que Keep a Changelog, mais c'est plus difficile.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
La version actuelle de GitHub Releases est également difficile à découvrir
|
La version actuelle de GitHub Releases est également difficile à découvrir
|
||||||
pour les utilisateurs, contrairement aux fichiers en majuscules typiques
|
pour les utilisateurs, contrairement aux fichiers en majuscules typiques
|
||||||
(<code>README</code>, <code>CONTRIBUTING</code>, etc.). Un autre soucis
|
(<code>README</code>, <code>CONTRIBUTING</code>, etc.). Un autre souci
|
||||||
mineur est que l'interface ne permet pas actuellement d'offrir des liens
|
mineur est que l'interface n'offre actuellement pas de lien vers les
|
||||||
vers les journaux git entre chaque publication.
|
journaux gits entre chaque publication.
|
||||||
|
|
||||||
%h4#automatic
|
%h4#automatic
|
||||||
%a.anchor{ href: "#automatic", aria_hidden: "true" }
|
%a.anchor{ href: "#automatic", aria_hidden: "true" }
|
||||||
Les change logs peuvent-ils être parsés automatiquement ?
|
Les changelogs peuvent-ils être parsés automatiquement ?
|
||||||
|
|
||||||
%p
|
%p
|
||||||
C'est difficile, parce que les gens suivent des formats et utilisent des noms
|
C'est difficile, parce que les gens suivent des formats et utilisent des noms
|
||||||
@ -258,7 +258,7 @@ version: 1.0.0
|
|||||||
|
|
||||||
%p
|
%p
|
||||||
#{link_to "Vandamme", vandamme} est une Ruby gem créée par l'équipe
|
#{link_to "Vandamme", vandamme} est une Ruby gem créée par l'équipe
|
||||||
#{link_to "Gemnasium", gemnasium} qui parse les change logs de
|
#{link_to "Gemnasium", gemnasium} qui parse les changelogs de
|
||||||
beaucoup (mais pas tous) de projets open source.
|
beaucoup (mais pas tous) de projets open source.
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,10 +20,12 @@
|
|||||||
%meta{ property: 'og:type', content: 'article' }
|
%meta{ property: 'og:type', content: 'article' }
|
||||||
%meta{ property: 'og:url', content: path_to_url(current_page.url) }
|
%meta{ property: 'og:url', content: path_to_url(current_page.url) }
|
||||||
%meta{ property: 'og:description', content: current_page.data.description }
|
%meta{ property: 'og:description', content: current_page.data.description }
|
||||||
|
%meta{ property: 'og:image', content: image_path("logo.png") }
|
||||||
= yield_content :og
|
= yield_content :og
|
||||||
|
|
||||||
-# Icons
|
-# Icons
|
||||||
|
|
||||||
|
%link{ rel: "shortcut icon", type: "image/x-icon", href: image_path("favicon.ico") }
|
||||||
%link{ rel: 'canonical', href: path_to_url(current_page.url) }
|
%link{ rel: 'canonical', href: path_to_url(current_page.url) }
|
||||||
|
|
||||||
%title= current_page.data.title
|
%title= current_page.data.title
|
||||||
|
@ -64,7 +64,7 @@ version: 1.0.0
|
|||||||
|
|
||||||
%ul
|
%ul
|
||||||
%li
|
%li
|
||||||
Ändringsloggar är <em>för människor</em>, inte maskiner.
|
Ändringsloggar är <em>för människor</em>, inte maskiner.
|
||||||
%li
|
%li
|
||||||
Det bör finnas en post för varje enskild version.
|
Det bör finnas en post för varje enskild version.
|
||||||
%li
|
%li
|
||||||
@ -117,7 +117,7 @@ version: 1.0.0
|
|||||||
%li
|
%li
|
||||||
Folk kan se vilka ändringar de kan förvänta sig i kommande utgåvor
|
Folk kan se vilka ändringar de kan förvänta sig i kommande utgåvor
|
||||||
%li
|
%li
|
||||||
Vid lansering behöver du bara flytta innehållet i sektionen
|
Vid lansering behöver du bara flytta innehållet i sektionen
|
||||||
<code>Unreleased</code> till en ny versionspost.
|
<code>Unreleased</code> till en ny versionspost.
|
||||||
|
|
||||||
.bad-practices
|
.bad-practices
|
||||||
@ -132,8 +132,8 @@ version: 1.0.0
|
|||||||
Diffar från incheckningsloggen.
|
Diffar från incheckningsloggen.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Det är en dålig idé att använda incheckningsloggen som ändringslogg:
|
Det är en dålig idé att använda incheckningsloggen som ändringslogg:
|
||||||
de är fulla av brus. Saker så som merge-incheckningar, incheckningar med
|
de är fulla av brus. Saker så som merge-incheckningar, incheckningar med
|
||||||
otydliga titlar, dokumentationsförändringar etc.
|
otydliga titlar, dokumentationsförändringar etc.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
@ -150,14 +150,14 @@ version: 1.0.0
|
|||||||
Ignorera föråldrad funktionalitet (deprecations)
|
Ignorera föråldrad funktionalitet (deprecations)
|
||||||
|
|
||||||
%p
|
%p
|
||||||
När användare uppgraderar från en version till en annan, ska det vara
|
När användare uppgraderar från en version till en annan, ska det vara
|
||||||
smärtsamt uppenbart när något förväntas gå sönder. Den bör vara möjligt
|
smärtsamt uppenbart när något förväntas gå sönder. Den bör vara möjligt
|
||||||
att uppgradera till en version som listar föråldrad funktionalitet, ta
|
att uppgradera till en version som listar föråldrad funktionalitet, ta
|
||||||
bort dessa beroenden i sitt program, och sedan uppgradera till en version
|
bort dessa beroenden i sitt program, och sedan uppgradera till en version
|
||||||
där den föråldrade funktionaliteten är borttagen.
|
där den föråldrade funktionaliteten är borttagen.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Om du inte gör något annat, lista åtminstone föråldrad och borttagen
|
Om du inte gör något annat, lista åtminstone föråldrad och borttagen
|
||||||
funktionalitet samt förstörande förändringar i din ändringslogg.
|
funktionalitet samt förstörande förändringar i din ändringslogg.
|
||||||
|
|
||||||
%h4#confusing-dates
|
%h4#confusing-dates
|
||||||
@ -165,11 +165,11 @@ version: 1.0.0
|
|||||||
Förvillande datum
|
Förvillande datum
|
||||||
|
|
||||||
%p
|
%p
|
||||||
I USA lägger folk månaden först (<code>06-02-2012</code> för 2:a juni 2012),
|
I USA lägger folk månaden först (<code>06-02-2012</code> för 2:a juni 2012),
|
||||||
medan många andra runt om i världen skriver <code>2 June 2012</code> men
|
medan många andra runt om i världen skriver <code>2 June 2012</code> men
|
||||||
uttalar det annorlunda. <code>2012-06-02</code> fungerar logiskt från störst
|
uttalar det annorlunda. <code>2012-06-02</code> fungerar logiskt från störst
|
||||||
till minst, överlappar inte på något tvetydligt sätt med andra datumformat,
|
till minst, överlappar inte på något tvetydligt sätt med andra datumformat,
|
||||||
och är en #{link_to "ISO-standard", iso}. Dessutom är det rekommenderat
|
och är en #{link_to "ISO-standard", iso}. Dessutom är det rekommenderat
|
||||||
datumformat för ändringsloggar.
|
datumformat för ändringsloggar.
|
||||||
|
|
||||||
%aside
|
%aside
|
||||||
@ -187,9 +187,9 @@ version: 1.0.0
|
|||||||
Finns det ett standardformat på ändringsloggar?
|
Finns det ett standardformat på ändringsloggar?
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Inte riktigt. GNU:s stilguide för ändringsloggar och den två stycke
|
Inte riktigt. GNU:s stilguide för ändringsloggar och den två stycke
|
||||||
långa GNU NEWS-filen med riktlinjer finns. Båda är bristfälliga och
|
långa GNU NEWS-filen med riktlinjer finns. Båda är bristfälliga och
|
||||||
otillräckliga.
|
otillräckliga.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Detta projekt har som mål att bli
|
Detta projekt har som mål att bli
|
||||||
@ -219,20 +219,20 @@ version: 1.0.0
|
|||||||
|
|
||||||
%p
|
%p
|
||||||
Det är ett fantasiskt initiativ. #{link_to "Releases", ghr} kan användas
|
Det är ett fantasiskt initiativ. #{link_to "Releases", ghr} kan användas
|
||||||
för att göra enkla git-taggar (t.ex. en tagg kallad <code>v1.0.0</code>)
|
för att göra enkla git-taggar (t.ex. en tagg kallad <code>v1.0.0</code>)
|
||||||
till formaterade versionsanteckningar genom att manuellt lägga till
|
till formaterade versionsanteckningar genom att manuellt lägga till
|
||||||
versionsanteckningar eller så kan den hämta meddelandena i kommenterade
|
versionsanteckningar eller så kan den hämta meddelandena i kommenterade
|
||||||
git-taggar och omvandla dessa till versionsanteckningar.
|
git-taggar och omvandla dessa till versionsanteckningar.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
GitHub Releases skapar en icke porterbar ändringslogg som enbart kan visas
|
GitHub Releases skapar en icke porterbar ändringslogg som enbart kan visas
|
||||||
för användare på GitHub. Det är möjligt att formatera det ungefär som på
|
för användare på GitHub. Det är möjligt att formatera det ungefär som på
|
||||||
Håll en ändringslogg-formatet, men det tendera att bli lite mer invecklat.
|
Håll en ändringslogg-formatet, men det tendera att bli lite mer invecklat.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Nuvarande version av GitHub releases är möjligtvis också lite svår att
|
Nuvarande version av GitHub releases är möjligtvis också lite svår att
|
||||||
hitta för slutanvändare, till skillnad från filer med normalt stora
|
hitta för slutanvändare, till skillnad från filer med normalt stora
|
||||||
bokstäver (<code>README</code>, <code>CONTRIBUTING</code>, etc.).
|
bokstäver (<code>README</code>, <code>CONTRIBUTING</code>, etc.).
|
||||||
Ett annat bekymmer är att användargränssnittet för närvarande inte
|
Ett annat bekymmer är att användargränssnittet för närvarande inte
|
||||||
erbjuder länkar till incheckningsloggar mellan olika versioner.
|
erbjuder länkar till incheckningsloggar mellan olika versioner.
|
||||||
|
|
||||||
@ -244,10 +244,10 @@ version: 1.0.0
|
|||||||
Det är svårt då människor följer vitt olika format och filnamn.
|
Det är svårt då människor följer vitt olika format och filnamn.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
#{link_to "Vandamme", vandamme} är en Ruby gem skapad av gruppen
|
#{link_to "Vandamme", vandamme} är en Ruby gem skapad av gruppen
|
||||||
#{link_to "Gemnasium", gemnasium} som tolkar många (men inte alla)
|
#{link_to "Gemnasium", gemnasium} som tolkar många (men inte alla)
|
||||||
ändringsloggar för öppen källkod.
|
ändringsloggar för öppen källkod.
|
||||||
|
|
||||||
%h4#yanked
|
%h4#yanked
|
||||||
%a.anchor{ href: "#yanked", aria_hidden: "true" }
|
%a.anchor{ href: "#yanked", aria_hidden: "true" }
|
||||||
Hur är det med brådskande utgåvor ("yanked")?
|
Hur är det med brådskande utgåvor ("yanked")?
|
||||||
@ -277,7 +277,7 @@ version: 1.0.0
|
|||||||
Det kan också hända att du upptäcker att du glömt att ta upp en icke
|
Det kan också hända att du upptäcker att du glömt att ta upp en icke
|
||||||
bakåtkompatibel förändring i en version. I sådana fall är det självklart
|
bakåtkompatibel förändring i en version. I sådana fall är det självklart
|
||||||
viktigt att uppdatera din ändringslogg.
|
viktigt att uppdatera din ändringslogg.
|
||||||
|
|
||||||
%h4#contribute
|
%h4#contribute
|
||||||
%a.anchor{ href: "#contribute", aria_hidden: "true" }
|
%a.anchor{ href: "#contribute", aria_hidden: "true" }
|
||||||
Hur kan jag bidra?
|
Hur kan jag bidra?
|
||||||
@ -288,10 +288,10 @@ version: 1.0.0
|
|||||||
|
|
||||||
%p
|
%p
|
||||||
Detta beror på att jag vill att vår gemenskap ska nå enighet. Jag tror på
|
Detta beror på att jag vill att vår gemenskap ska nå enighet. Jag tror på
|
||||||
att diskussionen är lika viktig som slutresultatet.
|
att diskussionen är lika viktig som slutresultatet.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Så tveka inte att <strong>#{link_to kasta dig in i diskussionen, gh}</strong>.
|
Så tveka inte att <strong>#{link_to "kasta dig in i diskussionen", gh}</strong>.
|
||||||
|
|
||||||
.press
|
.press
|
||||||
%h3 Samtal
|
%h3 Samtal
|
||||||
|
311
source/tr-TR/1.0.0/index.html.haml
Normal file
311
source/tr-TR/1.0.0/index.html.haml
Normal file
@ -0,0 +1,311 @@
|
|||||||
|
---
|
||||||
|
description: Değişiklik kaydı tutun
|
||||||
|
title: Değişiklik kaydı tutun
|
||||||
|
language: tr-TR
|
||||||
|
version: 1.0.0
|
||||||
|
---
|
||||||
|
|
||||||
|
- changelog = "https://github.com/olivierlacan/keep-a-changelog/blob/master/CHANGELOG.md"
|
||||||
|
- gemnasium = "https://gemnasium.com/"
|
||||||
|
- gh = "https://github.com/olivierlacan/keep-a-changelog"
|
||||||
|
- issues = "https://github.com/olivierlacan/keep-a-changelog/issues"
|
||||||
|
- semver = "http://semver.org/"
|
||||||
|
- shields = "http://shields.io/"
|
||||||
|
- thechangelog = "http://5by5.tv/changelog/127"
|
||||||
|
- vandamme = "https://github.com/tech-angels/vandamme/"
|
||||||
|
- iso = "http://www.iso.org/iso/home/standards/iso8601.htm"
|
||||||
|
- ghr = "https://help.github.com/articles/creating-releases/"
|
||||||
|
|
||||||
|
.header
|
||||||
|
.title
|
||||||
|
%h1 Değişiklik kayıtları tutun
|
||||||
|
%h2 Arkadaşlarınızın, git mesajlarını değişiklik kayıtlarına yığmasını engelleyin.
|
||||||
|
|
||||||
|
= link_to changelog do
|
||||||
|
Version
|
||||||
|
%strong= current_page.metadata[:page][:version]
|
||||||
|
|
||||||
|
%pre.changelog= File.read("CHANGELOG.md")
|
||||||
|
|
||||||
|
.answers
|
||||||
|
%h3#what
|
||||||
|
%a.anchor{ href: "#what", aria_hidden: "true" }
|
||||||
|
Nedir bu değişiklik kayıtları?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Değişiklik kayıtları bir proje için özel olarak hazırlanmış,
|
||||||
|
tarihsel sıralamayla sıralanmış, önemli değişikliklerin bir bütünüdür.
|
||||||
|
|
||||||
|
%h3#why
|
||||||
|
%a.anchor{ href: "#why", aria_hidden: "true" }
|
||||||
|
Değişikliklerin kayıtlarını tutmanın anlamı ne?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bir projenin kullanıcılarının ya da katılımcılarının, dağıtımlar
|
||||||
|
(ya da sürümler) arasındaki tam olarak hangi önemli değişikliklerin
|
||||||
|
olduğunu takip edebilmelerini sağlar.
|
||||||
|
|
||||||
|
%h3#who
|
||||||
|
%a.anchor{ href: "#who", aria_hidden: "true" }
|
||||||
|
Kim değişiklik kayıtlarına ihtiyaç duyar ki?
|
||||||
|
|
||||||
|
%p
|
||||||
|
İnsanlar. İster tüketici olsun, ister geliştirici, kullanılan yazılımın
|
||||||
|
son kullanıcıları, o yazılımın içinde ne olduğunu önemseyen kişilerdir.
|
||||||
|
Yazılım değiştiğinde, insanlar neden ve nasıl olduğunu bilmek isterler.
|
||||||
|
|
||||||
|
.good-practices
|
||||||
|
%h3#how
|
||||||
|
%a.anchor{ href: "#how", aria_hidden: "true" }
|
||||||
|
Nası iyi değişiklik kayıtları tutarım?
|
||||||
|
|
||||||
|
%h4#principles
|
||||||
|
%a.anchor{ href: "#principles", aria_hidden: "true" }
|
||||||
|
Rehber prensipler
|
||||||
|
|
||||||
|
%ul
|
||||||
|
%li
|
||||||
|
Değişiklik kayıtları <em>insanlar</em> içindir, makineler için dğeil.
|
||||||
|
%li
|
||||||
|
Her sürüm için bir girdi içermelidir.
|
||||||
|
%li
|
||||||
|
Benzer değişiklikler gruplanmalıdır.
|
||||||
|
%li
|
||||||
|
SÜrümler ve bölümlere bağlantı verilebilir olmalıdır.
|
||||||
|
%li
|
||||||
|
En son sürüm ilk başta olur.
|
||||||
|
%li
|
||||||
|
Her sürümün dağıtım tarihi bulunmalıdır.
|
||||||
|
%li
|
||||||
|
Geliştirirken #{link_to "Anlamlı sürümlendirme", semver} kullanıp kullanmadığınızı bildirin.
|
||||||
|
|
||||||
|
%a.anchor{ href: "#types", aria_hidden: "true" }
|
||||||
|
%h4#types Değişiklik tipleri
|
||||||
|
|
||||||
|
%ul
|
||||||
|
%li
|
||||||
|
%code Eklendi
|
||||||
|
\: Yeni özellikler için.
|
||||||
|
%li
|
||||||
|
%code Değişti
|
||||||
|
\: Var olan becerilerde yapılan değişiklikler için.
|
||||||
|
%li
|
||||||
|
%code Rafa kalktı
|
||||||
|
\: Gelecekte yok olacak beceriler için.
|
||||||
|
%li
|
||||||
|
%code Kaldırıldı
|
||||||
|
\: Kaldırılan beceriler için.
|
||||||
|
%li
|
||||||
|
%code Düzeltildi
|
||||||
|
\: Ayıklanmış hatalar için.
|
||||||
|
%li
|
||||||
|
%code Güvenlik
|
||||||
|
\: Bir güvenlik açığı söz konusuysa.
|
||||||
|
|
||||||
|
.effort
|
||||||
|
|
||||||
|
%h3#effort
|
||||||
|
%a.anchor{ href: "#effort", aria_hidden: "true" }
|
||||||
|
Gerekli çabayı nasıl en aza indirebilirim?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Her zaman en üstte, değişiklikleri takip ettiğiniz bir <code>Yayımlanmadı</code>
|
||||||
|
bölümü olsun
|
||||||
|
|
||||||
|
%p Bu, iki amaca hizmet eder:
|
||||||
|
|
||||||
|
%ul
|
||||||
|
%li
|
||||||
|
İnsanlar gelecek sürümlerde karşılarına ne gibi değişiklikler çıkacağını görebilirler
|
||||||
|
%li
|
||||||
|
Dağıtım zamanı geldiğinde <code>Yayımlanmadı</code> bölümünü
|
||||||
|
yeni dağıtım sürümü bölümü olarak kullanabilirsiniz.
|
||||||
|
|
||||||
|
.bad-practices
|
||||||
|
%h3#bad-practices
|
||||||
|
%a.anchor{ href: "#bad-practices", aria_hidden: "true" }
|
||||||
|
Değişiklik kütükleri kötü olabilirler mi?
|
||||||
|
|
||||||
|
%p Evet. Buyrun size işe yaramayacak bir kaç örnek.
|
||||||
|
|
||||||
|
%h4#log-diffs
|
||||||
|
%a.anchor{ href: "#log-diffs", aria_hidden: "true" }
|
||||||
|
Commit kayıtlarının farkları
|
||||||
|
|
||||||
|
%p
|
||||||
|
Değişiklik kayıtları için commit kayıtlarının farklarını kullanmak
|
||||||
|
kötü bir fikirdir: genellikle çok gürültülü olurlar. Commit birleşmeleri,
|
||||||
|
kötü başlıklı commitler, belgeleme değişiklikleri vb.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bir commit yapılmasının sebebi, kodun bir sonraki aşamaya evrilmesidir.
|
||||||
|
Bazı projeler commitleri temizler, bazıları temizlemez.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Değişiklik kayıtlarına eklenen bir girdi ise, öneme sahip bir değişikliğin
|
||||||
|
belgelenmesi amaçlıdır. Genelde bir çok commit işlemini kapsar ve son
|
||||||
|
kullanıcıyla iletişimi açık tutar.
|
||||||
|
|
||||||
|
%h4#ignoring-deprecations
|
||||||
|
%a.anchor{ href: "#ignoring-deprecations", aria_hidden: "true" }
|
||||||
|
Rafa kalkanları göz ardı etmek
|
||||||
|
|
||||||
|
%p
|
||||||
|
İnsanlar bir sürümden diğerine yükselttiklerinde, bir şeylerin bozulup
|
||||||
|
bozulmayacağı acı verici derecede açık olmalıdır. Rafa kalkan özelliklerin
|
||||||
|
listelendiği, sonra bu rafa kaldırılanlara yönelik kendi geliştirmelerini
|
||||||
|
yapabileceği ve sonrasında da özelliklerin tamamen kaldırıldığı sürüme
|
||||||
|
geçiş yapabilmeliler.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Eğer hiç bir şey yapmasanız bile, rafa kalkanlaı, kaldırılanları ve
|
||||||
|
önemli değişiklikleri değişiklik kayıtlarınızda listeleyin.
|
||||||
|
|
||||||
|
|
||||||
|
%h4#confusing-dates
|
||||||
|
%a.anchor{ href: "#confusing-dates", aria_hidden: "true" }
|
||||||
|
Kafa karıştırıcı tarihler
|
||||||
|
|
||||||
|
%p
|
||||||
|
A.B.D.'de insanlar ay kısmını önce kullanırken (2 Haziran 2012 için
|
||||||
|
<code>06-02-2012</code>), dünyanın bir çok bölümünde daha robotik bir
|
||||||
|
kullanım <code>2 Haizran 2012</code> söz konusu. <code>2012-06-02</code>
|
||||||
|
biçimi en küçüğünden en büyüğüne tüm biçimlerle çalışmadan kullanılabiliyor
|
||||||
|
ve #{link_to "ISO standardı", iso}. Bu sebeple değişiklik kayıtlaro için
|
||||||
|
önerilen tarih biçimidir.
|
||||||
|
|
||||||
|
%aside
|
||||||
|
Dahası da var. Bu karşıt desenleri toplamam için
|
||||||
|
= link_to "bir çağrı açın", "#issues"
|
||||||
|
ua da bir çekme isteği gönderin.
|
||||||
|
|
||||||
|
.frequently-asked-questions
|
||||||
|
%h3#frequently-asked-questions
|
||||||
|
%a.anchor{ href: "#frequently-asked-questions", aria_hidden: "true" }
|
||||||
|
Sıkça sorulan sorular
|
||||||
|
|
||||||
|
%h4#standard
|
||||||
|
%a.anchor{ href: "#standard", aria_hidden: "true" }
|
||||||
|
Standart bir değişiklik kayıt biçimi var mı?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Pek sayılmaz. GNU değişiklik kayıtları sil rehberi mevcut ya da
|
||||||
|
iki paragraf GNU NEWS dosyası "guideline" var. İkisi de uygun
|
||||||
|
değiller ve yetersizler.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bu proje daha iyi
|
||||||
|
= link_to "bir değişiklik kayıtları düzeni.", changelog
|
||||||
|
oluşturmaya çalışıyor. Bunun için de açık kaynaklı topluluklardaki,
|
||||||
|
en iyi kullanımları inceleyip, topluyoruz.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Sağlıklı eleştiriler, tartışmalar ve öneriler, projenin gelişmesi
|
||||||
|
için her zaman
|
||||||
|
= link_to "hoş karşılanır.", issues
|
||||||
|
|
||||||
|
|
||||||
|
%h4#filename
|
||||||
|
%a.anchor{ href: "#filename", aria_hidden: "true" }
|
||||||
|
Değişiklik kayıtları dosyasının ismi ne olmalı?
|
||||||
|
|
||||||
|
%p
|
||||||
|
İsterseniz <code>CHANGELOG.md</code> olarak isimlendirin. Bazı projeler
|
||||||
|
<code>HISTORY</code>, <code>NEWS</code> ya da <code>RELEASES</code>
|
||||||
|
kullanıyor.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Dosya isminin çok da önemli olmadığını düşünebilirsiniz, fakat
|
||||||
|
nedne kullanıcılarınızın değişiklikleri taki edebilmesi için
|
||||||
|
onların işlerini zorlaştırasınız ki?
|
||||||
|
|
||||||
|
%h4#github-releases
|
||||||
|
%a.anchor{ href: "#github-releases", aria_hidden: "true" }
|
||||||
|
GitHub dağıtımları ne olacak?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Harika bir girişim. #{link_to "Dağıtımlar", ghr} içine kendiniz
|
||||||
|
değişiklik kayıtları eklerseniz basit git etiketlerini
|
||||||
|
(örneğin <code>v1.0.0</code>) zengin dağıtım notlarına çevirebilir
|
||||||
|
ya da notlar eklenmiş git etiketlerinden oluşturulabilirsiniz.
|
||||||
|
|
||||||
|
%p
|
||||||
|
GtHub dağıtımları sadece GitHub içeriğinde görüntülenebilecek,
|
||||||
|
taşınamaz değişiklik kayıtları oluşturur. Biraz emek harcayarak
|
||||||
|
"Keep a Changelog" biçimine uygun hale getirilebilir.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Ayrıca GitHub dağıtımlarının şu anki hali son kullanıcılar tarafından
|
||||||
|
çok kolay bulunabilir değil. Tipik büyük harfli dosyalar
|
||||||
|
(<code>README</code>, <code>CONTRIBUTING</code>, vb.) daha çok göze
|
||||||
|
çarpıyor. Bir başka konu da mevcut arayüz her dağıtım arasındaki
|
||||||
|
commit kayıtlarına bağlantı vermeye izin vermiyor..
|
||||||
|
|
||||||
|
%h4#automatic
|
||||||
|
%a.anchor{ href: "#automatic", aria_hidden: "true" }
|
||||||
|
Değişiklik kayıtları otomatik olarak toplanabilir mi?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Zor, çünkü insanlar bir çok farklı biçim ve dosya isimleri
|
||||||
|
kullanıyorlar.
|
||||||
|
|
||||||
|
%p
|
||||||
|
#{link_to "Vandamme", vandamme}, #{link_to "Gemnasium", gemnasium}
|
||||||
|
ekibi tarafından oluşturulmuş bir Ruby Gem'i ve bir çok (ama hepsi
|
||||||
|
değil) açık kaynak projenin değişiklik kayıtlarını okuyabiliyor.
|
||||||
|
|
||||||
|
|
||||||
|
%h4#yanked
|
||||||
|
%a.anchor{ href: "#yanked", aria_hidden: "true" }
|
||||||
|
Peki ya Geri çekilen dağıtımlar?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Geri çekilen dağıtımlar, önemli hatalar ya da güvenlik sebepleri nedeniyle
|
||||||
|
yayından geri çekilen sürümlerdir. Genelde bu sürümler değişiklik kayıtlarında
|
||||||
|
görüntülenmezler. Görünmeliler. Tam da şu şekilde görünmeliler:
|
||||||
|
|
||||||
|
%p <code>## 0.0.5 - 2014-12-13 [GERİ ÇEKİLDİ]</code>
|
||||||
|
|
||||||
|
%p
|
||||||
|
<code>[GERİ ÇEKİLDİ]</code> etiketi belirli bir sebepten büyük harf.
|
||||||
|
İnsanların bunu fark etmeleri çok önemli. Ayrıca köşeli parantezler
|
||||||
|
ile çevrelenmiş olması programatik olarak da ayrıştırılabilmesine
|
||||||
|
olanak sağlıyor.
|
||||||
|
|
||||||
|
%h4#rewrite
|
||||||
|
%a.anchor{ href: "#rewrite", aria_hidden: "true" }
|
||||||
|
Değişiklik kayıtlarınızı tekrar yazmalı mısınız?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Tabii ki. Her zaman değişiklik kayıtlarını geliştirmek için iyi sebepler vardır.
|
||||||
|
Düzenli olarak açık kaynaklı projelerde bakım yapılmayan değişiklik kayıtları
|
||||||
|
için çekme istekleri yapıyorum.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Ayrıca bir sürümdeki notların arasında önemli bir değişiklikten bahsetmeyi
|
||||||
|
unutmuş olduğunuzu fark edebilirsiniz. Değişiklik kayıtlarınızı bu bilgi ışığında
|
||||||
|
güncellemeniz gerektiği gün gibi ortada.
|
||||||
|
|
||||||
|
%h4#contribute
|
||||||
|
%a.anchor{ href: "#contribute", aria_hidden: "true" }
|
||||||
|
Nasıl katkıda bulunabilirim?
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bu belge <strong>doğrunun kendisi</strong> değil; benim ince eleyip
|
||||||
|
sık dokuduğum görüşlerimdir. Beraberinde toparlamış olduğum bilgiler
|
||||||
|
ve örnekler bulunur.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bunu istememin sebebi topluluğun ortak bir paydada buluşmasını istememdir.
|
||||||
|
İnanıyorum ki tartışmanın kendisi de sonucu kadar önemli.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Yani, lütfen <strong>#{link_to "siz de katılın", gh}</strong>.
|
||||||
|
|
||||||
|
.press
|
||||||
|
%h3 Sohbetler
|
||||||
|
%p
|
||||||
|
Geliştiricilerin ve katkıda bulunanların neden değişiklik kayıtlarını
|
||||||
|
dikkate almaları gerekliliğini ve bu projenin arkasındaki motivasyonu
|
||||||
|
anlattığım #{link_to "Değişiklik Kayıtları podcast", thechangelog}'ini
|
||||||
|
inceleyebilirsiniz.
|
Loading…
x
Reference in New Issue
Block a user