- POSIX shell compliant
- missing shebang added to be able to run it with
`./scripts/utils/comporess.sh`
- refactored pushd and popd
- a short intro header added for better understanding of the
script functionality
This patch adds some missing newlines and trims multiple final newlines
into a single newline.
According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.
C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."
Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.
[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
* TODO update
- [Bug report] ClearLocalChange in class.php would attempt to remove a unexisting file thus gives invalid json response
- added 3 items for follow-up actions of this commit
* reloacate PingTask from js/ui to js/ui/task
* yui-compression script included js/ui/task/*.js
* util.log is allowed to accept arbitrary length of argments
* fix invalid argment passing in Ext.ux.CodeMirror initialize event
* js/ui/component/CheckDoc renames config-args
* fix "Refresh All Data" and "Check Build" failure due to http-timeout (bug of XHR abstraction.. pending decision of keeping XHR)
main.js cleanup:
* FilesNeedUpdateGrid is now wrapped in ui/component/StaleFileGrid.js
- staleFileGrid handle introduced to phpDoc-namespace
* TreeAllFile is now wrapped in ui/component/RepositoryTree.js
* vc-diff panel is now wrapped in ui/component/ViewVCDiff.js
* exec-diff panel is now wrapped in ui/component/ExecDiff.js
* main-menu is now wrapped in ui/component/MainMenu.js
* save-patch prompt is now wrapped in ui/component/PatchPrompt.js
* Introduced _saveEnFile, _saveLangFile, _savePatch for refactored FilesNeedUpdateGrid/TreeAllFiles
- for backward compatibility, saveEnFile, saveLangFile, savePatch remain in main.js
- check file when save is now wrapped in ui/task/CheckFileTask.js
- save en file is now wrapped in ui/task/SaveENFileTask.js
- save lang file is now wrapped in ui/task/SaveLangFile.js
- will merge save en/lang file sooner or later
* Introduced repositoryContextMenu to phpDoc-namespace
- will be relocated into ui/component/RepositoryTree.js sooner or later
* Introduced reuseable CVSLogGrid component in ui/component/CVSLogGrid.js
* Introduced reuseable FilePanel component in ui/component/FilePanel.js
* Corresponding changes due to adoption of FilePanel
- AF-tab remains AF-FileID, AF-panel and sub-components are now named AF-ALL-###-FileID
- FNU-tab remains FNU-FileID, FNU-panel and sub-components are now either FNU-EN-###-FileID or FNU-LANG-###-FileID
- relocate attributes (isModifiedEn & isModifiedLang) of FNU-tab to FNU-ENG-File-###.isModified and FNU-LANG-File-###.isModified
- FilePanel alone is able to sync-scroll with anothor FilePanel via certain configuration
- ui userConf.conf_theme is not refreshed after theme change success
- BuildStatus tab is re-opened without care. Closing re-opened BuildStatus tab will crash extjs
- CheckDoc tab is re-opened without care. Closing re-opened CheckDoc tab will crash extjs
- index.php includes compressed main_min.js instead of main.js, few hundred k-bytes saved in http transfer
- included shell script for yuicompressor
- updated TODO list
main.js cleanup:
- doc-editor config window
* config window is now wrapped in js/ui/component/EditorConf.js
- doc-editor build status grid
* build status grid is now wrapped in js/ui/component/BuildStatus.js
- doc-editor check doc grid
* check doc grid is now wrapped in js/ui/component/CheckDoc.js