diff --git a/spec/project-spec.coffee b/spec/project-spec.coffee index 976a5774b..956895952 100644 --- a/spec/project-spec.coffee +++ b/spec/project-spec.coffee @@ -352,6 +352,12 @@ describe "Project", -> expect(atom.project.getPaths()).toEqual(originalPaths) expect(onDidChangePathsSpy).not.toHaveBeenCalled() + it "doesn't destroy the repository if it is shared by another root directory", -> + atom.project.setPaths([__dirname, path.join(__dirname, "..", "src")]) + atom.project.removePath(__dirname) + expect(atom.project.getPaths()).toEqual([path.join(__dirname, "..", "src")]) + expect(atom.project.getRepositories()[0].isSubmodule("src")).toBe false + describe ".relativize(path)", -> it "returns the path, relative to whichever root directory it is inside of", -> atom.project.addPath(temp.mkdirSync("another-path")) diff --git a/src/project.coffee b/src/project.coffee index 8844fa231..50bda3ed8 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -225,7 +225,7 @@ class Project extends Model [removedDirectory] = @rootDirectories.splice(indexToRemove, 1) [removedRepository] = @repositories.splice(indexToRemove, 1) removedDirectory.off() - removedRepository?.destroy() + removedRepository?.destroy() unless removedRepository in @repositories @emit "path-changed" @emitter.emit "did-change-paths", @getPaths() true