Skip to content

Repository grows too large #29

Description

@Phillipus

Some users with large models have reported that the local Git repository can grow quite large. See https://forum.archimatetool.com/index.php?topic=1712.0

  • A Git repository can grow surprisingly large even when individual commits look tiny, for several common reasons
  • Archi saves models as plain-text XML (.archimate files), but these files are extremely sensitive to even tiny changes. Git can see this as "almost completely different content" - poor delta compression - each commit can store (after compression) roughly most of the full size of the .archimate file again.
  • If the model file is large even a small change can lead to a quite large delta change on the next commit.

I ran some tests with a very large model and made some changes and several commits. The size of the .git/objects folder grew to about 450Mb. Manually invoking the Git Garbage Collect command git gc --aggressive reduced that to 25Mb.

It might be that calling GC regularly is sufficient. If not the whole premise of saving the model as one file might have to be re-thought and a new persistence method used. coArchi 1 created many thousands of small XML files but this created its own problems. Perhaps a hybrid approach might work using more than one XML file but not thousands.

Let's see how if the size can be reasonably reduced by using the GC command.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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