Skip to content
This repository has been archived by the owner on Oct 13, 2021. It is now read-only.

Faros takes a long time calculating the File.Log #123

Closed
sebastianrosch opened this issue Apr 4, 2019 · 3 comments
Closed

Faros takes a long time calculating the File.Log #123

sebastianrosch opened this issue Apr 4, 2019 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@sebastianrosch
Copy link
Contributor

For us, Faros takes several minutes after checkout before it applies changes. After some investigation, I noticed that it calculates the File.Log using git blame. However, the log seems to never be used within Faros.

I understand that Faros uses Repo.GetAllFiles from https://github.com/pusher/git-store

What do you think about adding an option to not return the Log property, as it is not required here? Any thoughts on this?

@JoelSpeed
Copy link
Contributor

Hi @sebastianroesch, we haven't seen this issue (yet?) but I understand why this could be frustrating. I've been looking at how we might be able to fix this without changing functionality too much.

I've been thinking about changing the git-store so that Blames are obtained on a per file basis and not by default (yes I appreciate this is a breaking change but I don't know how many people are using this library, mostly just pusher projects I assume), so there would maybe be a method git-store.File.GetLog() or git-store.Repo.LogFor(file git-store.File) and then this could hopefully optimise things a bit, WDYT?

I also noticed you guys have been testing with a fork of git-store, have you seen performance improvements?

@JoelSpeed JoelSpeed added the enhancement New feature or request label Apr 11, 2019
@JoelSpeed JoelSpeed self-assigned this Apr 11, 2019
@sebastianrosch
Copy link
Contributor Author

Hey @JoelSpeed, in our fork we added a flag to skip generating the log, and it reduced the duration of a Reconcile from 4-5 minutes to < 10 seconds. slentzen-auth0/git-store@09947af

Your proposed solution sounds cleaner, especially as the Log is not used at all in Faros.

@JoelSpeed
Copy link
Contributor

Hey @JoelSpeed, in our fork we added a flag to skip generating the log, and it reduced the duration of a Reconcile from 4-5 minutes to < 10 seconds. slentzen-auth0/git-store@09947af

That's good to know! Definitely worth fixing then.

Your proposed solution sounds cleaner, especially as the Log is not used at all in Faros.

Indeed, though we do have some internal plans around adding some git based log information to the status of GitTrack and GitTrackObjects though whether this is on a file or branch/tag level we are undecided. Any thoughts on what kind of Git Information in status fields might be useful are very welcome!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants