Smartgit keep launching git-lfs.exe clean process for LFS track files when checkout commit

38 views
Skip to first unread message

Chee-Yang Chau

unread,
Dec 16, 2021, 1:18:25 PM12/16/21
to SmartGit
I am using SmartGit on Windows 10.  This is the environment:
  • SmartGit: version 21.1.3 #17160, installed: #17142
  • Java: 11.0.8-Syntevo+0
  • Git: git version 2.34.1.windows.1
  • Git LFS: git-lfs/3.0.2 (GitHub; windows amd64; go 1.17.2)
I create a local repository and define commits as follow:

  1. Commit 1: git lfs install, git lfs track "*.obj"
  2. Commit 2: push 100 *.obj files
  3. Commit 3: push another 100 *.obj files

Now my HEAD is commit 3.

Scenario A
  • Log windows is on
  • Working Tree Windows is off
  • Low Level Properties: log.workingTreeState=False
  • Outcome: Checkout Commit 2 or Commit 3 is smooth, just like how I use git console command.

Scenario B
  • Log windows is on
  • Working Tree Windows is on
  • Low Level Properties: log.workingTreeState=True
  • Outcome: Checkout commit 2 or commit 3, the SmartGit show Please wait... and freeze  the window.
In Scenario B, I notice SmartGit keep launching git-lfs.exe clean for each *.obj files.  This behavior is painfully slow.  If I have thousand of LFS objects, perform such checkout is takes a lot of time.  This only happen to SmartGit, so far it doesn't happen to `git` console operation.

syntevo Support

unread,
Dec 16, 2021, 5:43:57 PM12/16/21
to smar...@googlegroups.com
Can you please capture periodical thread dumps and send to smar...@syntevo.com?

https://docs.syntevo.com/SmartGit/HowTos/Periodical-Thread-Dumps.html

It would be really helpful if you can set up a test repository on GitHub for which the problem becomes reproducible for us (I'm on Windows 10, too).

--
Best regards,
Marc Strapetz
syntevo GmbH
http://www.syntevo.com


12/16/2021 19:19 - Chee-Yang Chau wrote:

> I am using SmartGit on Windows 10. This is the environment:
>
> - SmartGit: *version 21.1.3 #17160, installed: #17142*
> - Java: *11.0.8-Syntevo+0*
> - Git: *git version 2.34.1.windows.1*
> - Git LFS: *git-lfs/3.0.2 (GitHub; windows amd64; go 1.17.2)*
>
> I create a local repository and define commits as follow:
>
>
> 1. Commit 1: *git lfs install, git lfs track "*.obj"*
> 2. Commit 2: *push 100 *.obj files*
> 3. Commit 3: *push another 100 *.obj files*
>
>
> Now my *HEAD* is *commit 3*.
>
> *Scenario A*
>
> - Log windows is on
> - Working Tree Windows is off
> - Low Level Properties: *log.workingTreeState=False*
> - Outcome: Checkout *Commit 2* or *Commit 3* is smooth, just like how I
> use git console command.
>
>
> *Scenario B*
>
> - Log windows is on
> - Working Tree Windows is on
> - Low Level Properties: *log.workingTreeState=True*
> - Outcome: Checkout *commit 2* or *commit 3*, the SmartGit show *Please
> wait...* and freeze the window.
>
> In *Scenario B*, I notice SmartGit keep launching *git-lfs.exe clean* for
> each **.obj* files. This behavior is painfully slow. If I have thousand
> of LFS objects, perform such checkout is takes a lot of time. This only
> happen to SmartGit, so far it doesn't happen to `git` console operation.
>
> --
> You received this message because you are subscribed to the Google Groups
> "SmartGit" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
> smartgit+u...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/smartgit/4e237dd1-88e1-41c2-ae16-35b959ef6665n%40googlegroups.com.
>

Chee-Yang Chau

unread,
Dec 16, 2021, 8:11:03 PM12/16/21
to SmartGit
Hi,

I have created a git repository in Github to show the issue:  https://github.com/ccy/SmartGit-LFS-Test

There is a commit to store the Periodical Thread dump log to show the git-lfs.exe clean issue too.

syntevo Support

unread,
Dec 17, 2021, 8:09:59 AM12/17/21
to smar...@googlegroups.com
> I have created a git repository in Github to show the issue:
> https://github.com/ccy/SmartGit-LFS-Test

Thanks! I could reproduce the problem now. Please give the latest build 17170 a try and add following line to smartgit.properties (in the Settings directory) before restarting:

smartgit.status.forceUpdateIndexForLfsRepositories=true

Does this resolve the problem for you? If not, please send compressed logs/logs.txt.0 directly to smar...@syntevo.com .

--
Best regards,
Marc Strapetz
syntevo GmbH
http://www.syntevo.com



12/17/2021 02:12 - Chee-Yang Chau wrote:

> Hi,
>
> I have created a git repository in Github to show the issue:
> https://github.com/ccy/SmartGit-LFS-Test
>
> There is a commit to store the Periodical Thread dump log to show the *git-lfs.exe
>
> clean* issue too.
> https://groups.google.com/d/msgid/smartgit/beafc660-611e-4d08-ae2d-d1f77a1a8a2bn%40googlegroups.com.
>

Chee-Yang Chau

unread,
Dec 18, 2021, 12:24:57 AM12/18/21
to SmartGit
Hi,

I have download the build 17170, the problem don't happen anymore.  Thank you very much.

Chee-Yang Chau

unread,
Dec 21, 2021, 8:42:34 AM12/21/21
to SmartGit
Hi,

After update to build 17170, there is another case where the git-lfs.exe clean processes issue happen.

  1. Clone the repository: https://github.com/ccy/SmartGit-LFS-Test
  2. Checkout commit obj files #2
  3. Cherry pick obj files #1
  4. git-lfs.exe clean happen again

syntevo Support

unread,
Dec 22, 2021, 8:03:44 AM12/22/21
to smar...@googlegroups.com
> After update to build 17170, there is another case where the *git-lfs.exe
> clean* processes issue happen.
>
>
> 1. Clone the repository: https://github.com/ccy/SmartGit-LFS-Test
> 2. Checkout commit *obj files #2*
> 3. Cherry pick *obj files #1*
> 4. *git-lfs.exe clean* happen again

Thanks for reporting! For conflicts, unfortunately there is no easy fix here, hence I have scheduled this for 22.1 (SG-15071).

--
Best regards,
Marc Strapetz
syntevo GmbH
http://www.syntevo.com



12/21/2021 14:43 - Chee-Yang Chau wrote:

> Hi,
>
> After update to build 17170, there is another case where the *git-lfs.exe
> clean* processes issue happen.
>
>
> 1. Clone the repository: https://github.com/ccy/SmartGit-LFS-Test
> 2. Checkout commit *obj files #2*
> 3. Cherry pick *obj files #1*
> 4. *git-lfs.exe clean* happen again
> https://groups.google.com/d/msgid/smartgit/626a4303-3b2e-4dbd-ac13-ddf227357313n%40googlegroups.com.
>
Reply all
Reply to author
Forward
0 new messages