Files
@ 46e78e583ed3
Branch filter:
Location: kallithea/scripts/whitespacecleanup.sh - annotation
46e78e583ed3
1.1 KiB
text/x-sh
scripts/i18n: add command 'normalized-merge' for use with Mercurial's 'merge-tool' option
Add a 'normalized-merge' command to scripts/i18n that will first normalize
the i18n files contributing to the merge, then perform a standard merge. If
that merge fails (e.g. due to real conflicts) the normalized files are left
behind, and the user needs to run another merge tool manually and resolve the
merge of these.
Use by putting following snippets in your .hgrc file:
[merge-tools]
i18n.executable = /path/to/scripts/i18n
i18n.args = normalized-merge $local $base $other $output
or
[merge-tools]
i18n.executable = python3
i18n.args = /path/to/scripts/i18n normalized-merge $local $base $other $output
and when i18n files conflict, get all 3 sides of the merge normalized before
merge by running:
hg resolve 'kallithea/i18n/*/LC_MESSAGES/kallithea.po' --tool i18n
Add a 'normalized-merge' command to scripts/i18n that will first normalize
the i18n files contributing to the merge, then perform a standard merge. If
that merge fails (e.g. due to real conflicts) the normalized files are left
behind, and the user needs to run another merge tool manually and resolve the
merge of these.
Use by putting following snippets in your .hgrc file:
[merge-tools]
i18n.executable = /path/to/scripts/i18n
i18n.args = normalized-merge $local $base $other $output
or
[merge-tools]
i18n.executable = python3
i18n.args = /path/to/scripts/i18n normalized-merge $local $base $other $output
and when i18n files conflict, get all 3 sides of the merge normalized before
merge by running:
hg resolve 'kallithea/i18n/*/LC_MESSAGES/kallithea.po' --tool i18n
fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 0288dd052033 fce926a9d7c7 6e952212bf06 fce926a9d7c7 fce926a9d7c7 edb24bc0f71a fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 fce926a9d7c7 5698307382de 5b1f43027662 5698307382de 8d663d23ab85 fce926a9d7c7 | #!/bin/bash -x
# Enforce some consistency in whitespace - just to avoid spurious whitespaces changes
files=`hg mani | egrep -v '/fontello/|/email_templates/|(^LICENSE-MERGELY.html|^docs/Makefile|^scripts/whitespacecleanup.sh|/(graph|mergely|native.history)\.js|/test_dump_html_mails.ref.html|\.png|\.gif|\.ico|\.pot|\.po|\.mo|\.tar\.gz|\.diff)$'`
sed -i "s/`printf '\r'`//g" $files
sed -i -e "s,`printf '\t'`, ,g" $files
sed -i -e "s, *$,,g" $files
sed -i -e 's,\([^ ]\)\\$,\1 \\,g' -e 's,\(["'"'"']["'"'"']["'"'"']\) \\$,\1\\,g' $files
# ensure one trailing newline - remove empty last line and make last line include trailing newline:
sed -i -e '$,${/^$/d}' -e '$a\' $files
sed -i -e 's,\([^ /]\){,\1 {,g' `hg loc '*.css'`
sed -i -e 's|^\([^ /].*,\)\([^ ]\)|\1 \2|g' `hg loc '*.css'`
hg mani | xargs chmod -x
hg loc 'set:!binary()&grep("^#!")&!(**_tmpl.py)&!(**/template**)' | xargs chmod +x
# isort is installed from dev_requirements.txt
hg loc 'set:!binary()&grep("^#!.*python")' '*.py' | xargs isort --line-width 160 --lines-after-imports 2
echo "diff after $0:"
hg diff
|