a825281071af96cc148e49c64ac36d8c5cf26f71 |
|
14-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Remove unnecessary mail_save_context.dest_mail==NULL checks
It can never be NULL after the previous change: "lib-storage: Always create
mail_save_context.dest_mail".
The code removal in maildir_transaction_save_commit_pre() seemed
potentially dangerous, but I don't think such code path is possible
anymore. Also even if it is, it's probably fine since the mail_free()
is called even earlier than before (although that itself might have
been a problem).
This also removes last traces of code that made it possible to save mails to
mbox without assigning UID to the mail. The previous commit already caused
this, so this is just removing dead code. |
aa47c9bd1d1fc70cd699c49fd1ca92dbc7615953 |
|
21-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Added quick parameter to list_index_has_changed() |
0dffa25d211be541ee3c953b23566a1a990789df |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: unsigned int:1 -> bool:1
perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch] |
3063bd8ff05d3d8cd33156f4366b36890e501436 |
|
19-Nov-2014 |
Timo Sirainen <tss@iki.fi> |
mbox: Added more (and earlier) detection for errors in mbox istreams. |
fad2e085dbb4cf09cfd99b96f9cd89994f0908be |
|
22-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
mbox: Fixed mailbox_list_index=yes to work with non-Dovecot mbox changes. |
511a7ccd55cea57c9d953920b7d651720128ada9 |
|
16-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
mbox: Handle broken Status: and X-Status: headers without sync errors. |
4ee00532a265bdfb38539d811fcd12d51210ac35 |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name
Easy way to update your existing code:
perl -i -pe 's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch] |
bfa7ef85a07f07b7d2e72471a584689cfb6adc31 |
|
14-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
mbox: Generate mailbox GUID without syncing the mbox, locking it is enough. |
f140f88a5ab3e2194f214c11f9f418559e949c83 |
|
18-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
mbox: Fixed getting header MD5 (GUID) if it wasn't already in index.
--HG--
branch : HEAD |
fa3be6b0d9d9fc0264a8434e17e26ad26c739dae |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
mbox: Removed unused MBOX_SYNC_LAST_COMMIT and related code.
--HG--
branch : HEAD |
ced118ac5caf6fe83d34339c2c65c63b2aa768ac |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
index-storage: Code cleanup.
--HG--
branch : HEAD |
690bafa70767e3f6e98bbfd62ad4a26be2387ea9 |
|
13-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
mbox: Added a new index header where dirtyness state is stored.
This also fixes a bug where sync_size wasn't updated in header when mbox was
marked dirty, causing other parts of code to assume wrong file size and
return wrong size for the last message and/or cause "Next message
unexpectedly lost" errors.
--HG--
branch : HEAD |
b6d817f0effeff645aadc01fd468a7d4084ba1f2 |
|
04-May-2008 |
Timo Sirainen <tss@iki.fi> |
mbox_lazy_writes: If errors are noticed in mbox, write changes to fix them
immediately to avoid constant errors in logs.
--HG--
branch : HEAD |
32d9a75612a5df455e4169b56538bb31dfe359e4 |
|
21-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
When saving to empty mbox files, sync them first since it doesn't take
hardly any time anyway.
--HG--
branch : HEAD |
43d32cbe60fdaef2699d99f1ca259053e9350411 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED.
--HG--
branch : HEAD |
c25356d5978632df6203437e1953bcb29e0c736f |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed .h ifdef/defines to use <NAME>_H format.
--HG--
branch : HEAD |
73b50eecfc31750a312e2f940023f522eb07178c |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_lookup*() can't fail anymore. Changed several APIs not to return
failure anymore.
--HG--
branch : HEAD |
a8b8cce8569753ed47c94782283a24fb11c5ab52 |
|
16-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Fixes to recent handling. Now it should work properly.
--HG--
branch : HEAD |
1d3f7c1278168d5b1cbfa9a2cc9929a0909056b4 |
|
16-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Recent flag handling rewrite. Still not perfect with maildir.
--HG--
branch : HEAD |
022412398e56a8f31ef111cfd7271498d64af9a9 |
|
08-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Moved index sync record grouping from mbox to generic code.
--HG--
branch : HEAD |
f6699a08521aacc4c2bb5b6175691dad5f715f8c |
|
01-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Handle UIDVALIDITY changes by resetting index.
--HG--
branch : HEAD |
9d0e1fa945103f2875cdf6d18b2013809f566ea7 |
|
14-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Preserve mbox files' atime when saving/syncing.
--HG--
branch : HEAD |
5137d2d80255938a0f5fb8f3c1a21b34cf11ada3 |
|
17-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Added sync_notify() callback to struct mail_storage. It's now called for
expunges and flag/keyword changes (except with cydir).
--HG--
branch : HEAD |
a2637488c8d514ec1ac3914811deee814f9761b3 |
|
06-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Give "mbox file was modified while we were syncing" error only if we detect
some problems in the mbox file. The check can't be trusted with NFS.
--HG--
branch : HEAD |
299183fbb6ec5d0828a0880da372540421ac4665 |
|
21-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Check if mbox has been modified externally before doing any dangerous
writes. Also changed the old "space needed changed unexpectedly" assert to a
more informative panic.
--HG--
branch : HEAD |
13e2a668da881719e6fbec7d7825421dafb42761 |
|
14-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
uint8_t:1 is GCC extension, changed back to using unsigned int:1 although it
takes a bit more memory now.
--HG--
branch : HEAD |
1e76a5b92f9d82d557f81f080f3dfad1c9d8f200 |
|
10-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Cleaned up the code a bit. Fixed sync rewrite crashing with pseudo mails.
--HG--
branch : HEAD |
e05ea8311ae16687295048e88ca205dfe29fbcbf |
|
07-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Keep track of the mbox dirty state better. Also when moving mails inside
an mbox without changing the file's size, make sure the file's
mtime changes even if it means sleeping for a second.
--HG--
branch : HEAD |
a486ed03dce069ff60ab5a65d0ae24a1862f22fc |
|
28-Feb-2007 |
Timo Sirainen <tss@iki.fi> |
If next_uid field gets to 2^31-1, handle it without crashing by creating a
new uidvalidity and renumbering the UIDs (although it requires selecting the
mailbox twice, first time to get index file deleted).
--HG--
branch : HEAD |
2eee1cb7bf785a5653b70bcb59059d29ed21d39c |
|
20-Feb-2007 |
Timo Sirainen <tss@iki.fi> |
Rewriting still wasn't replacing broken X-UID headers correctly always,
causing assert-crashes.
--HG--
branch : HEAD |
bf301a34ffbfd049be583094019b2644884b6d0b |
|
16-Feb-2007 |
Timo Sirainen <tss@iki.fi> |
Fixed some wrong "uid-last unexpectedly lost" errors.
--HG--
branch : HEAD |
dc52b16795b56589923ff586e5cdd0c0f1fd5931 |
|
22-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Restore sync_ctx->next_uid to original value when beginning a rewrite. This
could fix some problems with broken UIDs causing crashes.
--HG--
branch : HEAD |
343a527f805ca5cce78496b959d6def70e5d0cd4 |
|
26-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Last keyword pool clearing optimization broke the keywords if we had to move
mails around in the file.
--HG--
branch : HEAD |
c35d0c3eb4ba89432896e1f9770ab31cc63c232b |
|
16-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Fixes to handling CRLF linefeeds in mboxes.
--HG--
branch : HEAD |
8d80659e504ffb34bb0c6a633184fece35751b18 |
|
28-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
Array API redesigned to work using unions. It now provides type safety
without having to enable DEBUG, as long as the compiler supports typeof().
Its API changed a bit. It now allows directly accessing the array contents,
although that's not necessarily recommended. Changed existing array usage to
be type safe in a bit more places. Removed array_t completely. Also did
s/modifyable/modifiable/.
--HG--
branch : HEAD |
6ef7e31619edfaa17ed044b45861d106a86191ef |
|
13-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added "bool" type and changed all ints that were used as booleans to bool.
--HG--
branch : HEAD |
f4b93a46e140823a64d88763ea6ef9f03c49844e |
|
27-Oct-2005 |
Timo Sirainen <tss@iki.fi> |
When rewriting mbox, don't parse the last message again. We already have its
contents in mail_ctx, so pass it over to rewriter so it can reuse it. This
fixes also a crash when last message's header ended unexpectedly and mbox
file was grown (the added NULs were treated as the last message's headers).
--HG--
branch : HEAD |
912e870dcab2dadac8a6b20b42367999cdd8b5a1 |
|
07-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
Don't crash in some situations with broken X-UID headers.
--HG--
branch : HEAD |
6060b7c8edf8fce73470d0df6a2479b69b01c537 |
|
26-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
If we see mbox offsets break, don't invalidate whole index but rather force
resyncing.
--HG--
branch : HEAD |
58eb2cb24dbeadd94500670acad7ceb1c8b0d9b4 |
|
26-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
If uid-last isn't actually updated while rewriting first message, don't
assume it is. Fixes bogus "uid-last changed" errors.
--HG--
branch : HEAD |
aa38d1a0945f0bc13a225d043f53fad2eec666b1 |
|
23-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
If UIDVALIDITY changes, don't invalidate the whole index. Just expunge all
existing messages and update uidvalidity/nextuid fields. Now we don't have
to re-login when this happens.
--HG--
branch : HEAD |
fa09eae7ccb899ae8ee791435e0a2cfca57cd76d |
|
08-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Since we always parse the first message now, there's no need ever to do
sync_restart.
--HG--
branch : HEAD |
b5e6f6f27c1461f0f9f202615eeb738a645188c3 |
|
08-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Moved mbox/maildir-specific variables from struct index_mailbox to
mbox_mailbox and maildir_mailbox.
--HG--
branch : HEAD |
84e1634acc701d14e358e27f1beff5ad74f5004a |
|
08-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Large mbox code cleanups, especially related to X-IMAP/X-IMAPbase header
handling. uid-next field is updated now every time while syncing.
If partial syncing failed, we weren't re-requesting all sync records from
index, which could have caused some changes to be lost, and possibly caused
some index corruption errors later on.
Several other more or less possible problems fixed.
--HG--
branch : HEAD |
bb10ebcf076c959c752f583746d83805d7686df8 |
|
02-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Keywords are now stored in X-Keywords headers in mbox. Did several related
API changes to get better performance.
--HG--
branch : HEAD |
d0d7fcf3ce44f26fdf34c1542a25cec644c5c4c7 |
|
29-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Recent flag handling cleanups. Added some comments.
--HG--
branch : HEAD |
b225c3c65f360d7b833f09f9b2fb3035ed5ea600 |
|
29-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
i_stream_sync() replaced istream_raw_mbox_flush(). Use i_stream_stat()
instead of fstat() directly. Now we have the possibility to use istreams as
read-only mboxes.
--HG--
branch : HEAD |
39775ad03c459efe64cce924658da5094ba417e1 |
|
27-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Changed mails and syncs buffers to arrays.
--HG--
branch : HEAD |
268fe0fe3e748ae313e08b0918aa114815cf9d7c |
|
19-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
Don't allow X-UID headers larger than current next-uid.
--HG--
branch : HEAD |
16c89b1260c9d07c01c83a9219424d3727069b2e |
|
26-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Initial support for keywords. Syncing to mbox/maildir doesn't work yet.
--HG--
branch : HEAD |
1430ad83da079f60c8ad86abf398eaff9f34e97a |
|
15-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Removed X-UIDL header handling. It's not actually used.
--HG--
branch : HEAD |
e178b2fdea21d6873eec738c9e22f70a19760652 |
|
15-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Reorganized mbox md5 summing code so it doesn't require sync context anymore.
--HG--
branch : HEAD |
e80454e6d3948648952226e44fab5862e2183a17 |
|
14-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Moved mbox header MD5 summing code into separate file so it's easily changed.
--HG--
branch : HEAD |
f3e17cd2e407a0b05657c00322d2b209df5ad27e |
|
25-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
cleanup
--HG--
branch : HEAD |
c263e92d73889da530b308c9ab28b4b74031550e |
|
25-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
restart partial syncs correctly. and cleanups.
--HG--
branch : HEAD |
7fd72a47d7ddfbd38c8697e228b6951f495dfb61 |
|
14-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
If rewriting began with expunged data areas, we didn't overwrite them which
left garbage into mbox and broke things.
--HG--
branch : HEAD |
6a1e4eb2c6a267bec1e8704ce9137bebb7792702 |
|
05-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Bringing some sanity into mbox rewrites. Fixes expunge crashes and reduces
writes.
--HG--
branch : HEAD |
e5ee67f18b03015c88b579c8c1f17ebe6ce19b76 |
|
24-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Split sync_flag_full into sync_flag_full_read and _write. Closing mailbox
now always writes changes.
--HG--
branch : HEAD |
7a6b45405fb1544ac476e6eb1402a70cc1ddcdcf |
|
24-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Added mbox_lazy_writes setting.
--HG--
branch : HEAD |
319944c0f35b311c998854e96d6463a084fd90ae |
|
23-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Handle UIDVALIDITY changes. When partial syncing, make sure UIDs of new
mails are larger than existing ones. If partial syncing fails, we need to
rollback the transaction.
--HG--
branch : HEAD |
d0e5f8252516c4d4df2fbcdae4d37f9e5f931199 |
|
11-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Last from offset sync fix broke everything. Another try.
--HG--
branch : HEAD |
4d25408732be27e91f0430f71e87242760c2517c |
|
10-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
cleanups
--HG--
branch : HEAD |
e8a35266a5ceacdfafeeffd6bddae77931ff97eb |
|
02-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Wrong messages were set recent if another client had modified the mbox.
--HG--
branch : HEAD |
3343a61404603b21c246783a7963b77833095f31 |
|
28-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
When mbox syncing is dirty, read the message headers to verify that we've
found the correct message.
--HG--
branch : HEAD |
f1901fd21906911f7be075c965ac882f6a87b4c3 |
|
28-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Added mbox_dirty_syncs setting which delays re-reading the whole mbox when
it's changed.
--HG--
branch : HEAD |
60576cd64e6a537413cd90104f7e862f71d48c81 |
|
31-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Added struct message_header_line.middle and middle_len to contain the ':'
in header and whitespace around it.
--HG--
branch : HEAD |
d9de52132072d80b8c268094b879c0ef5a108db3 |
|
30-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Renamed mail_index_sync_end() to _commit() and added _rollback(). Fixed mbox
deadlocking issue.
--HG--
branch : HEAD |
60d3fa9883237e896a8704275b6116fa46f7ffda |
|
02-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Don't keep filling empty spaces which will be overwritten soon anyway. Major
speedup for rewriting large mboxes.
--HG--
branch : HEAD |
907723f35f4d3dfc774ca42d00a8a7b8ef90dd5d |
|
29-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
some fixes for handling pseudo headers.
--HG--
branch : HEAD |
d371507847d62ba311b4bcc23d18f45c3d0f1a38 |
|
28-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Several fixes for updating mbox. Recent changes also made it corrupt
headers.
--HG--
branch : HEAD |
7f3be7d885c75cdd77f536929a45bc9764595960 |
|
24-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Save MD5 sums of some headers for readonly mboxes and use them for syncing
--HG--
branch : HEAD |
33d63688ed8b26dc333e3c2edbfb2fe6e412604d |
|
23-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Added a framework for getting POP3 UIDL strings from mail-storage. The
default still is uidvalidity.uid. Added beginnings of overriding it from
X-UIDL header in mbox.
--HG--
branch : HEAD |
e5c08648676d1989f6e70b95e5990c26b3e8b96b |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
fixes for From-line offset updating
--HG--
branch : HEAD |
6843896c40bee4f9b6680ca7ced598c446e9f999 |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Don't die horribly when message with previously expunged UID is inserted
into mbox.
--HG--
branch : HEAD |
345212e8f61ebf14ff4f80df26df9e655eb5121e |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
mailbox_save() and mailbox_copy() functions can now return the saved mail so
it can be immediately queried. Implemented UIDPLUS extension using it.
Maildir implementation missing, so it crashes with it for now.. APPEND with
mbox now doesn't require resyncing the mailbox since it updates indexes
directly.
--HG--
branch : HEAD |
a205d315b0978985ba77d871f44e4a98273612e6 |
|
19-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
fixes
--HG--
branch : HEAD |
9e59a1f3f095b3099478562cf3f3970a24736970 |
|
18-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Added istream_raw_mbox_is_eof() and fixed updating UIDVALIDITY in index
--HG--
branch : HEAD |
02b79f9c2636da1829eee5b92753602bba8b67ed |
|
18-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
fixes
--HG--
branch : HEAD |
f0569d9fbb25c8437760be69f194595a841ad711 |
|
17-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Several fixes in space/offset logic. Should be much more robust now.
--HG--
branch : HEAD |
63a61b7a739ae0f3f520215137d9c50f94d0f34f |
|
15-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
lock the mbox before reading it.
--HG--
branch : HEAD |
abe8230dd1dd37d7ccf0163100e934bb5e658c20 |
|
15-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
several fixes and optimizations.
--HG--
branch : HEAD |
dda2c506c8fc8ac2f88272de4523ded42baa0aa0 |
|
14-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
major syncing code cleanups. the code finally looks almost readable. logic
should have stayed same.
--HG--
branch : HEAD |
01cbf4ac5d44137ab434791be7f838d98d0fcf3b |
|
14-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Save mbox offsets to index file using extra_records. Some other fixes.
--HG--
branch : HEAD |
33ae95df45c9b5ec51332a6b39eb5322038686b9 |
|
13-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
some more fixes
--HG--
branch : HEAD |
e68309fcfa2eaa88217fd51e7b4900fc9c20ef5d |
|
11-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
expunging is somewhat working
--HG--
branch : HEAD |
3cfff0ca01961d885bdbd6ef08d761880116af07 |
|
23-May-2004 |
Timo Sirainen <tss@iki.fi> |
mbox syncing fixes
--HG--
branch : HEAD |
9aa52288a4b53186d81b0ec9afa7d9e0a8ee8753 |
|
09-May-2004 |
Timo Sirainen <tss@iki.fi> |
mbox growing and locking works now
--HG--
branch : HEAD |
313fe89df4d91cd0cd7f3558dc6d7fd21ad39eee |
|
09-May-2004 |
Timo Sirainen <tss@iki.fi> |
mbox rewriting is almost working - the hard part is done.
--HG--
branch : HEAD |
8fcff4c5b52f24d9c681805fdf06b486f1d0fcbe |
|
06-May-2004 |
Timo Sirainen <tss@iki.fi> |
mbox code compiles again, but syncing is only partially implemented so
accessing mboxes fails..
Also some cleanups to index-storage and maildir code.
--HG--
branch : HEAD |
d8b77aef97e89f1ccc5cbdaef77be9052279e35f |
|
02-May-2004 |
Timo Sirainen <tss@iki.fi> |
s/custom flags/keywords/
--HG--
branch : HEAD |
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834 |
|
27-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
importing new index code. mbox still broken.
--HG--
branch : HEAD |