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

apply-manifest does not perform filesystem operations #268

Closed
dmerejkowsky opened this issue Nov 24, 2020 · 0 comments · Fixed by #300
Closed

apply-manifest does not perform filesystem operations #268

dmerejkowsky opened this issue Nov 24, 2020 · 0 comments · Fixed by #300

Comments

@dmerejkowsky
Copy link
Collaborator

dmerejkowsky commented Nov 24, 2020

Steps to reproduce:

  • Create a manifest file containing a symlink operation
  • Run tsrc apply-manifest
  • No file system operation is performed.

Note: this is because of this code:

    manifest = tsrc.manifest.load(manifest_path)
    workspace.repos = repos_from_config(manifest, workspace.config)

We override workspace.repos but instead we should do something like:

  workspace.local_manifest = FileManifest(manifest_path)

and override the local_manifest instance of the workspace.

This needs a bit of refactoring, for instance by having an abstract LocalManifest class, which would be implemented by ClonedManifestRepo and ManifestPath or something ....

dmerejkowsky added a commit that referenced this issue Nov 24, 2020
Workspace instances are now built with a WorkspaceConfig and LocalManifest instances.

LocalManifest is abstract and is either implemented by:

* ClonedManifest, which represents a manifest cloned in
<workspace_path>/.tsrc/manifest,
* or ManifestCopy, which represents a manifest located in the file system

This allows for a more robust implementation of the `apply-manifest` command

Fix #268
dmerejkowsky added a commit that referenced this issue Nov 24, 2020
Workspace instances are now built with a WorkspaceConfig and LocalManifest instances.

LocalManifest is abstract and is either implemented by:

* ClonedManifest, which represents a manifest cloned in
<workspace_path>/.tsrc/manifest,
* or ManifestCopy, which represents a manifest located in the file system

This allows for a more robust implementation of the `apply-manifest` command

Fix #268
dmerejkowsky added a commit that referenced this issue Nov 24, 2020
Workspace instances are now built with a WorkspaceConfig and LocalManifest instances.

LocalManifest is abstract and is either implemented by:

* ClonedManifest, which represents a manifest cloned in
<workspace_path>/.tsrc/manifest,
* or ManifestCopy, which represents a manifest located in the file system

This allows for a more robust implementation of the `apply-manifest` command

Fix #268
@dmerejkowsky dmerejkowsky reopened this Jan 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant