2.4 KiB
Unclear Functionality Questions
-
Version semantics:
- What is relationship between
branch_nameandversion? we're makinggit symbolic-ref --short HEADto inspect current branch before version sync and add current branch to the existed one on the server this field if the branch was changes. it's just a visual strings to identify on which git branches this version was used, so it's easier to the user to decide what version's is needed; while merge operation user's current branch overrides version's branch with an interactive prompt, that lets user to use current one or write a string with a custom one
- What is relationship between
-
Sync behavior:
-
"if version is inactive, server responds w/ latest version data" — what if NO active version exists? Answer: provide some variants
-
"recursively asks what environments to save" — what's the UX flow here? Interactive prompts? Answer: interactive prompts, f.e.:
ENVIRONMENT NAME: VARIABLE NAME: version timestamp 1: - version timestamp 2: WABALABUDABDAB version timestamp 3: BABRAKADABRA please enter the number of the valid VAR for a new version; -
-
Merge behavior:
-
What happens to source versions after merge? Deleted? Marked inactive? Answer: source versions should be marked as inactive and cannot be updated anymore;
-
-v, --versiontakes "list of versions" — what format? Comma-separated? Multiple flags? Answer: just space separated list of version's timestamps;
-
-
Config scope:
-
Is
api_keyper-project or can it be global (e.g., in~/.config/aevs/)? Answer:api_key's scope is a user's scope; user management would be implemented later -
Can config inherit from parent directories? Answer: do not understand the question;
-
Missing Information
- Error handling: What happens on network failure during sync/merge? Answer: failing error w/ the previous state of the entities;
- Authentication: How is api_key validated? What permissions does it grant? Answer: for now let api_key be a hardcoded value, we'd create web server later;
- Conflict resolution: In sync, what if local and remote have conflicting changes? Answer: We've previously discussed merging conflicts flow. If it's not a merge operation we're going through a conflict resolution flow, but there'd be new version created as local, as at the server;