Commit Graph

245 Commits

Author SHA1 Message Date
Matthias Beyer 361dec4cec Revert "Check whether the StoreId is inside the store, before doing anything on the FS"
This reverts commit 373502217e.
2016-03-12 16:06:10 +01:00
Matthias Beyer 9a918c9252 Merge pull request #242 from matthiasbeyer/libimagstore/revert-id_in_store-check
Revert "Check whether the StoreId is inside the store, before doing a…
2016-03-11 16:02:11 +01:00
Matthias Beyer 6d7065d10e Fix test: StoreId does not start with "/" anymore 2016-03-10 19:12:00 +01:00
Matthias Beyer a9a64d4ab6 Fix: implicitely create directories on file saving 2016-03-10 19:06:27 +01:00
Matthias Beyer a3a09ff4ee Fix store creation of libimagstore
The macro may not prefix the StoreId internal PathBuf with '/', so this
path is not absolute. This way we can introduce `storify_id()` which
creates a proper PathBuf into the store out of our StoreId object.

Does not yet do verification whether the path is inside the store,
actually.
2016-03-10 18:46:26 +01:00
Matthias Beyer 3413646934 Revert "Check whether the StoreId is inside the store, before doing anything on the FS"
This reverts commit 373502217e
as this commit was introducing a bug.

The StoreId type says `/test/example` for a store id path, which is
completely valid, as the root (`/`) is the store itself. The
id_in_store() function assumed that the store-id is the full
(file-system) path to the store entry, which is false.

This commit does not introduce a fix but revert the check.
2016-03-10 18:14:53 +01:00
Matthias Beyer df1fd31771 libimagstore: Update glob 0.2.10 -> 0.2.11 2016-03-07 17:46:58 +01:00
Matthias Beyer 257fe1880e EntryHeader: Function to get toml object 2016-03-06 11:51:09 +01:00
Matthias Beyer 74634227e0 Use unused result 2016-03-01 21:23:09 +01:00
Matthias Beyer 22e9f8a93b Remove unused import 2016-03-01 21:21:14 +01:00
Matthias Beyer 1a8106dfd2 Add missing error-forwarding 2016-03-01 21:20:53 +01:00
Matthias Beyer 38b9e15615 Remove unreachable statement 2016-03-01 21:19:15 +01:00
Matthias Beyer 08c37c5fcb Remove unused "mut" from EntryHeader::delete() 2016-03-01 21:18:17 +01:00
Matthias Beyer ed3da38701 Remove unused "mut" from EntryHeader::read_with_sep() 2016-03-01 21:18:10 +01:00
Matthias Beyer 309e70df14 Remove unused "mut" from EntryHeader::set_with_sep() 2016-03-01 21:18:04 +01:00
Matthias Beyer 85e69f083e Remove unused "mut" from EntryHeader::insert_with_sep() 2016-03-01 21:17:49 +01:00
Matthias Beyer 4390c39a6c Remove unused "mut" from Store::delete() 2016-03-01 21:17:40 +01:00
Matthias Beyer 8dfccba0b8 Remove unused "mut" from Store::retrieve_copy() 2016-03-01 21:17:33 +01:00
Matthias Beyer 87bf7854c7 store: Update regex = 0.1.54 2016-02-23 13:13:22 +01:00
Matthias Beyer df4bc13018 use lazy_static so we do not compile regex multiple times 2016-02-20 21:06:47 +01:00
Matthias Beyer 0cab0f114d Merge pull request #149 from matthiasbeyer/libimagstore/header-field-path-util
Add header field addressing by str
2016-02-14 16:10:56 +01:00
Matthias Beyer 9951422dc4 Impl From<Table> for EntryHeader 2016-02-12 22:07:15 +01:00
Matthias Beyer 794e7617e3 Impl Into<Table> for EntryHeader 2016-02-12 22:02:33 +01:00
Matthias Beyer df9313c599 Add EntryHeader::insert_with_sep() 2016-02-12 21:57:53 +01:00
Matthias Beyer 54ba22d0ef Add EntryHeader::set_with_sep() 2016-02-12 21:56:48 +01:00
Matthias Beyer bca0143343 Add EntryHeader::read_with_sep() which allows seperator modification 2016-02-12 21:55:06 +01:00
Matthias Beyer a4fa1bac07 Add split-char setting 2016-02-12 21:50:44 +01:00
Matthias Beyer 6397068ddc Add test for EntryHeader::delete() 2016-02-12 20:02:57 +01:00
Matthias Beyer cb87f31a23 Add EntryHeader::delete() 2016-02-12 20:02:56 +01:00
Matthias Beyer 30e8afeced Add tests for inserting values 2016-02-12 20:02:56 +01:00
Matthias Beyer 965c3445a1 Add test for setting value at new path 2016-02-12 20:02:56 +01:00
Matthias Beyer dd53e467d7 Add EntryHeader::set() test 2016-02-12 20:02:56 +01:00
Matthias Beyer b4362f5c65 Alter: EntryHeader should contain a Value, not the BTreeMap<> 2016-02-12 20:02:56 +01:00
Matthias Beyer 74a9b844ca Add debugging output in tests 2016-02-12 20:02:41 +01:00
Matthias Beyer 60ccf58f84 Merge pull request #148 from neithernut/impl-store-retrieve_copy
Implement Store::retrieve_copy()
2016-02-12 18:59:56 +01:00
Matthias Beyer 103a0dea17 Add test: EntryHeader::read() 2016-02-11 15:45:48 +01:00
Matthias Beyer 731a446546 Implement EntryHeader::read() 2016-02-11 15:45:47 +01:00
Matthias Beyer 548aee8d5f Implement EntryHeader::set() 2016-02-11 15:45:47 +01:00
Matthias Beyer 4d94f8a67f Implement: EntryHeader::insert() 2016-02-11 15:45:47 +01:00
Matthias Beyer 3b09e0c214 Move helper functions outside of walk_header(), so we can use them 2016-02-11 15:45:47 +01:00
Matthias Beyer 42aade5cef Add tests for path-to-value extractor functionality 2016-02-11 15:43:58 +01:00
Matthias Beyer 4759076249 Implement walk_header() 2016-02-11 15:43:58 +01:00
Matthias Beyer a2e3598c01 Add more error types for header walking 2016-02-11 15:43:58 +01:00
Matthias Beyer 0727fca797 Add tokenizer helper function 2016-02-11 15:43:58 +01:00
Matthias Beyer 2f6cfb5868 Add interface for header field addressing by str 2016-02-11 15:43:58 +01:00
Matthias Beyer 00ccc22ef5 Add some debugging output for {create,retrieve,delete} 2016-02-09 20:09:12 +01:00
Matthias Beyer d85f985694 Fixup path-includes-path checker 2016-02-09 20:08:58 +01:00
Matthias Beyer ddd54e03ad Add store path getter 2016-02-09 13:45:13 +01:00
Matthias Beyer a0afc9245b Merge pull request #186 from TheNeikos/verify-toml_table
Verify that nothing but tables exist in base table
2016-02-07 01:54:35 +01:00
Matthias Beyer ebb076c9fd Merge pull request #184 from matthiasbeyer/libimagstore/fix-179
Check whether the StoreId is inside the store
2016-02-07 01:45:48 +01:00
Marcel Müller e315fa9dcf
Remove unwrap in drop and warn users 2016-02-07 01:28:16 +01:00
Marcel Müller 9ba2439da3
Add debug output 2016-02-07 01:28:15 +01:00
Marcel Müller 6173cff762
Verify that nothing but tables exist in base table 2016-02-07 01:27:50 +01:00
Marcel Müller 293fd0da00
Add verify 2016-02-06 18:57:39 +01:00
Marcel Müller e079628397
Remove unneeded closure 2016-02-06 18:52:17 +01:00
Matthias Beyer 373502217e Check whether the StoreId is inside the store, before doing anything on the FS 2016-02-06 18:48:59 +01:00
Matthias Beyer eb0d1dba69 Merge pull request #176 from matthiasbeyer/update-crate-version
libimagstore: Update dep: version: 1.1.0 -> 2.0.1
2016-02-05 22:04:27 +01:00
Matthias Beyer ddd61f9c1f libimagstore: Update dep: version: 1.1.0 -> 2.0.1 2016-02-05 21:53:26 +01:00
Matthias Beyer 959a68f1a6 Merge pull request #153 from matthiasbeyer/libimagstore/add-debugging-output
Libimagstore/add debugging output
2016-02-05 16:03:23 +01:00
Matthias Beyer 0931ede580 Merge pull request #165 from matthiasbeyer/remove-unused-imports
Remove unused imports
2016-01-30 13:47:57 +01:00
Matthias Beyer 213cb32a88 Fix: Add EntryHeader::toml_mut() 2016-01-30 12:38:36 +01:00
Matthias Beyer f6e03c804e store/store: Remove unused imports 2016-01-29 23:06:15 +01:00
Matthias Beyer 814e85508b store/error: Remove unused imports 2016-01-29 23:06:04 +01:00
Matthias Beyer 33b6a89a02 Merge pull request #156 from matthiasbeyer/libimagstore/fix-private-intostoreid
Fix: Make IntoStoreId public
2016-01-29 19:11:03 +01:00
Matthias Beyer 618d39cf7c Merge pull request #155 from matthiasbeyer/libimagstore/fix-missing-doc
Fix: Add missing documentation for mod module_path
2016-01-29 19:10:56 +01:00
Matthias Beyer fbb296495b Merge pull request #154 from matthiasbeyer/libimagstore/fix-152
Fix: negation error
2016-01-29 19:10:51 +01:00
Matthias Beyer 72cf550c9f Fix: seek() file back on reading it 2016-01-29 18:17:41 +01:00
Matthias Beyer 69bebfcfc0 Fix: Make IntoStoreId public 2016-01-29 17:03:24 +01:00
Matthias Beyer c64cdad63b Fix: Add missing documentation for mod module_path 2016-01-29 17:03:05 +01:00
Matthias Beyer 38791ea2f9 Fix: negation error
Suggested-by: Marcel Müller <neikos@neikos.email>
2016-01-29 16:53:13 +01:00
Matthias Beyer 3b51328aa7 Merge pull request #145 from neithernut/fix-store-retrieve
Fix Store::retrieve()
2016-01-29 16:29:38 +01:00
Matthias Beyer b04c676eb9 Add store debugging output 2016-01-28 21:06:49 +01:00
Matthias Beyer 4bc905c692 Add debug output for LazyFile::{get_file_mut,create_file}() 2016-01-28 21:00:33 +01:00
Matthias Beyer 2c398d941b Let LazyFile derive Debug 2016-01-28 21:00:13 +01:00
Matthias Beyer 88f6086c97 Add dep: log = 0.3.5 2016-01-28 20:59:43 +01:00
Julian Ganz c6ec47a8af Change status _after_ calling StoreEntry::get_entry()
StoreEntry::get_entry() will return an error if the store entry's status
is "borrowed".
2016-01-28 20:47:34 +01:00
Julian Ganz 355ec697c1 Implement Store::retrieve_copy() 2016-01-25 22:26:00 +01:00
Julian Ganz 1085127036 Add missing error handling
We don't want to panick if a lock inside the store is broken. We want to
notify the user, so she can start panicking.
2016-01-25 20:38:45 +01:00
Matthias Beyer 6c53f172dc Minify implementation of Store::retrieve() 2016-01-25 15:32:50 +01:00
Julian Ganz 540348380e Mark store entry as borrowed 2016-01-25 12:34:37 +01:00
Julian Ganz 86ab4ba4b1 Slimline translation from entry to file lock entry 2016-01-25 12:32:30 +01:00
Julian Ganz 9760f72e79 get_entry() already asserts the entry is not borrowed 2016-01-25 12:31:22 +01:00
Julian Ganz acfbb16eb2 Fix Store::retrieve()
The previous version of `Store::retrieve()` required the entry to be
already registered in the store's hashmap.
2016-01-24 22:57:11 +01:00
Matthias Beyer 4a08eed700 Merge pull request #144 from matthiasbeyer/libimagstore/add-missing-pub
Fix: Add missing "pub" on Entry functions
2016-01-24 20:29:11 +01:00
Matthias Beyer 82873d82ba Merge pull request #143 from TheNeikos/add-store_update
Implement storenetry:write_entry
2016-01-24 20:25:57 +01:00
Matthias Beyer d24f661778 Fix: Add missing "pub" on Entry functions 2016-01-24 20:20:43 +01:00
Marcel Müller 4e990465c8
Implement storeentry:write_entry 2016-01-24 20:05:33 +01:00
Matthias Beyer bbd08d9526 Add Store::retrieve_for_module() 2016-01-24 17:40:06 +01:00
Matthias Beyer 36770abac5 Add iterator type for StoreId 2016-01-24 17:39:41 +01:00
Matthias Beyer e951666e3d Use glob 2016-01-24 17:39:41 +01:00
Matthias Beyer 1d69aa5066 Add dep: glob = 0.2.10 2016-01-24 17:39:41 +01:00
Marcel Müller ee8cf35fcc
Implement store::create 2016-01-24 17:34:29 +01:00
Marcel Müller c7f584a81a
Add from_str to Entry 2016-01-24 17:04:33 +01:00
Marcel Müller fdc3dde95b
Change names to reflect changes 2016-01-24 17:04:33 +01:00
Marcel Müller 15931d3471
Remove EntryHeader::new_current 2016-01-24 17:04:33 +01:00
Marcel Müller a64ffdfc56
Implement entry reading 2016-01-24 17:04:33 +01:00
Marcel Müller 97b7090824
Partially implement get_entry 2016-01-24 17:04:33 +01:00
Marcel Müller 50413101c4
Move entry, content and header into store 2016-01-24 17:04:32 +01:00
Marcel Müller ba2e52788b
Add entry_creation 2016-01-24 17:04:32 +01:00
Marcel Müller d949cddc65
Implement Store::retrieve 2016-01-24 17:04:32 +01:00