Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support path aliasing #105

Closed
LPGhatguy opened this issue Jan 16, 2019 · 1 comment
Closed

Support path aliasing #105

LPGhatguy opened this issue Jan 16, 2019 · 1 comment
Assignees
Labels
scope: cli Relevant to the Rojo CLI type: enhancement Feature or improvement that should potentially happen

Comments

@LPGhatguy
Copy link
Contributor

If two partitions point to the same path or one of the paths contains the other, Rojo right now will do weird stuff like name your instances incorrectly or silently drop some changes.

This support needs to happen in a couple places:

  • Update the IMFS and file watcher interface to skip paths its already seen when building the sync point index
  • Change all of the RbxSession and snapshot code to change HashMap<PathBuf, T> to HashMap<PathBuf, Vec<T>> and adjust algorithms to make the split less painful.
@LPGhatguy LPGhatguy added type: enhancement Feature or improvement that should potentially happen scope: cli Relevant to the Rojo CLI labels Jan 16, 2019
@LPGhatguy LPGhatguy added this to the 0.5.0 milestone Jan 16, 2019
@LPGhatguy LPGhatguy self-assigned this Jan 17, 2019
@LPGhatguy
Copy link
Contributor Author

A lot of the baseline refactoring work needed to do this has been done, now it should just be down to flipping a type to use Vec (or maybe SmallVec) and change a couple cases in RbxSession to be loops.

The other part that I've been working is in the in-memory filesystem code, which needs to take care not to watch or read paths redundantly. It's not strictly necessary to support path aliasing, but definitely helps clean it up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: cli Relevant to the Rojo CLI type: enhancement Feature or improvement that should potentially happen
Projects
None yet
Development

No branches or pull requests

1 participant