src-d / sourced-ui

source{d} UI
https://sourced.tech
Apache License 2.0
7 stars 15 forks source link

Delete patched elements, when deleted from srcd #316

Open dpordomingo opened 4 years ago

dpordomingo commented 4 years ago

fix #225 blocks https://github.com/src-d/sourced-ui/pull/320

When in development it is used make dev-prepare, the content of srcd is copied into sourced and a watcher is coping it again every time one file from srcd is updated. Now:


dpordomingo commented 4 years ago

I'll add later some logs of the different events from the different watchers.

dpordomingo commented 4 years ago

Either using inotify or fswatch, both rename and move events are handled properly, you can see below how these tests are treated.

$ touch extra.less
$ mkdir component
$ mv extra.less component/
$ mv component/extra.less component/component.less
$ rm component/extra-to-delete.less
$ rm -rf component/

    $ touch extra.less
    # events from inotify:
        srcd/superset/assets/stylesheets/less/ CREATE extra.less
        srcd/superset/assets/stylesheets/less/ MODIFY extra.less
    # events from fswatch:
        srcd/superset/assets/stylesheets/less/extra.less Created
        srcd/superset/assets/stylesheets/less/extra.less Updated
    # actions:
        [modified]: srcd/superset/assets/stylesheets/less/extra.less
        cp -r srcd/* superset/
        [modified]: srcd/superset/assets/stylesheets/less/extra.less
        cp -r srcd/* superset/

    $ mkdir component
    # events from inotify:
        srcd/superset/assets/stylesheets/less/ CREATE,ISDIR component
    # events from fswatch:
        srcd/superset/assets/stylesheets/less/component Created
    # actions:
        [modified]: srcd/superset/assets/stylesheets/less/component
        cp -r srcd/* superset/

    $ mv extra.less component/
    # events from inotify:
        srcd/superset/assets/stylesheets/less/ MOVED_FROM extra.less
        srcd/superset/assets/stylesheets/less/component/ MOVED_TO extra.less
    # events from fswatch:
        srcd/superset/assets/stylesheets/less/extra.less Removed MovedFrom
        srcd/superset/assets/stylesheets/less/component/extra.less Created MovedTo
    # actions:
        [deleted]: srcd/superset/assets/stylesheets/less/extra.less
        rm -rf superset/superset/assets/stylesheets/less/extra.less
        [modified]: srcd/superset/assets/stylesheets/less/component/extra.less
        cp -r srcd/* superset/

    $ mv component/extra.less component/component.less
    # events from inotify:
        srcd/superset/assets/stylesheets/less/component/ MOVED_FROM extra.less
        srcd/superset/assets/stylesheets/less/component/ MOVED_TO component.less
    # events from fswatch:
        srcd/superset/assets/stylesheets/less/component/extra.less Removed MovedFrom
        srcd/superset/assets/stylesheets/less/component/component.less Created MovedTo
    # actions:
        [deleted]: srcd/superset/assets/stylesheets/less/component/extra.less
        rm -rf superset/superset/assets/stylesheets/less/component/extra.less
        [modified]: srcd/superset/assets/stylesheets/less/component/component.less
        cp -r srcd/* superset/

    $ rm component/extra-to-delete.less
    # events from inotify:
        srcd/superset/assets/stylesheets/less/component/ DELETE extra-to-delete.less
    # events from fswatch:
        srcd/superset/assets/stylesheets/less/component/extra-to-delete.less Removed
    # actions:
        [deleted]: srcd/superset/assets/stylesheets/less/component/extra-to-delete.less
        rm -rf superset/superset/assets/stylesheets/less/component/extra-to-delete.less

    $ rm -rf component/
    # events from inotify:
        srcd/superset/assets/stylesheets/less/component/ DELETE component.less
        srcd/superset/assets/stylesheets/less/ DELETE,ISDIR component
    # events from fswatch:
        srcd/superset/assets/stylesheets/less/component/component.less Removed
        srcd/superset/assets/stylesheets/less/component Removed
    # actions:
        [deleted]: srcd/superset/assets/stylesheets/less/component/component.less
        rm -rf superset/superset/assets/stylesheets/less/component/component.less
        [deleted]: srcd/superset/assets/stylesheets/less/component
        rm -rf superset/superset/assets/stylesheets/less/component