Public read-only git mirror

Currently, one needs to be logged in to download release archives and need to get in touch to get access to the occt git repository.

More and more I see people using automated build scripts and Dockerfiles and the lack of anonymous access to occt releases hinders those use cases.

There are probably good reasons for the way access is organized now, but would it be an idea to offer a public read-only git mirror on github for example?

If this is not something you plan to offer, how do you feel about individuals mirroring the code on github?

Andrey BETENEV's picture

Hello Thomas,

Your starting statement is not fully correct: while login is required for downloading official OCCT packages, you do not need it to download snapshots of OCCT Git repository. You can get snapshot using OCCT GitWeb service (https://git.dev.opencascade.org/gitweb/?p=occt.git; link 'snapshot' near to commit). This possibility has been available from the moment of opening of the OCCT Git repository, and I believe it is the optimal way to get snapshot when you need it for your build system.

For instance, URL https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tag... will give you snapshot of OCCT 7.2.0.

Note that Git snapshot is not exactly the same as the source package that you can find on the official download page: the latter contains also a bunch of generated files (documentation, MSVC, CodeBlocks, and XCode project files).
These files are put there to help the new users to start with OCCT; they are not necessary if you are ready to build OCCT from scratch.

We allow also anonymous read-only access to the official OCCT Git repository: you can clone it using URL https://git.dev.opencascade.org/repos/occt.git

Regarding replication of OCCT repository on GitHub, this can can be quite OK for the persons who create such forks, but for the OCCT as an open source project this is more a source of confusion and does not seem to be a good idea at all. The changes made in such repositories are rarely submitted to official version. Users relying on such repositories can start by assuming that they have more up-to-date version, but as OCCT evolves over time, they can find themselves relying on quite obsolete code. This is what we see on example of OCE.

Naturally we advise all users to base their developments on official version, and submit any possible improvements to OCCT directly. Please consider this when deciding in your own situation.

Andrey

Thomas Krijnen's picture

Hi Andrey,

Many thanks for the detailed reply. I had been using the gitweb snapshots but observed that in addition to the generated files some source files are missing as well. My guess is due to long file names, for example [1] is missing from the 7.1 and 7.2 snapshots when I performed the download. My solution was then to download these individually after extracting the snapshot. For 7.1 just these two files, for 7.2 six files, not ideal but workable.

[1] src/RWStepVisual/RWStepVisual_RWCharacterizedObjectAndCharacterizedRepresentationAndDraughtingModelAndRepresentation.cxx -.hxx

> We allow also anonymous read-only access to the official OCCT Git repository

But this completely solves my problem. Sorry that I wasn't aware of that.

> but for the OCCT as an open source project this is more a source of confusion and does not seem to be a good idea at all

Naturally, I wouldn't want to add to the confusion. Anonymous git access is all I need, so I'm not going to pursue this. If I had, I would've made very clear it to be read-only.

Thanks again,

Kind regards,
Thomas

Andrey BETENEV's picture

Hello Thomas,

Regarding the problem with long file names, this is a known issue: some tar programs (sorry I do not recall which exactly, and cannot reproduce) fail to unpack long names correctly. You can use ZIP archives instead, they do not seem to suffer from that problem.

Andrey