Aide  la gestion du fichier ChangeLog
======================================

:Author: Sylvain Thnault
:Organization: Logilab
:Version: $Revision: 1.1 $
:Date: $Date: 2003-09-19 11:50:08 $

.. contents::

Format standard d'un fichier ChangeLog
--------------------------------------

Le mieux et de voir a  partir d'un exemple : 

::

    Change log for project XXX
    ==========================

     --
	* add a new functionnality

    2002-02-01 -- 0.1.1
	* fix bug #435454
	* fix bug #434356

    2002-01-01 -- 0.1
	* initial release


Il y a dans ce fichier 3 entres, une pour chaque version dj distribues
et une pour la prochaine version, l'entre courante. Chaque entre
contient des messages correspondant aux changements effectus depuis la
version prcdente.

Il est important de noter que l'entre courante ne possde pas encore de
date ni de numro de version.

Chaque ligne non vide avant la premire entre est considre comme
faisant parti du titre.


L'utilitaire *changelog*
------------------------

Description
```````````

Cette utilitaire permet de manipuler les fichiers ChangeLog au format dcrit
ci-dessus. 


Synopsis
````````

::

    USAGE: changelog [OPTIONS] [COMMAND] [COMMAND_ARGS]

    OPTIONS:
      --help
	display this help message
      --pkg-dir &lt;dir>
	base directory of the package
      --new
	create a new entry if no current entry found

    COMMAND COMMANDS_ARGS
      extract [release]
	extract messages for a given release. If no release is given, get messages
	for the current entry.

      lastrev
	retreive the latest version released

      add &lt;message>
	add a message to the current entry

      update
	update the change log by fectching log entries from cvs

      close
	close the current entry (version is read from the package
	__init__.py file)


Ce script est appel automatiquement par *preparedistrib* afin d'extraire les
messages de la rvision courante et de gnerer l'annonce, puis de fermer
l'entre courante.


Intgration avec *[X]Emacs*
---------------------------

Ce paquet fournit un mode Emacs pour notre format spcifique, crit  l'aide de
Pymacs_. Afin d'utiliser ce format de change log dans *[X]Emacs*, il faut
ajouter les lignes suivantes  votre *.emacs* (pensez  adapter les chemins !) :

::

    ;; Pymacs
    (autoload 'pymacs-load "pymacs" nil t) 
    (autoload 'pymacs-eval "pymacs" nil t) 
    (autoload 'pymacs-apply "pymacs") 
    '(add-to-list 'pymacs-load-path "/home/syt/cvs_work/logilab") 
    '(add-to-list 'pymacs-load-path "/home/syt/lib/python2.2/site-packages") 
    ;; change log 
    (load-library "changelog")


Si le paquet *devtools* n'est pas install dans un rpertoire standard, il faut
qu'il soit accessible grce  la liste pymacs-load-path (quivalent du
*PYTHONPATH* pour *pymacs*). 

Evidemment l'installation  l'aide de devtools  partir du paquet debian vite
tout cela :o)

.. _Pymacs: http://www.iro.umontreal.ca/~pinard/pymacs/