| 1 |
2009-09-21 Wakaba <wakaba@suika.fam.cx> |
| 2 |
|
| 3 |
* Lock.pm (check_lockability): Don't allow the same level of lock |
| 4 |
type being locked twice to avoid deadlocks caused by same level of |
| 5 |
locks. |
| 6 |
|
| 7 |
2009-07-19 Wakaba <wakaba@suika.fam.cx> |
| 8 |
|
| 9 |
* HashedIndex.pm (_for_each_id): Operator evaluation order was |
| 10 |
wrong. |
| 11 |
|
| 12 |
2009-07-12 Wakaba <wakaba@suika.fam.cx> |
| 13 |
|
| 14 |
* HashedIndex.pm (lock, lock_file_name): New methods. |
| 15 |
|
| 16 |
2009-07-12 Wakaba <wakaba@suika.fam.cx> |
| 17 |
|
| 18 |
* NamedText.pm (_get_file_name): Typo. |
| 19 |
|
| 20 |
* Lock.pm: Check whether any preferable locks are already taken or |
| 21 |
not to avoid deadlocks. |
| 22 |
|
| 23 |
* IDGenerator.pm (get_next_id): Set lock_type to enable lock order |
| 24 |
control. |
| 25 |
|
| 26 |
* IDLocks.pm (get_lock): Set lock_type to enable lock order |
| 27 |
control. |
| 28 |
|
| 29 |
2009-03-15 Wakaba <wakaba@suika.fam.cx> |
| 30 |
|
| 31 |
* NamedText.pm: New module. |
| 32 |
|
| 33 |
2009-03-01 Wakaba <wakaba@suika.fam.cx> |
| 34 |
|
| 35 |
* HashedIndex.pm: New module. |
| 36 |
|
| 37 |
* IDGenerator.pm (get_last_id): New method. |
| 38 |
|
| 39 |
2009-01-12 Wakaba <wakaba@suika.fam.cx> |
| 40 |
|
| 41 |
* SuikaWiki3LastModified.pm (get_data): Why this convertion was |
| 42 |
necessary? |
| 43 |
|
| 44 |
2008-11-24 Wakaba <wakaba@suika.fam.cx> |
| 45 |
|
| 46 |
* IDHistory.pm, HashedHistory.pm: New modules. |
| 47 |
|
| 48 |
2008-11-14 Wakaba <wakaba@suika.fam.cx> |
| 49 |
|
| 50 |
* IDLocks.pm (get_lock): Directories should be created if it does |
| 51 |
not exist. |
| 52 |
|
| 53 |
* SuikaWiki3PageList2.pm: New module. |
| 54 |
|
| 55 |
2008-11-10 Wakaba <wakaba@suika.fam.cx> |
| 56 |
|
| 57 |
* VersionControl.pm (commit_changes): Set "-kb" option to the "cvs |
| 58 |
add" command to avoid keyword substition and newline |
| 59 |
normalization. |
| 60 |
|
| 61 |
2008-11-09 Wakaba <wakaba@suika.fam.cx> |
| 62 |
|
| 63 |
* VersionControl.pm: New module. |
| 64 |
|
| 65 |
* HashedProps.pm, IDText.pm: Support for |version_control| |
| 66 |
property is added. |
| 67 |
|
| 68 |
* SuikaWiki3PageList.pm (_save_data): Renamed as |save_data|. Do |
| 69 |
nothing if the data has not been loaded from the file. |
| 70 |
(delete_data): New method. |
| 71 |
|
| 72 |
2008-11-09 Wakaba <wakaba@suika.fam.cx> |
| 73 |
|
| 74 |
* IDProps.pm (_get_file_name): Return |undef| if the file is not |
| 75 |
found. |
| 76 |
|
| 77 |
* IDLocks.pm: New module. |
| 78 |
|
| 79 |
2008-11-09 Wakaba <wakaba@suika.fam.cx> |
| 80 |
|
| 81 |
* Lock.pm, HashedProps.pm, IDDOM.pm, IDGenerator.pm, IDProps.pm, |
| 82 |
IDText.pm, SuikaWiki3PageList.pm: New modules. |
| 83 |
|
| 84 |
* SuikaWiki3.pm, SuikaWiki3LastModified.pm: Changed to use plain |
| 85 |
base 16 encoded file name string as key, rather than array |
| 86 |
reference as in SuikaWiki3. |
| 87 |
|
| 88 |
* SuikaWiki3LastModified.pm (save_data, set_data): Removed. |
| 89 |
(load_data): Renamed as |_load_data|. |
| 90 |
(get_data): Invoke |_load_data| if and only if necessary. |
| 91 |
|
| 92 |
* SuikaWiki3Props.pm: Don't treat "%" as a part of hash key. |
| 93 |
|
| 94 |
2008-11-08 Wakaba <wakaba@suika.fam.cx> |
| 95 |
|
| 96 |
* SuikaWiki3LastModified.pm, SuikaWiki3Props.pm: New module files. |
| 97 |
|
| 98 |
2008-11-08 Wakaba <wakaba@suika.fam.cx> |
| 99 |
|
| 100 |
* DOM.pm: New module (some code moved from |
| 101 |
/webroot/gate/2008/sw.cgi). |
| 102 |
|
| 103 |
* SuikaWiki3.pm: Make a copy of key argument such that the |
| 104 |
original value will not be modified in the method code. |
| 105 |
|
| 106 |
2008-11-08 Wakaba <wakaba@suika.fam.cx> |
| 107 |
|
| 108 |
* SuikaWiki3.pm: Use euc-jp-sw encoding for compatibility with old |
| 109 |
data. |
| 110 |
|
| 111 |
2008-11-07 Wakaba <wakaba@suika.fam.cx> |
| 112 |
|
| 113 |
* SuikaWiki3.pm: New module. |
| 114 |
|
| 115 |
* ChangeLog: New file. |
| 116 |
|