<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gsoc2013-evolution/camel/tests/folder/README, branch BEFORE_BOBJECT</title>
<subtitle>Google Summer of Code 2013 - GNOME - Archive Integration workspace
</subtitle>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/'/>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2001-02-04T04:10:39+00:00</updated>
<author>
<name>nobody</name>
<email>nobody@localhost</email>
</author>
<published>2001-02-04T04:10:39+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=541ed6bf346abe33775bfa8fbe4361d53a02924d'/>
<id>541ed6bf346abe33775bfa8fbe4361d53a02924d</id>
<content type='text'>
'BEFORE_BOBJECT'.

svn path=/tags/BEFORE_BOBJECT/; revision=7953
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'BEFORE_BOBJECT'.

svn path=/tags/BEFORE_BOBJECT/; revision=7953
</pre>
</div>
</content>
</entry>
<entry>
<title>Index: ChangeLog</title>
<updated>2001-01-17T01:07:02+00:00</updated>
<author>
<name>Michael Zucci</name>
<email>zucchi@src.gnome.org</email>
</author>
<published>2001-01-17T01:07:02+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=4f5effdf884b53299fb85bf344ccd5441f01d7fe'/>
<id>4f5effdf884b53299fb85bf344ccd5441f01d7fe</id>
<content type='text'>
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.684
diff -r1.684 ChangeLog
0a1,34
&gt; 2001-01-17  Not Zed  &lt;NotZed@Ximian.com&gt;
&gt;
&gt; 	* camel-folder.c (free_summary): Call
&gt; 	camel_folder_summary_array_free() to do the work.
&gt; 	(get_summary): Use camel_folder_summary_array() to get the array
&gt; 	atomically.  These fixes allow folder/test8 to work again, and fix
&gt; 	a sort of race where the summary size can change while we were
&gt; 	making a copy of it.
&gt;
&gt; 	* camel-folder-summary.c (camel_folder_summary_array): Get the
&gt; 	summary array atomically, so it can't contain empty records.
&gt; 	(camel_folder_summary_array_free): And free it.
&gt;
&gt; 	* tests/lib/camel-test.c (die): If we are verbose &amp; in threads,
&gt; 	then goto sleep so we can debug.
&gt;
&gt; 	* tests/folder/test8.c (worker): Add a missing pull() for
&gt; 	comnparing content.
&gt;
&gt; 	* camel-filter-search.c: Fix the symbol table, so match-all is an
&gt; 	immediate function, as it should be.
&gt;
&gt; 	* tests/folder/test9.c (main): New test, tests some filtering
&gt; 	things.
&gt;
&gt; 	* tests/message/test3.c (main): Dont use a boundary string with
&gt; 	spaces in it.  Folding can corrupt it.  Maybe the folding isn't
&gt; 	working entirely right, but anyway.
&gt;
&gt; 	* camel-session.c: Debug out the debug.
&gt;
&gt; 	* camel-filter-driver.c (camel_filter_driver_filter_folder): Plug
&gt; 	a messageinfo leak.
&gt;
1a36,94
&gt;
&gt; 	* camel-filter-search.c (header_exists): Changed to support
&gt; 	multiple args (or'd together).
&gt; 	(header_contains): Cleaned up to match the search code.  Why did
&gt; 	fejj change it? I'll never know.
&gt; 	(header_matches):
&gt; 	(header_starts_with):
&gt; 	(header_ends_with): Big cleanup of fejj's "i'm the cut &amp; paste
&gt; 	king" code.  Also properly handle or'ing of additional args to
&gt; 	match what the folder-search code should do.
&gt; 	(check_match): New function which does the annoying matching
&gt; 	stuff (for header matches).
&gt; 	(check_header): Similarly, handles or'ing of the matches together.
&gt; 	(header_contains):
&gt; 	(header_matches):
&gt; 	(header_starts_with):
&gt; 	(header_ends_with): Call check_header to do the actual work.
&gt; 	(header_soundex): And here too.
&gt; 	(match_all): Yeah like match-all isn't passed expression results,
&gt; 	its passed expression terms.  Fix this so match-all works like it
&gt; 	should, by executing the contained expression.
&gt; 	(message_body_contains): Copied directly from
&gt; 	camel-folder-search.c, a more robust/faster/simpler body search
&gt; 	code.
&gt; 	(mime_part_matches): Removed entirely.
&gt; 	(handle_multipart): Removed entirely.
&gt; 	(build_match_regex): Copied from camel-folder-search.  Builds a
&gt; 	set of simple strings into a regex pattern that matches any of
&gt; 	them (for faster &amp; simpler matching).  Expanded to accept regex
&gt; 	patterns itself, so it can merge them together.
&gt; 	(body_contains): Use build match/match message to match using a
&gt; 	built regex.
&gt; 	(body_regex): Likewise, this time we tell it we're building a
&gt; 	regex though.
&gt; 	(header_full_regex): Use build_match_regex to take the drudgery
&gt; 	out of it, and expand it to handle multiple regex's at once.
&gt; 	(get_full_header): slightly cleaner (well i dunno, the sprintf
&gt; 	stuff just got to me).
&gt; 	(header_regex): Cleaned up to use build_match_Regex too, and to
&gt; 	properly check types.
&gt; 	(filter_message_search): Just allocate 'fms' on the stack.
&gt;
&gt; 	* camel-filter-driver.c (camel_filter_driver_finalise):
&gt; 	(camel_filter_driver_init):
&gt; 	(camel_filter_driver_class_init):
&gt; 	(camel_filter_driver_get_type): Changed from gtk object to camel
&gt; 	object.
&gt; 	(camel_filter_driver_add_rule): New function to add a rule to be
&gt; 	processed in sexp form.
&gt; 	(camel_filter_driver_init): Init the rules list.
&gt; 	(camel_filter_driver_finalise): Clear the rules/rules list.
&gt; 	(camel_filter_driver_filter_message): Scan rules list directly
&gt; 	rather than creating on the fly.
&gt;
&gt; 	* Makefile.am (libcamelinclude_HEADERS): Added camel-filter-driver.h
&gt; 	(libcamel_la_SOURCES): Added camel-filter-driver.c, code taken
&gt; 	from filter-driver, which can drive, uh, filters based on sexp's.
&gt; 	(libcamelinclude_HEADERS):
&gt; 	(libcamel_la_SOURCES): Added camel-filter-search.[ch]

svn path=/trunk/; revision=7560
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.684
diff -r1.684 ChangeLog
0a1,34
&gt; 2001-01-17  Not Zed  &lt;NotZed@Ximian.com&gt;
&gt;
&gt; 	* camel-folder.c (free_summary): Call
&gt; 	camel_folder_summary_array_free() to do the work.
&gt; 	(get_summary): Use camel_folder_summary_array() to get the array
&gt; 	atomically.  These fixes allow folder/test8 to work again, and fix
&gt; 	a sort of race where the summary size can change while we were
&gt; 	making a copy of it.
&gt;
&gt; 	* camel-folder-summary.c (camel_folder_summary_array): Get the
&gt; 	summary array atomically, so it can't contain empty records.
&gt; 	(camel_folder_summary_array_free): And free it.
&gt;
&gt; 	* tests/lib/camel-test.c (die): If we are verbose &amp; in threads,
&gt; 	then goto sleep so we can debug.
&gt;
&gt; 	* tests/folder/test8.c (worker): Add a missing pull() for
&gt; 	comnparing content.
&gt;
&gt; 	* camel-filter-search.c: Fix the symbol table, so match-all is an
&gt; 	immediate function, as it should be.
&gt;
&gt; 	* tests/folder/test9.c (main): New test, tests some filtering
&gt; 	things.
&gt;
&gt; 	* tests/message/test3.c (main): Dont use a boundary string with
&gt; 	spaces in it.  Folding can corrupt it.  Maybe the folding isn't
&gt; 	working entirely right, but anyway.
&gt;
&gt; 	* camel-session.c: Debug out the debug.
&gt;
&gt; 	* camel-filter-driver.c (camel_filter_driver_filter_folder): Plug
&gt; 	a messageinfo leak.
&gt;
1a36,94
&gt;
&gt; 	* camel-filter-search.c (header_exists): Changed to support
&gt; 	multiple args (or'd together).
&gt; 	(header_contains): Cleaned up to match the search code.  Why did
&gt; 	fejj change it? I'll never know.
&gt; 	(header_matches):
&gt; 	(header_starts_with):
&gt; 	(header_ends_with): Big cleanup of fejj's "i'm the cut &amp; paste
&gt; 	king" code.  Also properly handle or'ing of additional args to
&gt; 	match what the folder-search code should do.
&gt; 	(check_match): New function which does the annoying matching
&gt; 	stuff (for header matches).
&gt; 	(check_header): Similarly, handles or'ing of the matches together.
&gt; 	(header_contains):
&gt; 	(header_matches):
&gt; 	(header_starts_with):
&gt; 	(header_ends_with): Call check_header to do the actual work.
&gt; 	(header_soundex): And here too.
&gt; 	(match_all): Yeah like match-all isn't passed expression results,
&gt; 	its passed expression terms.  Fix this so match-all works like it
&gt; 	should, by executing the contained expression.
&gt; 	(message_body_contains): Copied directly from
&gt; 	camel-folder-search.c, a more robust/faster/simpler body search
&gt; 	code.
&gt; 	(mime_part_matches): Removed entirely.
&gt; 	(handle_multipart): Removed entirely.
&gt; 	(build_match_regex): Copied from camel-folder-search.  Builds a
&gt; 	set of simple strings into a regex pattern that matches any of
&gt; 	them (for faster &amp; simpler matching).  Expanded to accept regex
&gt; 	patterns itself, so it can merge them together.
&gt; 	(body_contains): Use build match/match message to match using a
&gt; 	built regex.
&gt; 	(body_regex): Likewise, this time we tell it we're building a
&gt; 	regex though.
&gt; 	(header_full_regex): Use build_match_regex to take the drudgery
&gt; 	out of it, and expand it to handle multiple regex's at once.
&gt; 	(get_full_header): slightly cleaner (well i dunno, the sprintf
&gt; 	stuff just got to me).
&gt; 	(header_regex): Cleaned up to use build_match_Regex too, and to
&gt; 	properly check types.
&gt; 	(filter_message_search): Just allocate 'fms' on the stack.
&gt;
&gt; 	* camel-filter-driver.c (camel_filter_driver_finalise):
&gt; 	(camel_filter_driver_init):
&gt; 	(camel_filter_driver_class_init):
&gt; 	(camel_filter_driver_get_type): Changed from gtk object to camel
&gt; 	object.
&gt; 	(camel_filter_driver_add_rule): New function to add a rule to be
&gt; 	processed in sexp form.
&gt; 	(camel_filter_driver_init): Init the rules list.
&gt; 	(camel_filter_driver_finalise): Clear the rules/rules list.
&gt; 	(camel_filter_driver_filter_message): Scan rules list directly
&gt; 	rather than creating on the fly.
&gt;
&gt; 	* Makefile.am (libcamelinclude_HEADERS): Added camel-filter-driver.h
&gt; 	(libcamel_la_SOURCES): Added camel-filter-driver.c, code taken
&gt; 	from filter-driver, which can drive, uh, filters based on sexp's.
&gt; 	(libcamelinclude_HEADERS):
&gt; 	(libcamel_la_SOURCES): Added camel-filter-search.[ch]

svn path=/trunk/; revision=7560
</pre>
</div>
</content>
</entry>
<entry>
<title>Lock the command channel while searching. (imap_body_contains): If</title>
<updated>2000-12-24T00:46:20+00:00</updated>
<author>
<name>Not Zed</name>
<email>NotZed@HelixCode.com</email>
</author>
<published>2000-12-24T00:46:20+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=6de256c2a2b23f30d35e4a2213ad5839bf141d06'/>
<id>6de256c2a2b23f30d35e4a2213ad5839bf141d06</id>
<content type='text'>
2000-12-24  Not Zed  &lt;NotZed@HelixCode.com&gt;

        * providers/imap/camel-imap-search.c (imap_body_contains): Lock
        the command channel while searching.
        (imap_body_contains): If performing a whole uid search, then add
        references to our own summary items, dont look it up in the
        folder.  This way they can't vanish unexpectedly.

        * providers/imap/camel-imap-folder.h (CamelImapFolder): Added a
        private field.

        * providers/imap/camel-imap-private.h: Added lock for imap
        searches.

        * Merge from camel-mt-branch.

        * providers/imap/camel-imap-folder.c (imap_update_summary): Merge
        fix, use the folder-&gt;summary.
        (imap_get_message_flags, imap_set_message_flags,
        imap_get_message_user_flag, imap_set_message_user_flag): Removed
        again.
        (camel_imap_folder_init): Setup private data/lock.
        (imap_finalize): Free private data/search lock.
        (imap_search_free): Lock the search_lock.
        (imap_search_by_expression): Lock the search lock when using the
        search object.  Also copy/ref hte summary, rather than getting it
        directly.
        (imap_refresh_info): Free any info lookups.  Use folder-&gt;summary
        not imap_folder-&gt;summary.  And lock around commands.

svn path=/trunk/; revision=7150
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2000-12-24  Not Zed  &lt;NotZed@HelixCode.com&gt;

        * providers/imap/camel-imap-search.c (imap_body_contains): Lock
        the command channel while searching.
        (imap_body_contains): If performing a whole uid search, then add
        references to our own summary items, dont look it up in the
        folder.  This way they can't vanish unexpectedly.

        * providers/imap/camel-imap-folder.h (CamelImapFolder): Added a
        private field.

        * providers/imap/camel-imap-private.h: Added lock for imap
        searches.

        * Merge from camel-mt-branch.

        * providers/imap/camel-imap-folder.c (imap_update_summary): Merge
        fix, use the folder-&gt;summary.
        (imap_get_message_flags, imap_set_message_flags,
        imap_get_message_user_flag, imap_set_message_user_flag): Removed
        again.
        (camel_imap_folder_init): Setup private data/lock.
        (imap_finalize): Free private data/search lock.
        (imap_search_free): Lock the search_lock.
        (imap_search_by_expression): Lock the search lock when using the
        search object.  Also copy/ref hte summary, rather than getting it
        directly.
        (imap_refresh_info): Free any info lookups.  Use folder-&gt;summary
        not imap_folder-&gt;summary.  And lock around commands.

svn path=/trunk/; revision=7150
</pre>
</div>
</content>
</entry>
<entry>
<title>	added some imap tests, tho they dont get far yet and dont</title>
<updated>2000-12-04T12:59:01+00:00</updated>
<author>
<name>Michael Zucci</name>
<email>zucchi@src.gnome.org</email>
</author>
<published>2000-12-04T12:59:01+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=a2391a3e1120751cf516d245226e30dcff8507b2'/>
<id>a2391a3e1120751cf516d245226e30dcff8507b2</id>
<content type='text'>
	recover automatically.

svn path=/trunk/; revision=6772
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	recover automatically.

svn path=/trunk/; revision=6772
</pre>
</div>
</content>
</entry>
<entry>
<title>Set the info size's properly, oops!</title>
<updated>2000-11-28T13:13:23+00:00</updated>
<author>
<name>Not Zed</name>
<email>NotZed@HelixCode.com</email>
</author>
<published>2000-11-28T13:13:23+00:00</published>
<link rel='alternate' type='text/html' href='https://www.lant.com.tw/~lantw44/cgit/cgit.cgi/gsoc2013-evolution/commit/?id=3998a03ae925f47cd1ffcf31fca0a4701f8c75da'/>
<id>3998a03ae925f47cd1ffcf31fca0a4701f8c75da</id>
<content type='text'>
2000-11-28  Not Zed  &lt;NotZed@HelixCode.com&gt;

	* providers/local/camel-maildir-summary.c
	(camel_maildir_summary_init): Set the info size's properly, oops!

	* tests/lib/folders.[ch]: Folder testing helpers.

	* tests/folder/test2.c: Test basic message ops on folders.

	* tests/folder/test1.c (main): Test basic folder ops on (local)
	stores.

	* providers/local/camel-local-provider.c
	(camel_provider_module_init): Removed some debug.

	* providers/local/camel-maildir-folder.c
	(camel_maildir_folder_class_init): fix parent class.

	* providers/local/camel-mh-folder.c (camel_mh_folder_class_init):
	Fix parent class (damn cut &amp; paste).

	* providers/local/camel-maildir-store.c (get_folder): Call parent
	impl.
	(camel_maildir_store_class_init): Fix parent class setup.
	(delete_folder): Check the folder exists before trying to delete
	it.
	(delete_folder): Try and make the delete operation atomic/rollback
	failures.  e.g. if one directory isn't empty, then create the
	other empty ones back.  Also clear the tmp directory fully first.

	* providers/local/camel-mbox-store.c (get_folder): Call parent
	impl.
	(camel_mbox_store_class_init): parent class is camel_local_store,
	not camel_folder, oops.
	(delete_folder): Return an error if it doesn't exist, rather than
	covering it up.

	* providers/local/camel-mh-store.c (get_folder): Call parent impl.
	(camel_mh_store_class_init): fix parent class setup.
	(delete_folder): Error if it doesn't exist now.

	* camel-folder.c (camel_folder_move_message_to):
	(camel_folder_copy_message_to): Added warnings as these functions
	are going to be removed later.

	* camel-store.c (camel_store_get_root_folder): Fix for an early
	api change.  We want CAMEL_STORE_FOLDER_CREATE, not TRUE, since
	its a flag.
	(camel_store_get_default_folder): And here too.

	* providers/local/camel-local-store.c (xrename): Handle renaming
	folders differently to renaming files.
	(get_default_folder_name): local stores dont have a default
	folder, so make it so.  Or at least, it doesn't seem to make sense
	to have one.
	(get_root_folder_name): Same for root.
	(get_folder): Added parent implementation, that makes sure the
	service path exists, if we are creating a new folder (but doesn't
	create the folder).

2000-11-27  Not Zed  &lt;NotZed@HelixCode.com&gt;

	* providers/local/camel-local-store.c (xrename): Fixed races.  Use
	link/unlink, rather than rename, to properly detect overwriting
	another file.  And allow some files to be missing.

	* providers/Makefile.am: Removed mh, mbox, added local, to the default.

svn path=/trunk/; revision=6693
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2000-11-28  Not Zed  &lt;NotZed@HelixCode.com&gt;

	* providers/local/camel-maildir-summary.c
	(camel_maildir_summary_init): Set the info size's properly, oops!

	* tests/lib/folders.[ch]: Folder testing helpers.

	* tests/folder/test2.c: Test basic message ops on folders.

	* tests/folder/test1.c (main): Test basic folder ops on (local)
	stores.

	* providers/local/camel-local-provider.c
	(camel_provider_module_init): Removed some debug.

	* providers/local/camel-maildir-folder.c
	(camel_maildir_folder_class_init): fix parent class.

	* providers/local/camel-mh-folder.c (camel_mh_folder_class_init):
	Fix parent class (damn cut &amp; paste).

	* providers/local/camel-maildir-store.c (get_folder): Call parent
	impl.
	(camel_maildir_store_class_init): Fix parent class setup.
	(delete_folder): Check the folder exists before trying to delete
	it.
	(delete_folder): Try and make the delete operation atomic/rollback
	failures.  e.g. if one directory isn't empty, then create the
	other empty ones back.  Also clear the tmp directory fully first.

	* providers/local/camel-mbox-store.c (get_folder): Call parent
	impl.
	(camel_mbox_store_class_init): parent class is camel_local_store,
	not camel_folder, oops.
	(delete_folder): Return an error if it doesn't exist, rather than
	covering it up.

	* providers/local/camel-mh-store.c (get_folder): Call parent impl.
	(camel_mh_store_class_init): fix parent class setup.
	(delete_folder): Error if it doesn't exist now.

	* camel-folder.c (camel_folder_move_message_to):
	(camel_folder_copy_message_to): Added warnings as these functions
	are going to be removed later.

	* camel-store.c (camel_store_get_root_folder): Fix for an early
	api change.  We want CAMEL_STORE_FOLDER_CREATE, not TRUE, since
	its a flag.
	(camel_store_get_default_folder): And here too.

	* providers/local/camel-local-store.c (xrename): Handle renaming
	folders differently to renaming files.
	(get_default_folder_name): local stores dont have a default
	folder, so make it so.  Or at least, it doesn't seem to make sense
	to have one.
	(get_root_folder_name): Same for root.
	(get_folder): Added parent implementation, that makes sure the
	service path exists, if we are creating a new folder (but doesn't
	create the folder).

2000-11-27  Not Zed  &lt;NotZed@HelixCode.com&gt;

	* providers/local/camel-local-store.c (xrename): Fixed races.  Use
	link/unlink, rather than rename, to properly detect overwriting
	another file.  And allow some files to be missing.

	* providers/Makefile.am: Removed mh, mbox, added local, to the default.

svn path=/trunk/; revision=6693
</pre>
</div>
</content>
</entry>
</feed>
