Missed Team ’24? Catch up on announcements here.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

unity3d scene conflicts are not showing in my external tool (Meld)

Leela Vinodh November 20, 2017

I am trying to put my unity3d project into GIT version control. I followed this video https://youtu.be/EQB-N-ClO9g and I achieved the same. But the problem I am facing is, if the scene size is 10MB or more the conflict details are not opening with my external tool Meld.

In my .gitattribute  file I have marked the .unity , .prefab & .asset as binary.

Is there any size limitation to view the conflicts?

2 answers

1 vote
Leela Vinodh November 30, 2017

Finally...After a long struggle of 2 to 3 weeks. Implemented version control for unity3d project.

Meld Tool was not able to handle large files and we tried with few other tools like diffmerge, kdiff3 nothing worked.

When we tried with beyond compare tool it worked for us. In addition to  this tool change, we made changes to .gitattribute file by removing the .unity entry as suggested by this link http://en.joysword.com/posts/2016/03/setting_up_github_for_unity_projects/

(Warning: It is not recommended to use LFS to manage .unity scene files, otherwise you will be forced to have only one person working on a scene at all times)

0 votes
Mike Corsaro
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 20, 2017

Hello! If you're using Sourcetree for Windows, you should be aware that there's a max file size for both text and binary diffs. You can change that default under the "Diff" settings:

diff.JPG

Leela Vinodh November 20, 2017

Hi Mike thanks for the input, I tried changing the max file size for both text and binary. Now my external tool opens but the problem which I am facing now is the conflicts are getting auto resolved using my local changes. Is there any settings which I am missing.

But when I tested with smaller scene size the conflicts are shown to me and I would pick the changes to get merged either form theirs or mine.

Mike Corsaro
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 21, 2017

Question: have you set your Unity settings to serialize as text, or binary?

 

Git will auto-merge by default if it doesn't detect any conflicts.

Leela Vinodh November 21, 2017

Hi Mike I have already changed my unity editor setting. The conflict are showing for small scene size. But if I try to simulate the conflict for large scene size (More than 10 MB) source tree is not showing the conflicts instead it is getting auto resolved using my local changes.

These are my setting which I have done for putting my unity project into version control.

Unity Project:

a. unity Editor Setting - Version Control Mode = Visible Meta Files

b. unity Editor Setting - Asset Serialization Mode = Force Text

c. mergespecfile.txt include these lines 

unity use "%programs%\Meld\Meld.exe" "%r" "%b" "%l" -o "%d" --auto-merge
prefab use "%programs%\Meld\Meld.exe" "%r" "%b" "%l" -o "%d" --auto-merge

# Default fallbacks for unknown files. First tool found is used.

# Meld Merge
* use "%programs%\Meld\Meld.exe" "%r" "%b" "%l" -o "%d" --auto-merge

 

Source Tree (Repo is in Bitbucket) :

Selectd Custom in the External Diff / Merge Tool dropdown.

Typed the path to UnityYAMLMerge in the Merge Command text field.

Typed merge -p $BASE $REMOTE $LOCAL $MERGED in the Arguments text field.

initialized the project with GIT-LFS

 

screen shot attached.

Screenshot (5).pngScreenshot (8).pngScreenshot (7).png

Screenshot (9).pngScreenshot (10).png

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events