Is there a possibility of versioning files other than code?

Asked

Viewed 90 times

2

Like versioning Ireport files or other tool ?

'Cause I work with a ERP and I need to find a way to edit the files I edit.

  • 1

    Are you looking for a suitable tool or technology for binary file versioning, then? Or does it need to be with Git itself?

  • 1

    Actually, it could be anything, but I just need to find a way to see this through. If not every time I maintain the ERP codes I end up getting lost. It would be an ERP similar to Totvs or SAP

  • 4

    It is not appropriate to view the file generated by iReport git or similar tools. The best I’ve come across so far is to keep the jrxmls in versioning and, when generating the report, compile it programmatically

  • @Jeffersonquesado ok understood, but and when the system uses its own programming language, where it saves the file as a single extension. I must save the algorithm in a TXT and then Versionar ?

  • 1

    ME particularly would focus on maintaining the original textual part of the code, at most an artifact manager (which is not code versioning) to maintain something that has great compilation cost. Not knowing what you really need, what limitations you need to meet, I can’t contribute significantly

2 answers

2


You can browse anything (in git at least), including binary formats. It’s customary to include assets like images in Git of a source code, after all they are an integral part of the program.

What you have to keep in mind is: binary formats are not very "hard", i.e., when the file changes, version control will store a new version of the entire file, and the total size of the repository will increase in the same proportion. If it is a large and changing binary file all the time, this could be a problem.

Generally, storing assets that are the product of the build/build process is avoided, as they change all the time, do not collaborate to "tell the story" of the source code, and can be generated again whenever necessary.

That rule is not written in stone – It may be that the generation of the asset depends on a special tool that is only installed on a machine for license reasons, or it is very time consuming to generate, or depends on a specially configured machine for the task. In summary, you need to balance the cost of "fattening" the size of the repository versus the cost of generating the asset again.

  • 1

    Even for these generation limitation cases, I would put it on an artifact server. I don’t need to control source, just a binary after all. One idea I’ve seen was to serve through Jenkins these generated artifacts and download them at the time of packaging. Another bizarre use was forcing down Artifactory’s throat an abstract artifact in an arbitrary version.

  • 1

    It’s an option, to put heavy assets on a separate server. I didn’t put it in the answer for brevity, but it’s a good idea, and quite used, really.

1

Yes, it is possible.

I see that you are looking for a solution regarding the versioning of Jasper reports.

I searched the Internet and found a procedure which may be useful to you if your intention is to use versioning to promote integrated development between team members:

  • After finishing the development file, export all project reports to a versioned folder;
  • Commit and send to the remote;
  • Before you return to activity, Encrypt your folder with the remote code and import the project back to Jasper;
  • Continue development.
  • This works, until the moment that will not give more. I’ve been through enough problems in a project that used this scheme, including bugs that didn’t appear when we were debugging because the compiled did not match the jrxml. While you don’t have an automatic warranty procedure for this, your team will be subject to such issues.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.