Mon, 15 May 2023 22:09:15 +0200 store: introduce boolean property for revlog type
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 22:09:15 +0200] rev 50531
store: introduce boolean property for revlog type This will avoid exposing implementation details to more generic code.
Mon, 15 May 2023 09:03:15 +0200 store: issue a single entry for each revlog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:03:15 +0200] rev 50530
store: issue a single entry for each revlog We now yield a single entry, with data about each files involved. This help to simplify multiple code using this and it will help to further simplify and fixes the streaming code.
Mon, 15 May 2023 09:02:59 +0200 store: rename `unencoded_path` to `entry_path` for StoreEntry
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:02:59 +0200] rev 50529
store: rename `unencoded_path` to `entry_path` for StoreEntry This remove the ambiguity with StoreFile and make sure use code will be using the right API.
Mon, 15 May 2023 09:02:43 +0200 store: do the revlog matching on entry directly
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:02:43 +0200] rev 50528
store: do the revlog matching on entry directly This is the last blocker to safely merge the revlog files in a single entry.
Mon, 15 May 2023 09:02:26 +0200 store: split the wrapping of encodedstore between _wrap and datafiles
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:02:26 +0200] rev 50527
store: split the wrapping of encodedstore between _wrap and datafiles The `datafiles` method of `basicstore` is doing a lot of work that should be done on decoded filename. So we now wrap `_walk` to do the decoding, and less work in `datafiles`. This is necessary to make sure file from the same revlog can be grouped together.
Mon, 15 May 2023 09:02:09 +0200 store: introduce a main_file_path method for revlog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:02:09 +0200] rev 50526
store: introduce a main_file_path method for revlog This help code that need to point revlog to an index file. This is put to use in the upgrade code.
Mon, 15 May 2023 09:01:53 +0200 upgrade: actually use StoreEntry API to create revlog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:01:53 +0200] rev 50525
upgrade: actually use StoreEntry API to create revlog Lets make use of the semanctic of the object we are passed.
Mon, 15 May 2023 09:01:36 +0200 upgrade: use StoreEntry object in upgrade
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:01:36 +0200] rev 50524
upgrade: use StoreEntry object in upgrade We will make more use of the API in the next changeset, but just moving to use entry is a significant change for the engine codebase.
Mon, 15 May 2023 09:01:18 +0200 upgrade: drop a quick fix that is not longer necessary
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:01:18 +0200] rev 50523
upgrade: drop a quick fix that is not longer necessary We won't issue bad revlog from topfile anymore.
Mon, 15 May 2023 09:01:02 +0200 store: use StoreEntry API instead of parsing filename in largefile
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:01:02 +0200] rev 50522
store: use StoreEntry API instead of parsing filename in largefile This is more explicit and more robust.
Mon, 15 May 2023 09:00:46 +0200 store: use StoreEntry API instead of parsing filename when listing manifestlog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:00:46 +0200] rev 50521
store: use StoreEntry API instead of parsing filename when listing manifestlog This is more explicit and more robust.
Mon, 15 May 2023 09:00:28 +0200 store: use StoreEntry API instead of parsing filename when fixing issue6528
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:00:28 +0200] rev 50520
store: use StoreEntry API instead of parsing filename when fixing issue6528 This is more explicit and more robust. We also introduce a small output change as it make things simpler and this is a affecting a debug-command.
Mon, 15 May 2023 09:00:13 +0200 store: use StoreEntry API instead of parsing filename in remotefilelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 09:00:13 +0200] rev 50519
store: use StoreEntry API instead of parsing filename in remotefilelog This is more explicit and more robust.
Mon, 15 May 2023 08:59:56 +0200 store: use StoreEntry API instead of parsing filename in narrow
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:59:56 +0200] rev 50518
store: use StoreEntry API instead of parsing filename in narrow This is more explicit and more robust.
Mon, 15 May 2023 08:59:38 +0200 store: add a `target_id` attribute on RevlogStoreEntry
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:59:38 +0200] rev 50517
store: add a `target_id` attribute on RevlogStoreEntry This hold the "target" (file, directory, etc) of a revlog. Having this available will help a lot of code to avoid direct file path access.
Mon, 15 May 2023 08:59:22 +0200 store: actually tag tree manifest revlogs as manifest revlogs
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:59:22 +0200] rev 50516
store: actually tag tree manifest revlogs as manifest revlogs It turn out we have been mislabeling these for a long while. This is now fixed.
Mon, 15 May 2023 08:59:06 +0200 store: also gather files per revlog in `topfiles`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:59:06 +0200] rev 50515
store: also gather files per revlog in `topfiles` This conclude out revlog gathering.
Mon, 15 May 2023 08:58:49 +0200 store: also group files by revlog in fncache version of datafiles
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:58:49 +0200] rev 50514
store: also group files by revlog in fncache version of datafiles One more step.
Mon, 15 May 2023 08:58:33 +0200 store: add logic to group revlog file together
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:58:33 +0200] rev 50513
store: add logic to group revlog file together For now each file get its own entry, this will help stopping this, soon™. We use such gathering in the `basicstore` code.
Mon, 15 May 2023 08:58:16 +0200 store: change `_walk` return to `(filename, (type, size))`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:58:16 +0200] rev 50512
store: change `_walk` return to `(filename, (type, size))` If we are to group file per revlog, having the filename as the "main key" will be useful. This change will make the following changes clearer.
Mon, 15 May 2023 08:58:01 +0200 store: lazily get file size on demand for the fncache case
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:58:01 +0200] rev 50511
store: lazily get file size on demand for the fncache case We don't have the information in the first place, so we can avoid querying the file system inconditionnaly for use case we don't needs it. This change requires the StoreFile class to be passed a vfs to retrieve the file_size if needed. In the non-fncache case, we already have the information from file system walking, so we keep it and use it.
Mon, 15 May 2023 08:57:45 +0200 store: only access is_volatile information through the file object
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:57:45 +0200] rev 50510
store: only access is_volatile information through the file object This make sure other code only access this information through the proper API, and it prepare for store entries to be able to agregate multiple files.
Mon, 15 May 2023 08:57:30 +0200 store: only access file_size information through the file object
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:57:30 +0200] rev 50509
store: only access file_size information through the file object This make sure other code only access this information through the proper API, and it prepare for store entries to be able to agregate multiple files.
Mon, 15 May 2023 08:57:14 +0200 store: have custom init for entries class
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:57:14 +0200] rev 50508
store: have custom init for entries class This will get useful to add special processing later in this series.
Mon, 15 May 2023 08:56:56 +0200 store: use specialized class for store entries
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:56:56 +0200] rev 50507
store: use specialized class for store entries We introduce two different classes for revlog and other entries. For now, we still have multiple entry for the same revlog, but we will work toward grouping the different file in a single entry in this series. Having the distinction is a step toward this goal.
Mon, 15 May 2023 08:56:40 +0200 store: introduce a EntryFile object to actually access file info
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:56:40 +0200] rev 50506
store: introduce a EntryFile object to actually access file info For now a StoreEntry match a single file, but the goal is to eventually combine multiple file in a higher level Entry, so we need to introduce this distinction and use it first.
Mon, 15 May 2023 08:56:23 +0200 store: use a StoreEntry object instead of tuple for store files
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:56:23 +0200] rev 50505
store: use a StoreEntry object instead of tuple for store files We want to make the store return more semantic information instead of a stream of file path. To achieve this, we start with adding a simple object that hold the same information as the tuple it replace, and do a simple update to the user code to fetch and use the same information. From there, we will be able to iteratively upgrade the codebase toward better objects.
Mon, 15 May 2023 08:56:08 +0200 store: no longer explicitly mark the splitted index as ignored
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:56:08 +0200] rev 50504
store: no longer explicitly mark the splitted index as ignored Since the fncache is going to automatically recognised it as non "normal" revlog file, we don't need to explicitly make it ignored.
Mon, 15 May 2023 08:55:52 +0200 store: cleanup what is recognized as a revlog file
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:55:52 +0200] rev 50503
store: cleanup what is recognized as a revlog file The temporary file from `censor` are not relevant to the store as they are just temporary. So let `fncache` and `datafiles` forget about them.
Mon, 15 May 2023 08:55:34 +0200 store: only inclure revlog related file in `datafiles`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 08:55:34 +0200] rev 50502
store: only inclure revlog related file in `datafiles` This is a "reading" equivalent of the previous patches (see that patch for details).
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 tip