Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2006-09-14 18:53:03
Size: 1190
Editor: mpm
Comment:
Revision 3 as of 2006-09-15 23:42:46
Size: 1324
Editor: EricHopper
Comment:
Deletions are marked like this. Additions are marked like this.
Line 44: Line 44:

A preliminary patch is available here: http://perso.ens-lyon.fr/benoit.boissinot/extendedchangelog.diff
----
CategoryNewFeatures

It's occassionally been desirable to add additional information to the changelog. Unfortunately, the current format is difficult to extend without confusing older hg clients.

The current format looks like this:

<manifest hash>\n
<user>\n
<time> <timezone>\n
file1\n
file2\n
file3\n
...
\n
comment text
...

Everything after the first double newline is the comment. Everything from line 3 to the double newline is the file list. And all the other lines are accounted for. Fortunately, the third line with the time stamp is not used in its entirety. The first two fields are parsed out. So to extend our field, we need to stick some extra data after timezone and before the newline.

Our extra data cannot contain newlines, so it needs to be escaped. For extensibility, it should also have named fields. Something like:

key1:value1\0
key2:value2\0
key3:value3

Escape sequences:

\\ -> \
\n -> linefeed
\r -> carriage return

Note that NUL is used as a separator to avoid extra newlines that would need escaping. After escaping, this extra data can be inserted in the changelog here:

<time> <timezone> <extra>\n

A preliminary patch is available here: http://perso.ens-lyon.fr/benoit.boissinot/extendedchangelog.diff


CategoryNewFeatures

ExtendedChangelog (last edited 2012-10-25 21:04:07 by mpm)