Re: Questions about GIT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 14, 2015 at 2:48 AM, Jack McLear <mclear7@xxxxxxxxxxxxx> wrote:
> Hi
>
> I’ve recently been made aware of GIT and had a few questions.
> I’m currently working on creating a middleware between FORAN (a CAD system) and Teamcenter.
>
> Do you know if GIT would work between the two?

Git is designed to track any kind of contents, so yes, it will work
with FORAN and Teamcenter.

However! Git is optimized for files which are text. Tracking binary
files is not as pleasant
as text files. (E.g.: There is no merge driver available, as any
binary file has a different format.
Also file sizes may be a concern)

>
> We’re currently using a Centralised version control system.

You may or may not want to change the workflow. Git as a distributed version
control system allows for more freedom w.r.t. workflows, but a
centralized workflow
is supported just as well. See [1] for examples (Just a quick search,
there are many more
articles out there covering workflows)

[1] http://blog.endpoint.com/2014/05/git-workflows-that-work.html

>
> So to check my understanding, using GIT to create a distributed version control would have the following benefits
> The CAD designer who has design a pump assembly for example could create an additional branch and “plays around” with the pump to make improvements without editing the main pump branch?

Branches are cheap to create. Specially in Git. But other version
control systems also allow for
creation of branches. The big issue is the merging back to mainline.
And in case you have binary
files, which have been edited in both branches to merge, you're out of
luck unless you
write a merge driver yourself.

> Could more than one user create independent branches?

Branches are local. So everybody who has a copy of the repository can create
branches. Depending on the configuration of the server, people may or may not
push new branches (or are only allowed to update existing ones).

> If both users wanted to merge their independent branch with the main branch, what would happen? Would one take priority?

In case of text files, they just merge if they were edited at
different positions of the file (plus some margin for error). If they
were edited at the same position, you need to resolve the merge
conflict manually.
Binary files are not merged automatically as Git has no idea of binary
file formats. You need to provide your own merge driver[2].

[2] https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html
see "Defining a custom merge driver"

>
> Is that the main benefit in terms of a CAD system, the branching ability?
>
> Thanks
>
> Jack
>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]