repositories issueshttps://git.mdns.eu/epm/repositories/-/issues2020-02-10T19:11:28Zhttps://git.mdns.eu/epm/repositories/-/issues/10Store element status in model2020-02-10T19:11:28ZMarius David WieschollekStore element status in model### Description
Currently the status of an element (Repository, Branch, Revision) is only stored in OIS. It should be available in the model of the element as well.
#### Use-Cases
* `$repository->getModel()->isDeleted(): bool` returns ...### Description
Currently the status of an element (Repository, Branch, Revision) is only stored in OIS. It should be available in the model of the element as well.
#### Use-Cases
* `$repository->getModel()->isDeleted(): bool` returns if the repository is deleted
* `$banch->getModel()->isDeleted(): bool` returns if the banch is deleted
* `$revision->getModel()->isDeleted(): bool` returns if the revision is deleted
* `$repository->getModel()->setDeleted(bool $deleted)` sets if the repository is deleted
* `$banch->getModel()->setDeleted(bool $deleted)` sets if the banch is deleted
* `$revision->getModel()->setDeleted(bool $deleted)` sets if the revision is deleted
* OIS is not updated automatically if setDeleted is called
* The `$object->delete()` methods set the deleted status correct
* An upgrade for existing objects is provided
* The repair jobs restores information from the OIS
#### Todo
* [ ] Wiki updatedRepositories 0.8.0https://git.mdns.eu/epm/repositories/-/issues/9Allow to checkout older revisions of a branch2020-02-10T19:12:58ZMarius David WieschollekAllow to checkout older revisions of a branch### Description
The checkout job should allow you to checkout older versions of a branch.
#### Use-Cases
* If a revision timestamp is submitted to the checkout job, branches are only checked out if the revision exists
#### Todo
* [ ]...### Description
The checkout job should allow you to checkout older versions of a branch.
#### Use-Cases
* If a revision timestamp is submitted to the checkout job, branches are only checked out if the revision exists
#### Todo
* [ ] Wiki updatedRepositories 0.8.0https://git.mdns.eu/epm/repositories/-/issues/7Improved revision listing for branches2020-02-10T19:12:50ZMarius David WieschollekImproved revision listing for branches### Description
The `branch:analyze` job lists all revisions starting with the first one.
Since child revisions are always padded, this view wastes a lot of space.
Starting with the latest revision and listing discontinued lines with pad...### Description
The `branch:analyze` job lists all revisions starting with the first one.
Since child revisions are always padded, this view wastes a lot of space.
Starting with the latest revision and listing discontinued lines with padding will solve this.
#### Use-Cases
* Revisions listed from the latest revision to the first revision
* The first level contains all revisions which are in a line from the latest revision to the first
* Revisions which are not in the main line are moved to lower levels and shown as children of the revision which they originate from
* child revisions are shown before their parentRepositories 0.8.0https://git.mdns.eu/epm/repositories/-/issues/6Display detailed repository information2020-02-10T19:12:47ZMarius David WieschollekDisplay detailed repository information### Description
Right now the repository:analyze job does only show generic information about the repository properties.
There should also be a section which shows repository type specific information.
#### Use-Cases
* The job `epm rep...### Description
Right now the repository:analyze job does only show generic information about the repository properties.
There should also be a section which shows repository type specific information.
#### Use-Cases
* The job `epm repositories:analyze` calls a hook or helper to enable custom information
* Information providers for the default repositories are providedRepositories 0.8.0https://git.mdns.eu/epm/repositories/-/issues/5OverlayFs Storage should offer force unmount option2020-02-10T19:12:44ZMarius David WieschollekOverlayFs Storage should offer force unmount option### Description
Currently the OverlayFs storage throws a "target is busy" code exception if it is unmounted while in use.
Instead the storage should check if a path is safe to unmount and offer to kill blocking processes.
#### Use-Cases...### Description
Currently the OverlayFs storage throws a "target is busy" code exception if it is unmounted while in use.
Instead the storage should check if a path is safe to unmount and offer to kill blocking processes.
#### Use-Cases
* Before unmounting a path, `lsof +D <path>` is run to check if it is still used
* If a process is blocking the path, OverlayFs asks if the process should be killed
* If the user does not want to kill the process, a UserException is thrown
* If the user decides to unmount forcefully, the blocking processes are terminated
* After termination, the path is checked again before the normal unmount process continues
[repositories_58f0b5855ac1b.txt](/uploads/6f28c41261a4763cf06e5acb9b16aaa7/repositories_58f0b5855ac1b.txt)Repositories 0.8.0https://git.mdns.eu/epm/repositories/-/issues/3Support different different filesystems for OverlayFs2020-02-10T19:12:34ZMarius David WieschollekSupport different different filesystems for OverlayFs### Description
Short description of the feature
#### Use-Cases
* First state to be archived
* Second state to be archived
#### Todo
* [ ] Wiki updated### Description
Short description of the feature
#### Use-Cases
* First state to be archived
* Second state to be archived
#### Todo
* [ ] Wiki updatedRepositories 0.8.0https://git.mdns.eu/epm/repositories/-/issues/2Filters to replace files with placeholders2020-02-10T19:12:22ZMarius David WieschollekFilters to replace files with placeholdersTo reduce project size, filters could be used to replace files matching predefined rules with demo content. When new files are committed to the repository, a set of filters is run on them. If a filter matches, the file is replaced with p...To reduce project size, filters could be used to replace files matching predefined rules with demo content. When new files are committed to the repository, a set of filters is run on them. If a filter matches, the file is replaced with placeholder content.
#### Implementation
- Create a new type of storage, that runs the filters when a new file is added
- If a filter matches, put the demo content in the storage and return its md5 sum to the repository
#### Enhancements
- Add some kind of hook to make filters available in all kinds of repositories
#### Pro
- Less storage is used
#### Con
- Commit jobs will be slowerRepositories 0.8.0