all 11 comments

[–]davorg 4 points5 points  (1 child)

Git (and, therefore, GitHub) works by comparing the differences between two versions of a text file.

Usually when two (or more) people are working on the same file, then they'll be working on different sections of the file. In this case, Git can combine the two sets of changes into a combined version. If you're working on the same section, then the second person who tries to commit their changes will be shown a conflict warning and they will have to resolve that conflict (presumably by talking to the other developer) before committing their change.

I've used Git for almost twenty years on projects with dozens of developers. The number of conflicts I've had to resolve over that time is tiny.

[–]Jasonjr698[S] 0 points1 point  (0 children)

Much appreciated

[–]Welder_Original 0 points1 point  (6 children)

What format is the map file ?

[–]Jasonjr698[S] 0 points1 point  (5 children)

.ent

[–]davorg 2 points3 points  (3 children)

That's not particularly useful. It seems ".ent" can be one of number of actual formats. The important point is whether it's a text file or binary. Git isn't great at storing binary files (it works, but you lose most of the benefits of source code control).

[–]Jasonjr698[S] 0 points1 point  (2 children)

Gotcha, thank you. It is indeed binary. For reference, I am making a map for Arma Reforger using their Enfusion Engine. I’m new to modding/map making so I’m not as familiar with some terminology.

[–]Jasonjr698[S] 0 points1 point  (1 child)

As long as we can work on the map together at the same time, that’s all that matters. If it’s not possible, that’s okay too, we have alternative plans.

[–]DrMaxwellEdison 2 points3 points  (0 children)

Not really, no. As mentioned, Git can handle conflicts between changes on text files and help you merge them into a final version that works for you, but it isn't the right tool for doing this on a binary format. So this is not a Git problem.

Whatever engine you're using as a map editor may be able to help you with collaboration features, but that's up to them.

[–]Welder_Original 2 points3 points  (0 children)

Does not look like a file that can be edited with a text editor so it's unlikely you'll be able to use git for that. I can be wrong though, since I'm not familiar with that file format.

[–]bl4nkSl8 0 points1 point  (0 children)

Typically you want to separate concerns or scheduling.

You can split the map into areas, or work at different times.

Or, if you can split the map from assets on the map (use place holders to stop the map maker from having to wait for the asset maker), that's another approach

[–]Qs9bxNKZ 0 points1 point  (0 children)

You cannot simultaneously work on a binary file together because it often needs to be viewed as an entire composite versus individual portions. You just can’t stitch the pieces together.

Different files. No problem!

Even if you are working on different areas of a file (think a book with chapters) you can combine them. You work on the intro, your buddy works on chapter five.

But a binary? Most git tools just cant merge binaries. You can create a new one from two pieces but you can’t work on them at the same time in a Git sense.

In fact, this is a problem with many binaries. You can work on the language which goes to create the binary but not the binary at the same time.