Skip to content

Intégrer des données dans le gitAgent et mettre le singleton dans le store #174

@DavidBruant

Description

@DavidBruant

Actuellement, on a une situation où on a une classe GitAgent qui nous sert uniquement à définir un singleton

const gitAgent = new GitAgent()
export default gitAgent

Aussi, beaucoup de méthodes prennent un ScribouilliGitRepo en argument (en gros toutes, sauf celles qui n'ont aucun arguments) et le ScribouilliGitRepo est utilisé exclusivement soit pour extraire le repoDirectory, la remoteURL ou appeler .path(filename)

Ces 3 trucs-là ne sont d'ailleurs utilisés que par gitAgent (qui internalise/gère le FS et internalise la gestion des push/pull avec les remote). Et ptèt enlever ces éléments de ScribouilliGitRepo s'ils ne sont vraiment pas utilisés ailleurs

Donc, ptèt que ces trucs-là devraient faire partie directement de la classe GitAgent et même être passés au constructeur
On pourrait mettre aussi l'initialisation du onMergeConflict dans un lieu mieux adapté, parce qu'elle est actuellement un peu dans un endroit random

On en profiterait alors pour enlever tous les arguments ScribouilliGitRepo

On pourrait mettre l'instance gitAgent dans le store
Et ne la changer que quand le repo visé (spécifiquement, quand les paramètres repoName et account de l'URL changent... d'ailleurs je remarque qu'on fait beaucoup de boulot dans setCurrentRepositoryFromQuerystring alors que souvent, si repoName et account, y'a rien à faire)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions