New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added gitignore-file for Beckhoff TwinCAT3. #3092
Conversation
…is a gitignore file only applicable for TwinCAT3 and not also TwinCAT2 (which stores everything in a big binary blob).
@shiftkey - it's been two months since the creation of this PR and I just wanted to double-check if there is something expected from me that I need to do for this to progress? I tried to document the reason for this addition as well as I could, but maybe there is still some information missing that you expect? |
@shiftkey , just doing a ping on this one as it's now been 5 months since the creation of this ticket... :-P |
…tcunit/TcUnit#85) and having a discussion with Beckhoff support, it was concluded that the files "LineIDs.dbg" and "LineIDs.dbg.bak" should not be version controlled, and thus these two are added to the gitignore-file for TwinCAT3.
I think that is a good idea to add this line: |
I've already included *.tsproj.bak... which I assume you meant? |
.tsproj.bk1 |
TwinCAT HMIAssuming this .gitignore should be applicable to all TwinCAT modules, you can add the following: ## Ignore TwinCAT HMI temporary files, build results, and
## files generated by popular TwinCAT HMI add-ons.
.engineering_servers
liveview_*
*.cache
*.db-shm
*.db-wal
*.pid
tchmipublish.journal.json These come from a file called Initially I thought that anything under Backup filesI noted that visual studio/shell did not always recognize backup files, so i simply added It should be noted that PLC projects come with the Final noteI do not like that the .tmc file must be generated on build, yet saved to the repo. I hope Beckhoff could split any necessary configuration/generation in future versions. |
@rudischilder
|
@rudischilder & @HolgerJeromin, when creating a TwinCAT-HMI project, a .gitignore-file is created automatically, thus should not be included here. |
…me new files were automatically generated after compilation: _ModuleInstall/TcFilter/TwinCAT CE7 (ARMV7)/TcFilterW32.dll _ModuleInstall/TcFilter/TwinCAT CE7 (x86)/TcFilterW32.dll _ModuleInstall/TcFilter/TwinCAT RT (x64)/TcFilter.sys _ModuleInstall/TcFilter/TwinCAT RT (x86)/TcFilter.sys After contacting Beckhoff support, it was concluded that the folder "_ModuleInstall" could be omitted from version control, thus this addition.
* Patch TwinCAT 3.1 (ignore temp file) * Patch TwinCAT 3.1 (ignore backup files) * Patch TwinCAT 3.1 (ignore original files after TcProjectCompare) * Include suggestions from GitHub: github/gitignore#3092 * Rename TwinCAT to TwinCAT3 as it will be the same name used on GitHub: github/gitignore#3092
@sagatowski thank you for this. |
@isherman I haven't managed to reproduce the |
Hi, |
GitHub are not in a hurry with approving this PR it seems. @shiftkey It's been almost two years since this PR was created. How much (approx.) will it take before it is approved? If there is some information missing, please let me know. |
I haven't tried to isolate the exact condition that creates it, but my project includes a TwinCAT C++ module and TwinSAFE configuration. |
[] unc0ver is not for sale |
Great, now we've got SPAM-bots attacking this PR too. I hope this PR can be accepted & closed. |
Just to add, I'd like this PR merged too - used the .gitignore yesterday for a TC3 project, thanks @sagatowski |
Hey folks, sorry for the long wait. LGTM |
Provide a link to the application or project’s homepage:
https://www.beckhoff.com/english.asp?twincat/twincat-3.htm
TwinCAT3 is a realtime kernel and development environment for PLCs (programmable logic controller). The IDE is based on Visual Studio, which TwinCAT is integrated into. It's one of the more popular development environments for industrial automation.
Provide links to documentation:
The official one:
https://download.beckhoff.com/download/document/automation/twincat3/TC3_SourceControl_EN.pdf
This only covers part of the files (specifying that TMC and TPY-files are not necessary to version control). Unfortunately, even Beckhoff (the manufacturer of TwinCAT) have failed to properly document which files should be version controlled and not.
Regarding the other files included in the gitignore-file of the pull request:
There are various github repos for TwinCAT that use this list for gitignore, one being TcUnit, a unit testing framework for TwinCAT3:
https://github.com/tcunit/TcUnit/blob/master/.gitignore
Note that because TwinCAT is using visual studio as development environment (it integrates itself into VS during installation), all visual studio files that are normally ignored shall be ignored as well (therefore the comment # Recommended: VisualStudio.gitignore).
Update 2019-12-05: I've published a blog post that goes through these files and the reason for having a gitignore-file for TwinCAT3 in a much greater detail now which is accessible here:
https://alltwincat.com/2019/12/02/gitignore-for-twincat/
Explain why you’re making a change:
Unfortunately version control by modern VCS is yet quite uncommon in industrial automation, and therefore proper practices and documentation around it have not yet been fully defined. It's quite common within the world of automation to do version control by simply taking a complete project folder and copying it to a new folder, adding the new date and calling that version control. Now that more and more automation engineers are starting to do version control more properly, and also starting to use GIT, it makes sense to create this file.
If this is a new template:
Link to application or projects homepage:
This would be TcUnit, which is a popular unit testing framework for TwinCAT3:
https://tcunit.org/
https://github.com/tcunit