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

Allow for hierarchical file structures within tagfs #46

Open
3 tasks
mwatts15 opened this issue Jul 20, 2017 · 0 comments
Open
3 tasks

Allow for hierarchical file structures within tagfs #46

mwatts15 opened this issue Jul 20, 2017 · 0 comments
Labels

Comments

@mwatts15
Copy link
Owner

Motivation

After some reflection, it seems apparent that a user may want to tag file structures that employ information hiding in combination with a tagging file system. As an example, many software packages have a concept of "projects" which consist of multiple files in a tree structure (e.g., Maven). This is a proposal to allow for tagging file hierarchies similarly to single files.

Criteria

Using '@' prefix to designate tags.

  • Hierarchical structures cannot contain tags -- they are terminals in the same way as single files.
  • "Regular" hierarchical directories should be the default to allow for seamless integration with preexisting structures by recursive copy.
  • Interactions within the hierarchical structure should mirror interactions with the underlying file system.
  • Renames of files within a hierarchy to outside the hierarchy should behave the same as if the file had all the tags of its containing hierarchy and was renamed from a path including only the tag components of the original rename source. Examples below:
    • rename("@taga/@tagb/@tagc/a/b/f", "@tagd/f") adds a new file "f" with tags "taga", "tagb", "tagc", "tagd"
    • rename("@taga/@tagb/@tagc/a/b/f", "@taga/f") adds a new file "f" with only tag "taga"
    • rename("@taga/@tagb/@tagc/a/b/f", "@taga/@tagz/f") adds a new file "f" with tags "taga", "tagb", "tagc", "tagz"
  • Renames of files outside of the hierarchy to inside of the hierarchy effectively deletes the source file and creates a file within the hierarchy having the same content and attributes. Whatever tags the file had are not added to the hierarchy.
  • Renames between hierarchies must not involve any changes to tagging
  • The command file system (used for issuing commands to tagfs) should still work within hierarchies
  • DBus file signals must not be sent for file manipulations within a hierarchy

Subtasks

  • Define a textual distinction between tag directories and regular directories
  • Update documentation to reflect the changed behavior
  • Write logic for renames between hiearchy/non-hierarchy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant