Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic checkout prompts not working (Mac OS, gittea, UE 4.22.3) #116

Open
Olliebrown opened this issue Nov 1, 2019 · 3 comments
Open
Assignees
Labels

Comments

@Olliebrown
Copy link

When I modify something in a map, just like with other source control plugins, it prompts me to checkout the file. However, if I click 'check out' in the little prompt in the bottom right, it does some work, seems like it is locking the file, but never actually locks it. It also does not report any error.

I have the same result if I go up to 'source control -> check out modified files'. It seems to work for a moment, tries to lock things, but in the end it does not lock the file and no error is reported.

I am able to successfully lock files manually (by right clicking and saying 'check out') but the checking out of modified assets automatically seems to fail. I will see about sending a log of the problem too.

Just looking for some guidance on fixing this!

System Info

  • OS MacOS Mojave (10.14.6)
  • UE 4.22.3
  • git git version 2.23.0 (macports)
  • git lfs git-lfs/2.7.2 (GitHub; darwin amd64; go 1.12.4)
  • server locally installed gittea server
@Olliebrown
Copy link
Author

Here are the logs. Kind of looks like maybe this isn't implemented yet as all they are doing is refreshing status. I don't see an attempt to lock the files.

Right after modifying the scene
================================
LogSourceControl: IssueAsynchronousCommand(UpdateStatus)
LogSourceControl: RunCommand: 'git lfs locks'
LogSourceControl: RunCommand(lfs locks):
LogSourceControl: RunCommand: 'git symbolic-ref --short --quiet HEAD'
LogSourceControl: RunCommand(symbolic-ref):
master
LogSourceControl: RunCommand: 'git status --porcelain --ignored "/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap"'
LogSourceControl: RunCommand(status):
LogSourceControl: ParseStatusResults: 2) General case for one or more files (/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap, ...)
LogSourceControl: Status(/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap) not found but exists => unchanged
LogSourceControl: Status(/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap) Not Locked
LogSourceControl: RunCommand: 'git ls-remote origin master "/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap"'
LogSourceControl: RunCommand(ls-remote):
60b7a0e43911eab3577bc5366718ce587c83c567    refs/heads/master
LogSourceControl: RunCommand: 'git diff --name-only origin/master  HEAD "/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap"'
LogSourceControl: RunCommand(diff):
LogSourceControl: RunCommand: 'git log -1 --format="%H %s"'
LogSourceControl: RunCommand(log):
60b7a0e43911eab3577bc5366718ce587c83c567 Quick test of locking

After clicking 'check-out' in the prompt
========================================
LogSourceControl: ExecuteSynchronousCommand(UpdateStatus)
LogSourceControl: RunCommand: 'git lfs locks'
LogSourceControl: RunCommand(lfs locks):
LogSourceControl: RunCommand: 'git symbolic-ref --short --quiet HEAD'
LogSourceControl: RunCommand(symbolic-ref):
master
LogSourceControl: RunCommand: 'git status --porcelain --ignored "/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap"'
LogSourceControl: RunCommand(status):
LogSourceControl: ParseStatusResults: 2) General case for one or more files (/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap, ...)
LogSourceControl: Status(/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap) not found but exists => unchanged
LogSourceControl: Status(/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap) Not Locked
LogSourceControl: RunCommand: 'git ls-remote origin master "/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap"'
LogSourceControl: RunCommand(ls-remote):
60b7a0e43911eab3577bc5366718ce587c83c567    refs/heads/master
LogSourceControl: RunCommand: 'git diff --name-only origin/master  HEAD "/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap"'
LogSourceControl: RunCommand(diff):
LogSourceControl: RunCommand: 'git log -1 --format="%H %s"'
LogSourceControl: RunCommand(log):
60b7a0e43911eab3577bc5366718ce587c83c567 Quick test of locking

After clicking 'source-control -> check out modified files'
===========================================================
LogSourceControl: ExecuteSynchronousCommand(UpdateStatus)
LogSourceControl: RunCommand: 'git lfs locks'
LogSourceControl: RunCommand(lfs locks):
LogSourceControl: RunCommand: 'git symbolic-ref --short --quiet HEAD'
LogSourceControl: RunCommand(symbolic-ref):
master
LogSourceControl: RunCommand: 'git status --porcelain --ignored "/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap"'
LogSourceControl: RunCommand(status):
LogSourceControl: ParseStatusResults: 2) General case for one or more files (/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap, ...)
LogSourceControl: Status(/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap) not found but exists => unchanged
LogSourceControl: Status(/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap) Not Locked
LogSourceControl: RunCommand: 'git ls-remote origin master "/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap"'
LogSourceControl: RunCommand(ls-remote):
60b7a0e43911eab3577bc5366718ce587c83c567    refs/heads/master
LogSourceControl: RunCommand: 'git diff --name-only origin/master  HEAD "/Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap"'
LogSourceControl: RunCommand(diff):
LogSourceControl: RunCommand: 'git log -1 --format="%H %s"'
LogSourceControl: RunCommand(log):
60b7a0e43911eab3577bc5366718ce587c83c567 Quick test of locking
LogSlate: Took 0.002183 seconds to synchronously load lazily loaded font '../../../Engine/Content/Slate/Fonts/Roboto-Light.ttf' (167K)
LogUObjectHash: Compacting FUObjectHashTables data took   0.53ms
LogSavePackage: Moving '../../../../../../../Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Saved/ThirdPersonExampleMapB745B31A3F4F21C059BCC0B4A24F8DA4.tmp' to '../../../../../../../Volumes/Samsung_T5/GDD450Repos-1920/funcTestProj/Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap'
LogFileHelpers: Saving map 'ThirdPersonExampleMap' took 0.178
LogFileHelpers: Warning: The following assets are writable on disk but not checked out from source control:
/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap
LogSlate: Window 'Writable Assets Not Checked Out' being destroyed

@SRombauts SRombauts self-assigned this Nov 3, 2019
@SRombauts SRombauts added the bug label Nov 3, 2019
@SRombauts
Copy link
Owner

Hi,

I should have a look at this, but I am not using LFS anymore myself, so it might take me some time to dig into it...

I think it might come from a specific set of flags not well understood by the Editor (flags like IsCheckedout CanCheckout IsWritable etc.)

It could be that the file is considered as Unchanged at the time where you click on the pop-up and as such it don't do anything?

not found but exists => unchanged

To be clear, this issue is known to me in pure git (the issue is that all modified files are considered checked out by default) but should be (needs to be) fixed

@mastercoms
Copy link

I am pretty sure UE4 only prompts when a file is read-only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants