I think using xml is very impractical , commit messages are intended to be written and consumed by humans; generating, mixing and validating machine friendly content (in this case xml) with taht it's not a good idea. We can use a more simple aproach like adding a special keyword that identifies a commit message sentence as a potential changelog message. For example:
 
- Content 

- Stop mixing unicode and ANSI strings (@notepad)

- Don’t dereference NULL pointers (b:999@user32)

- More content

 

This content can then be parsed with a simple regular expression to auto generate the changelog as follows:

 

- Notepad

 

-  Stop mixing unicode and ANSI strings (GED) (rev 123-3/07/2009)

 

USER32

 

- (BugFix see 999), Don’t dereference NULL pointers (GED) (rev123-3/07/2009)

 

Regards,

/Marc

 


From: Ged
Sent: Friday, July 03, 2009 3:30 PM
To: ros-dev@reactos.org
Subject: [ros-dev] Commit log

I think we all agree that the process of filling out a changelog is a task we would rather avoid.

Collibri has made some efforts to alleviate this and despite getting some good results we’re also seeing a lot of information which isn’t changelog oriented. This now leaves us with a new problem of having to manually go through data output from Collibri’s tool and reformat it.

This is arguably more time consuming than the original method and isn’t working for us in its current form.

 

The current problem with this method is that a commit log is not a changelog and getting something which can be classed as a changelog from this without human intervention is an impossible task. There are also some people who would rather write their own changelog instead of allowing a tool to generate it for you.

 

The problem as I see it is two fold :

 

-          Commit messages generally contain cryptic message, humour, idioms and frustration

-          Patches can spread over a wide range of modules making it difficult to insert them into the correct position in the changelog.

 

A possible solution to this is to wrap up a changelog in XML elements. Such a commit log would be as follows :

 

......................................................................................................

- Stop mixing unicode and ANSI strings

- Don’t dereference NULL pointers

 

<changelog>

  <notepad>Converted the application to Unicode</notepad>

  <user32>Fixed a crash highlighted via  adobe acrobat</user32>

</changelog>

......................................................................................................

 

This will allow anyone who wants to have a changelog autogenerated at release time to take advantage and anyone who wants to do their own to ignore it.

The problem with this method lies in getting the XML tags correct.

 

Anyone have any other ideas?

 

Ged.

 

 

 


_______________________________________________
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev