diff --git a/.gitattributes b/.gitattributes index 31f31e7..d78faef 100755 --- a/.gitattributes +++ b/.gitattributes @@ -11,8 +11,23 @@ # Tc files must be CRLF *.plcproj text eol=crlf -*.Tc* text eol=crlf -*.tsproj text eol=crlf +*.Tc* text eol=crlf filter=cleanCode +*.tsproj text eol=crlf filter=ignoreNetId *.txt text eol=crlf *.xml text eol=crlf *.xti text eol=crlf + + +# Configure the following in TwinCAT: +# TOOLS -> Options -> TwinCAT -> PLC Environment -> Write Options -> Separate LineIDS : True +# To activate the filter, run +#git config filter.ignoreNetId.clean 'sed -b -f filter/ignoreTargetNetId.sed' +#git config filter.cleanCode.clean 'sed -b -f filter/cleanCode.sed' + +# the check if the filter is there by running +# cat ../../../../.git/modules/solution/tc_project_app/tc_pils/tc_pils_generic/config + +#[filter "ignoreNetId"] +# clean = sed -f filter/ignoreTargetNetId.sed +#[filter "cleanCode"] +# clean = sed -f filter/cleanCode.sed diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index e7b7b3a..3412348 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -1,13 +1,13 @@ -image: python:3.7.3 -options: - max-time: 1 -pipelines: - default: - - step: - script: - - git submodule update --init - - python twincat_version_manager.py - - python check_fix_white_space.py - - ./check_no_lineids.sh - - ./check_code_before_sq_brackets.sh - +image: python:3.7.3 +options: + max-time: 1 +pipelines: + default: + - step: + script: + - git submodule update --init + - python twincat_version_manager.py + - python check_fix_white_space.py + - ./check_no_lineids.sh + - ./check_code_before_sq_brackets.sh + diff --git a/filter/cleanCode.sed b/filter/cleanCode.sed new file mode 100644 index 0000000..2daf757 --- /dev/null +++ b/filter/cleanCode.sed @@ -0,0 +1,10 @@ +# remove LineIds +//s/]]>/\r\n]]>/g +# convert tab to space +/\t/s/\t/ /g +# remove trailing space +s/[[:blank:]]*$// +s/[[:blank:]]*\r$/\r/ diff --git a/filter/gitconfig b/filter/gitconfig new file mode 100644 index 0000000..0fc59d6 --- /dev/null +++ b/filter/gitconfig @@ -0,0 +1,5 @@ +[filter "ignoreNetId"] + clean = sed -b -f filter/ignoreTargetNetId.sed +[filter "cleanCode"] + clean = sed -b -f filter/cleanCode.sed + diff --git a/filter/ignoreTargetNetId.sed b/filter/ignoreTargetNetId.sed new file mode 100644 index 0000000..8610381 --- /dev/null +++ b/filter/ignoreTargetNetId.sed @@ -0,0 +1 @@ +s/}\" TargetNetId=\"[0-9.]+\"/}\" /g