You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

920 lines
36 KiB

Better logging (#6038) (#6095) * Panic don't fatal on create new logger Fixes #5854 Signed-off-by: Andrew Thornton <art27@cantab.net> * partial broken * Update the logging infrastrcture Signed-off-by: Andrew Thornton <art27@cantab.net> * Reset the skip levels for Fatal and Error Signed-off-by: Andrew Thornton <art27@cantab.net> * broken ncsa * More log.Error fixes Signed-off-by: Andrew Thornton <art27@cantab.net> * Remove nal * set log-levels to lowercase * Make console_test test all levels * switch to lowercased levels * OK now working * Fix vetting issues * Fix lint * Fix tests * change default logging to match current gitea * Improve log testing Signed-off-by: Andrew Thornton <art27@cantab.net> * reset error skip levels to 0 * Update documentation and access logger configuration * Redirect the router log back to gitea if redirect macaron log but also allow setting the log level - i.e. TRACE * Fix broken level caching * Refactor the router log * Add Router logger * Add colorizing options * Adjust router colors * Only create logger if they will be used * update app.ini.sample * rename Attribute ColorAttribute * Change from white to green for function * Set fatal/error levels * Restore initial trace logger * Fix Trace arguments in modules/auth/auth.go * Properly handle XORMLogger * Improve admin/config page * fix fmt * Add auto-compression of old logs * Update error log levels * Remove the unnecessary skip argument from Error, Fatal and Critical * Add stacktrace support * Fix tests * Remove x/sync from vendors? * Add stderr option to console logger * Use filepath.ToSlash to protect against Windows in tests * Remove prefixed underscores from names in colors.go * Remove not implemented database logger This was removed from Gogs on 4 Mar 2016 but left in the configuration since then. * Ensure that log paths are relative to ROOT_PATH * use path.Join * rename jsonConfig to logConfig * Rename "config" to "jsonConfig" to make it clearer * Requested changes * Requested changes: XormLogger * Try to color the windows terminal If successful default to colorizing the console logs * fixup * Colorize initially too * update vendor * Colorize logs on default and remove if this is not a colorizing logger * Fix documentation * fix test * Use go-isatty to detect if on windows we are on msys or cygwin * Fix spelling mistake * Add missing vendors * More changes * Rationalise the ANSI writer protection * Adjust colors on advice from @0x5c * Make Flags a comma separated list * Move to use the windows constant for ENABLE_VIRTUAL_TERMINAL_PROCESSING * Ensure matching is done on the non-colored message - to simpify EXPRESSION
5 years ago
10 years ago
10 years ago
10 years ago
8 years ago
Better logging (#6038) (#6095) * Panic don't fatal on create new logger Fixes #5854 Signed-off-by: Andrew Thornton <art27@cantab.net> * partial broken * Update the logging infrastrcture Signed-off-by: Andrew Thornton <art27@cantab.net> * Reset the skip levels for Fatal and Error Signed-off-by: Andrew Thornton <art27@cantab.net> * broken ncsa * More log.Error fixes Signed-off-by: Andrew Thornton <art27@cantab.net> * Remove nal * set log-levels to lowercase * Make console_test test all levels * switch to lowercased levels * OK now working * Fix vetting issues * Fix lint * Fix tests * change default logging to match current gitea * Improve log testing Signed-off-by: Andrew Thornton <art27@cantab.net> * reset error skip levels to 0 * Update documentation and access logger configuration * Redirect the router log back to gitea if redirect macaron log but also allow setting the log level - i.e. TRACE * Fix broken level caching * Refactor the router log * Add Router logger * Add colorizing options * Adjust router colors * Only create logger if they will be used * update app.ini.sample * rename Attribute ColorAttribute * Change from white to green for function * Set fatal/error levels * Restore initial trace logger * Fix Trace arguments in modules/auth/auth.go * Properly handle XORMLogger * Improve admin/config page * fix fmt * Add auto-compression of old logs * Update error log levels * Remove the unnecessary skip argument from Error, Fatal and Critical * Add stacktrace support * Fix tests * Remove x/sync from vendors? * Add stderr option to console logger * Use filepath.ToSlash to protect against Windows in tests * Remove prefixed underscores from names in colors.go * Remove not implemented database logger This was removed from Gogs on 4 Mar 2016 but left in the configuration since then. * Ensure that log paths are relative to ROOT_PATH * use path.Join * rename jsonConfig to logConfig * Rename "config" to "jsonConfig" to make it clearer * Requested changes * Requested changes: XormLogger * Try to color the windows terminal If successful default to colorizing the console logs * fixup * Colorize initially too * update vendor * Colorize logs on default and remove if this is not a colorizing logger * Fix documentation * fix test * Use go-isatty to detect if on windows we are on msys or cygwin * Fix spelling mistake * Add missing vendors * More changes * Rationalise the ANSI writer protection * Adjust colors on advice from @0x5c * Make Flags a comma separated list * Move to use the windows constant for ENABLE_VIRTUAL_TERMINAL_PROCESSING * Ensure matching is done on the non-colored message - to simpify EXPRESSION
5 years ago
10 years ago
Squashed commit of the following: commit 0afcb843d7ffd596991c4885cab768273a6eb42c Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 17:13:29 2016 -0600 Removed Upload stats as the upload table is just a temporary table commit 7ecd73ff5535612d79d471409173ee7f1fcfa157 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:42:41 2016 -0600 Fix for CodeMirror mode commit c29b9ab531e2e7af0fb5db24dc17e51027dd1174 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:03:33 2016 -0600 Made tabbing in editor use spaces commit 23af384c53206a8a40e11e45bf49d7a149c4adcd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:56:46 2016 -0600 Fix for data-url commit cfb8a97591cb6fc0a92e49563b7b764c524db0e9 Merge: 7fc8a89 991ce42 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:42:53 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit 7fc8a89cb495478225b02d613e647f99a1489634 Merge: fd3d86c c03d040 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:40:00 2016 -0600 Merge branch 'feature-create-and-edit-repo-file' of github.com:richmahn/gogs into feature-create-and-edit-repo-file commit fd3d86ca6bbc02cfda566a504ffd6b03db4f75ef Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:39:44 2016 -0600 Code cleanup commit c03d0401c1049eeeccc32ab1f9c3303c130be5ee Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 29 15:38:23 2016 -0600 Code cleanup commit 98e1206ccf9f9a4503c020e3a7830cf9f861dfae Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:36:01 2016 -0600 Code cleanup and fixes commit c2895dc742f25f8412879c9fa15e18f27f42f194 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:24:04 2016 -0600 Fixes per Unknwon's requests commit 6aa7e46b21ad4c96e562daa2eac26a8fb408f8ef Merge: 889e9fa ad7ea88 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 17:13:43 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go modules/setting/setting.go commit 889e9faf1bd8559a4979c8f46005d488c1a234d4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:09:18 2016 -0600 Fix in gogs.js commit 47603edf223f147b114be65f3bd27bc1e88827a5 Merge: bb57912 cf85e9e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:07:36 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit bb5791255867a71c11a77b639db050ad09c597a4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:02:18 2016 -0600 Update for using CodeMirror mode addon commit d10d128c51039be19e2af9c66c63db66a9f2ec6d Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 16:12:57 2016 -0600 Update for Edit commit 34a34982025144e3225e389f7849eb6273c1d576 Merge: fa1b752 1c7dcdd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 11:52:02 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go commit fa1b752be29cd455c5184ddac2ffe80b3489763e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 15 18:35:42 2016 -0600 Feature for editing, creating, uploading and deleting files
8 years ago
Squashed commit of the following: commit 0afcb843d7ffd596991c4885cab768273a6eb42c Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 17:13:29 2016 -0600 Removed Upload stats as the upload table is just a temporary table commit 7ecd73ff5535612d79d471409173ee7f1fcfa157 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:42:41 2016 -0600 Fix for CodeMirror mode commit c29b9ab531e2e7af0fb5db24dc17e51027dd1174 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:03:33 2016 -0600 Made tabbing in editor use spaces commit 23af384c53206a8a40e11e45bf49d7a149c4adcd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:56:46 2016 -0600 Fix for data-url commit cfb8a97591cb6fc0a92e49563b7b764c524db0e9 Merge: 7fc8a89 991ce42 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:42:53 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit 7fc8a89cb495478225b02d613e647f99a1489634 Merge: fd3d86c c03d040 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:40:00 2016 -0600 Merge branch 'feature-create-and-edit-repo-file' of github.com:richmahn/gogs into feature-create-and-edit-repo-file commit fd3d86ca6bbc02cfda566a504ffd6b03db4f75ef Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:39:44 2016 -0600 Code cleanup commit c03d0401c1049eeeccc32ab1f9c3303c130be5ee Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 29 15:38:23 2016 -0600 Code cleanup commit 98e1206ccf9f9a4503c020e3a7830cf9f861dfae Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:36:01 2016 -0600 Code cleanup and fixes commit c2895dc742f25f8412879c9fa15e18f27f42f194 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:24:04 2016 -0600 Fixes per Unknwon's requests commit 6aa7e46b21ad4c96e562daa2eac26a8fb408f8ef Merge: 889e9fa ad7ea88 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 17:13:43 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go modules/setting/setting.go commit 889e9faf1bd8559a4979c8f46005d488c1a234d4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:09:18 2016 -0600 Fix in gogs.js commit 47603edf223f147b114be65f3bd27bc1e88827a5 Merge: bb57912 cf85e9e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:07:36 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit bb5791255867a71c11a77b639db050ad09c597a4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:02:18 2016 -0600 Update for using CodeMirror mode addon commit d10d128c51039be19e2af9c66c63db66a9f2ec6d Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 16:12:57 2016 -0600 Update for Edit commit 34a34982025144e3225e389f7849eb6273c1d576 Merge: fa1b752 1c7dcdd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 11:52:02 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go commit fa1b752be29cd455c5184ddac2ffe80b3489763e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 15 18:35:42 2016 -0600 Feature for editing, creating, uploading and deleting files
8 years ago
Squashed commit of the following: commit 0afcb843d7ffd596991c4885cab768273a6eb42c Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 17:13:29 2016 -0600 Removed Upload stats as the upload table is just a temporary table commit 7ecd73ff5535612d79d471409173ee7f1fcfa157 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:42:41 2016 -0600 Fix for CodeMirror mode commit c29b9ab531e2e7af0fb5db24dc17e51027dd1174 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:03:33 2016 -0600 Made tabbing in editor use spaces commit 23af384c53206a8a40e11e45bf49d7a149c4adcd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:56:46 2016 -0600 Fix for data-url commit cfb8a97591cb6fc0a92e49563b7b764c524db0e9 Merge: 7fc8a89 991ce42 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:42:53 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit 7fc8a89cb495478225b02d613e647f99a1489634 Merge: fd3d86c c03d040 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:40:00 2016 -0600 Merge branch 'feature-create-and-edit-repo-file' of github.com:richmahn/gogs into feature-create-and-edit-repo-file commit fd3d86ca6bbc02cfda566a504ffd6b03db4f75ef Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:39:44 2016 -0600 Code cleanup commit c03d0401c1049eeeccc32ab1f9c3303c130be5ee Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 29 15:38:23 2016 -0600 Code cleanup commit 98e1206ccf9f9a4503c020e3a7830cf9f861dfae Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:36:01 2016 -0600 Code cleanup and fixes commit c2895dc742f25f8412879c9fa15e18f27f42f194 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:24:04 2016 -0600 Fixes per Unknwon's requests commit 6aa7e46b21ad4c96e562daa2eac26a8fb408f8ef Merge: 889e9fa ad7ea88 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 17:13:43 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go modules/setting/setting.go commit 889e9faf1bd8559a4979c8f46005d488c1a234d4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:09:18 2016 -0600 Fix in gogs.js commit 47603edf223f147b114be65f3bd27bc1e88827a5 Merge: bb57912 cf85e9e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:07:36 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit bb5791255867a71c11a77b639db050ad09c597a4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:02:18 2016 -0600 Update for using CodeMirror mode addon commit d10d128c51039be19e2af9c66c63db66a9f2ec6d Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 16:12:57 2016 -0600 Update for Edit commit 34a34982025144e3225e389f7849eb6273c1d576 Merge: fa1b752 1c7dcdd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 11:52:02 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go commit fa1b752be29cd455c5184ddac2ffe80b3489763e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 15 18:35:42 2016 -0600 Feature for editing, creating, uploading and deleting files
8 years ago
Squashed commit of the following: commit 0afcb843d7ffd596991c4885cab768273a6eb42c Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 17:13:29 2016 -0600 Removed Upload stats as the upload table is just a temporary table commit 7ecd73ff5535612d79d471409173ee7f1fcfa157 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:42:41 2016 -0600 Fix for CodeMirror mode commit c29b9ab531e2e7af0fb5db24dc17e51027dd1174 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:03:33 2016 -0600 Made tabbing in editor use spaces commit 23af384c53206a8a40e11e45bf49d7a149c4adcd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:56:46 2016 -0600 Fix for data-url commit cfb8a97591cb6fc0a92e49563b7b764c524db0e9 Merge: 7fc8a89 991ce42 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:42:53 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit 7fc8a89cb495478225b02d613e647f99a1489634 Merge: fd3d86c c03d040 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:40:00 2016 -0600 Merge branch 'feature-create-and-edit-repo-file' of github.com:richmahn/gogs into feature-create-and-edit-repo-file commit fd3d86ca6bbc02cfda566a504ffd6b03db4f75ef Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:39:44 2016 -0600 Code cleanup commit c03d0401c1049eeeccc32ab1f9c3303c130be5ee Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 29 15:38:23 2016 -0600 Code cleanup commit 98e1206ccf9f9a4503c020e3a7830cf9f861dfae Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:36:01 2016 -0600 Code cleanup and fixes commit c2895dc742f25f8412879c9fa15e18f27f42f194 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:24:04 2016 -0600 Fixes per Unknwon's requests commit 6aa7e46b21ad4c96e562daa2eac26a8fb408f8ef Merge: 889e9fa ad7ea88 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 17:13:43 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go modules/setting/setting.go commit 889e9faf1bd8559a4979c8f46005d488c1a234d4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:09:18 2016 -0600 Fix in gogs.js commit 47603edf223f147b114be65f3bd27bc1e88827a5 Merge: bb57912 cf85e9e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:07:36 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit bb5791255867a71c11a77b639db050ad09c597a4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:02:18 2016 -0600 Update for using CodeMirror mode addon commit d10d128c51039be19e2af9c66c63db66a9f2ec6d Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 16:12:57 2016 -0600 Update for Edit commit 34a34982025144e3225e389f7849eb6273c1d576 Merge: fa1b752 1c7dcdd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 11:52:02 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go commit fa1b752be29cd455c5184ddac2ffe80b3489763e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 15 18:35:42 2016 -0600 Feature for editing, creating, uploading and deleting files
8 years ago
Squashed commit of the following: commit 0afcb843d7ffd596991c4885cab768273a6eb42c Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 17:13:29 2016 -0600 Removed Upload stats as the upload table is just a temporary table commit 7ecd73ff5535612d79d471409173ee7f1fcfa157 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:42:41 2016 -0600 Fix for CodeMirror mode commit c29b9ab531e2e7af0fb5db24dc17e51027dd1174 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:03:33 2016 -0600 Made tabbing in editor use spaces commit 23af384c53206a8a40e11e45bf49d7a149c4adcd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:56:46 2016 -0600 Fix for data-url commit cfb8a97591cb6fc0a92e49563b7b764c524db0e9 Merge: 7fc8a89 991ce42 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:42:53 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit 7fc8a89cb495478225b02d613e647f99a1489634 Merge: fd3d86c c03d040 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:40:00 2016 -0600 Merge branch 'feature-create-and-edit-repo-file' of github.com:richmahn/gogs into feature-create-and-edit-repo-file commit fd3d86ca6bbc02cfda566a504ffd6b03db4f75ef Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:39:44 2016 -0600 Code cleanup commit c03d0401c1049eeeccc32ab1f9c3303c130be5ee Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 29 15:38:23 2016 -0600 Code cleanup commit 98e1206ccf9f9a4503c020e3a7830cf9f861dfae Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:36:01 2016 -0600 Code cleanup and fixes commit c2895dc742f25f8412879c9fa15e18f27f42f194 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:24:04 2016 -0600 Fixes per Unknwon's requests commit 6aa7e46b21ad4c96e562daa2eac26a8fb408f8ef Merge: 889e9fa ad7ea88 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 17:13:43 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go modules/setting/setting.go commit 889e9faf1bd8559a4979c8f46005d488c1a234d4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:09:18 2016 -0600 Fix in gogs.js commit 47603edf223f147b114be65f3bd27bc1e88827a5 Merge: bb57912 cf85e9e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:07:36 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit bb5791255867a71c11a77b639db050ad09c597a4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:02:18 2016 -0600 Update for using CodeMirror mode addon commit d10d128c51039be19e2af9c66c63db66a9f2ec6d Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 16:12:57 2016 -0600 Update for Edit commit 34a34982025144e3225e389f7849eb6273c1d576 Merge: fa1b752 1c7dcdd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 11:52:02 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go commit fa1b752be29cd455c5184ddac2ffe80b3489763e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 15 18:35:42 2016 -0600 Feature for editing, creating, uploading and deleting files
8 years ago
Sign merges, CRUD, Wiki and Repository initialisation with gpg key (#7631) This PR fixes #7598 by providing a configurable way of signing commits across the Gitea instance. Per repository configurability and import/generation of trusted secure keys is not provided by this PR - from a security PoV that's probably impossible to do properly. Similarly web-signing, that is asking the user to sign something, is not implemented - this could be done at a later stage however. ## Features - [x] If commit.gpgsign is set in .gitconfig sign commits and files created through repofiles. (merges should already have been signed.) - [x] Verify commits signed with the default gpg as valid - [x] Signer, Committer and Author can all be different - [x] Allow signer to be arbitrarily different - We still require the key to have an activated email on Gitea. A more complete implementation would be to use a keyserver and mark external-or-unactivated with an "unknown" trust level icon. - [x] Add a signing-key.gpg endpoint to get the default gpg pub key if available - Rather than add a fake web-flow user I've added this as an endpoint on /api/v1/signing-key.gpg - [x] Try to match the default key with a user on gitea - this is done at verification time - [x] Make things configurable? - app.ini configuration done - [x] when checking commits are signed need to check if they're actually verifiable too - [x] Add documentation I have decided that adjusting the docker to create a default gpg key is not the correct thing to do and therefore have not implemented this.
5 years ago
Sign merges, CRUD, Wiki and Repository initialisation with gpg key (#7631) This PR fixes #7598 by providing a configurable way of signing commits across the Gitea instance. Per repository configurability and import/generation of trusted secure keys is not provided by this PR - from a security PoV that's probably impossible to do properly. Similarly web-signing, that is asking the user to sign something, is not implemented - this could be done at a later stage however. ## Features - [x] If commit.gpgsign is set in .gitconfig sign commits and files created through repofiles. (merges should already have been signed.) - [x] Verify commits signed with the default gpg as valid - [x] Signer, Committer and Author can all be different - [x] Allow signer to be arbitrarily different - We still require the key to have an activated email on Gitea. A more complete implementation would be to use a keyserver and mark external-or-unactivated with an "unknown" trust level icon. - [x] Add a signing-key.gpg endpoint to get the default gpg pub key if available - Rather than add a fake web-flow user I've added this as an endpoint on /api/v1/signing-key.gpg - [x] Try to match the default key with a user on gitea - this is done at verification time - [x] Make things configurable? - app.ini configuration done - [x] when checking commits are signed need to check if they're actually verifiable too - [x] Add documentation I have decided that adjusting the docker to create a default gpg key is not the correct thing to do and therefore have not implemented this.
5 years ago
Pull request review/approval and comment on code (#3748) * Initial ui components for pull request review * Add Review Add IssueComment types Signed-off-by: Jonas Franz <info@jonasfranz.software> (cherry picked from commit 2b4daab) Signed-off-by: Jonas Franz <info@jonasfranz.software> * Replace ReviewComment with Content Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add load functions Add ReviewID to findComments Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add create review comment implementation Add migration for review Other small changes Signed-off-by: Jonas Franz <info@jonasfranz.software> * Simplified create and find functions for review Signed-off-by: Jonas Franz <info@jonasfranz.software> * Moved "Pending" to first position Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add GetCurrentReview to simplify fetching current review Signed-off-by: Jonas Franz <info@jonasfranz.software> * Preview for listing comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * Move new comment form to its own file Signed-off-by: Jonas Franz <info@jonasfranz.software> * Implement Review form Show Review comments on comment stream Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add support for single comments Showing buttons in context Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add pending tag to pending review comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add unit tests for Review Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fetch all review ids at once Add unit tests Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Improved comment rendering in "Files" view by adding Comments to DiffLine Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add support for invalidating comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * Switched back to code.gitea.io/git Signed-off-by: Jonas Franz <info@jonasfranz.software> * Moved review migration from v64 to v65 Signed-off-by: Jonas Franz <info@jonasfranz.software> * Rebuild css Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Improve translations Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix unit tests by updating fixtures and updating outdated test Signed-off-by: Jonas Franz <info@jonasfranz.software> * Comments will be shown at the right place now Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add support for deleting CodeComments Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix problems caused by files in subdirectories Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add support for showing code comments of reviews in conversation Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add support for "Show/Hide outdated" Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update code.gitea.io/git Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add support for new webhooks Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update comparison Signed-off-by: Jonas Franz <info@jonasfranz.software> * Resolve conflicts Signed-off-by: Jonas Franz <info@jonasfranz.software> * Minor UI improvements * update code.gitea.io/git * Fix ui bug reported by @lunny causing wrong position of add button Add functionality to "Cancel" button Add scale effects to add button Hide "Cancel" button for existing comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * Prepare solving conflicts Signed-off-by: Jonas Franz <info@jonasfranz.software> * Show add button only if no comments already exist for the line Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add missing vendor files Signed-off-by: Jonas Franz <info@jonasfranz.software> * Check if reviewer is nil Signed-off-by: Jonas Franz <info@jonasfranz.software> * Show forms only to users who are logged in Signed-off-by: Jonas Franz <info@jonasfranz.software> * Revert "Show forms only to users who are logged in" This reverts commit c083682 Signed-off-by: Jonas Franz <info@jonasfranz.software> * Save patch in comment Render patch for code comments Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add link to comment in code Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add reply form to comment list Show forms only to signed in users Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add 'Reply' as translatable Add CODE_COMMENT_LINES setting Signed-off-by: Jonas Franz <info@jonasfranz.software> * gofmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix problems introduced by checking for singed in user Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add v70 Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update generated stylesheet Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix preview Beginn with new review comment patch system Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add new algo to generate diff for line range Remove old algo used for cutting big diffs (it was very buggy) * Add documentation and example for CutDiffAroundLine * Fix example of CutDiffAroundLine * Fix some comment UI rendering bugs * Add code comment edit mode * Send notifications / actions to users until review gets published Fix diff generation bug Fix wrong hashtag * Fix vet errors * Send notifications also for single comments * Fix some notification bugs, fix link * Fix: add comment icon is only shown on code lines * Add lint comment * Add unit tests for git diff * Add more error messages * Regenerated css Signed-off-by: Jonas Franz <info@jonasfranz.software> * fmt Signed-off-by: Jonas Franz <info@jonasfranz.software> * Regenerated CSS with latest less version Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix test by updating comment type to new ID Signed-off-by: Jonas Franz <info@jonasfranz.software> * Introducing CodeComments as type for map[string]map[int64][]*Comment Other minor code improvements Signed-off-by: Jonas Franz <info@jonasfranz.software> * Fix data-tab issues Signed-off-by: Jonas Franz <info@jonasfranz.software> * Remove unnecessary change Signed-off-by: Jonas Franz <info@jonasfranz.software> * refactored checkForInvalidation Signed-off-by: Jonas Franz <info@jonasfranz.software> * Append comments instead of setting Signed-off-by: Jonas Franz <info@jonasfranz.software> * Use HeadRepo instead of BaseRepo Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update migration Signed-off-by: Jonas Franz <info@jonasfranz.de> * Regenerated CSS Signed-off-by: Jonas Franz <info@jonasfranz.software> * Add copyright Signed-off-by: Jonas Franz <info@jonasfranz.software> * Update index.css Signed-off-by: Jonas Franz <info@jonasfranz.software>
6 years ago
Squashed commit of the following: commit 0afcb843d7ffd596991c4885cab768273a6eb42c Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 17:13:29 2016 -0600 Removed Upload stats as the upload table is just a temporary table commit 7ecd73ff5535612d79d471409173ee7f1fcfa157 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:42:41 2016 -0600 Fix for CodeMirror mode commit c29b9ab531e2e7af0fb5db24dc17e51027dd1174 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:03:33 2016 -0600 Made tabbing in editor use spaces commit 23af384c53206a8a40e11e45bf49d7a149c4adcd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:56:46 2016 -0600 Fix for data-url commit cfb8a97591cb6fc0a92e49563b7b764c524db0e9 Merge: 7fc8a89 991ce42 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:42:53 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit 7fc8a89cb495478225b02d613e647f99a1489634 Merge: fd3d86c c03d040 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:40:00 2016 -0600 Merge branch 'feature-create-and-edit-repo-file' of github.com:richmahn/gogs into feature-create-and-edit-repo-file commit fd3d86ca6bbc02cfda566a504ffd6b03db4f75ef Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:39:44 2016 -0600 Code cleanup commit c03d0401c1049eeeccc32ab1f9c3303c130be5ee Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 29 15:38:23 2016 -0600 Code cleanup commit 98e1206ccf9f9a4503c020e3a7830cf9f861dfae Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:36:01 2016 -0600 Code cleanup and fixes commit c2895dc742f25f8412879c9fa15e18f27f42f194 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:24:04 2016 -0600 Fixes per Unknwon's requests commit 6aa7e46b21ad4c96e562daa2eac26a8fb408f8ef Merge: 889e9fa ad7ea88 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 17:13:43 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go modules/setting/setting.go commit 889e9faf1bd8559a4979c8f46005d488c1a234d4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:09:18 2016 -0600 Fix in gogs.js commit 47603edf223f147b114be65f3bd27bc1e88827a5 Merge: bb57912 cf85e9e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:07:36 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit bb5791255867a71c11a77b639db050ad09c597a4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:02:18 2016 -0600 Update for using CodeMirror mode addon commit d10d128c51039be19e2af9c66c63db66a9f2ec6d Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 16:12:57 2016 -0600 Update for Edit commit 34a34982025144e3225e389f7849eb6273c1d576 Merge: fa1b752 1c7dcdd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 11:52:02 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go commit fa1b752be29cd455c5184ddac2ffe80b3489763e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 15 18:35:42 2016 -0600 Feature for editing, creating, uploading and deleting files
8 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
Better logging (#6038) (#6095) * Panic don't fatal on create new logger Fixes #5854 Signed-off-by: Andrew Thornton <art27@cantab.net> * partial broken * Update the logging infrastrcture Signed-off-by: Andrew Thornton <art27@cantab.net> * Reset the skip levels for Fatal and Error Signed-off-by: Andrew Thornton <art27@cantab.net> * broken ncsa * More log.Error fixes Signed-off-by: Andrew Thornton <art27@cantab.net> * Remove nal * set log-levels to lowercase * Make console_test test all levels * switch to lowercased levels * OK now working * Fix vetting issues * Fix lint * Fix tests * change default logging to match current gitea * Improve log testing Signed-off-by: Andrew Thornton <art27@cantab.net> * reset error skip levels to 0 * Update documentation and access logger configuration * Redirect the router log back to gitea if redirect macaron log but also allow setting the log level - i.e. TRACE * Fix broken level caching * Refactor the router log * Add Router logger * Add colorizing options * Adjust router colors * Only create logger if they will be used * update app.ini.sample * rename Attribute ColorAttribute * Change from white to green for function * Set fatal/error levels * Restore initial trace logger * Fix Trace arguments in modules/auth/auth.go * Properly handle XORMLogger * Improve admin/config page * fix fmt * Add auto-compression of old logs * Update error log levels * Remove the unnecessary skip argument from Error, Fatal and Critical * Add stacktrace support * Fix tests * Remove x/sync from vendors? * Add stderr option to console logger * Use filepath.ToSlash to protect against Windows in tests * Remove prefixed underscores from names in colors.go * Remove not implemented database logger This was removed from Gogs on 4 Mar 2016 but left in the configuration since then. * Ensure that log paths are relative to ROOT_PATH * use path.Join * rename jsonConfig to logConfig * Rename "config" to "jsonConfig" to make it clearer * Requested changes * Requested changes: XormLogger * Try to color the windows terminal If successful default to colorizing the console logs * fixup * Colorize initially too * update vendor * Colorize logs on default and remove if this is not a colorizing logger * Fix documentation * fix test * Use go-isatty to detect if on windows we are on msys or cygwin * Fix spelling mistake * Add missing vendors * More changes * Rationalise the ANSI writer protection * Adjust colors on advice from @0x5c * Make Flags a comma separated list * Move to use the windows constant for ENABLE_VIRTUAL_TERMINAL_PROCESSING * Ensure matching is done on the non-colored message - to simpify EXPRESSION
5 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
Allow cross-repository dependencies on issues (#7901) * in progress changes for #7405, added ability to add cross-repo dependencies * removed unused repolink var * fixed query that was breaking ci tests; fixed check in issue dependency add so that the id of the issue and dependency is checked rather than the indexes * reverted removal of string in local files becasue these are done via crowdin, not updated manually * removed 'Select("issue.*")' from getBlockedByDependencies and getBlockingDependencies based on comments in PR review * changed getBlockedByDependencies and getBlockingDependencies to use a more xorm-like query, also updated the sidebar as a result * simplified the getBlockingDependencies and getBlockedByDependencies methods; changed the sidebar to show the dependencies in a different format where you can see the name of the repository * made some changes to the issue view in the dependencies (issue name on top, repo full name on separate line). Change view of issue in the dependency search results (also showing the full repo name on separate line) * replace call to FindUserAccessibleRepoIDs with SearchRepositoryByName. The former was hardcoded to use isPrivate = false on the repo search, but this code needed it to be true. The SearchRepositoryByName method is used more in the code including on the user's dashboard * some more tweaks to the layout of the issues when showing dependencies and in the search box when you add new dependencies * added Name to the RepositoryMeta struct * updated swagger doc * fixed total count for link header on SearchIssues * fixed indentation * fixed aligment of remove icon on dependencies in issue sidebar * removed unnecessary nil check (unnecessary because issue.loadRepo is called prior to this block) * reverting .css change, somehow missed or forgot that less is used * updated less file and generated css; updated sidebar template with styles to line up delete and issue index * added ordering to the blocked by/depends on queries * fixed sorting in issue dependency search and the depends on/blocks views to show issues from the current repo first, then by created date descending; added a "all cross repository dependencies" setting to allow this feature to be turned off, if turned off, the issue dependency search will work the way it did before (restricted to the current repository) * re-applied my swagger changes after merge * fixed split string condition in issue search * changed ALLOW_CROSS_REPOSITORY_DEPENDENCIES description to sound more global than just the issue dependency search; returning 400 in the cross repo issue search api method if not enabled; fixed bug where the issue count did not respect the state parameter * when adding a dependency to an issue, added a check to make sure the issue and dependency are in the same repo if cross repo dependencies is not enabled * updated sortIssuesSession call in PullRequests, another commit moved this method from pull.go to pull_list.go so I had to re-apply my change here * fixed incorrect setting of user id parameter in search repos call
5 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
7 years ago
Feature: Timetracking (#2211) * Added comment's hashtag to url for mail notifications. * Added explanation to return statement + documentation. * Replacing in-line link generation with HTMLURL. (+gofmt) * Replaced action-based model with nil-based model. (+gofmt) * Replaced mailIssueActionToParticipants with mailIssueCommentToParticipants. * Updating comment for mailIssueCommentToParticipants * Added link to comment in "Dashboard" * Deleting feed entry if a comment is going to be deleted * Added migration * Added improved migration to add a CommentID column to action. * Added improved links to comments in feed entries. * Fixes #1956 by filtering for deleted comments that are referenced in actions. * Introducing "IsDeleted" column to action. * Adding design draft (not functional) * Adding database models for stopwatches and trackedtimes * See go-gitea/gitea#967 * Adding design draft (not functional) * Adding translations and improving design * Implementing stopwatch (for timetracking) * Make UI functional * Add hints in timeline for time tracking events * Implementing timetracking feature * Adding "Add time manual" option * Improved stopwatch * Created report of total spent time by user * Only showing total time spent if theire is something to show. * Adding license headers. * Improved error handling for "Add Time Manual" * Adding @sapks 's changes, refactoring * Adding API for feature tracking * Adding unit test * Adding DISABLE/ENABLE option to Repository settings page * Improving translations * Applying @sapk 's changes * Removing repo_unit and using IssuesSetting for disabling/enabling timetracker * Adding DEFAULT_ENABLE_TIMETRACKER to config, installation and admin menu * Improving documentation * Fixing vendor/ folder * Changing timtracking routes by adding subgroups /times and /times/stopwatch (Proposed by @lafriks ) * Restricting write access to timetracking based on the repo settings (Proposed by @lafriks ) * Fixed minor permissions bug. * Adding CanUseTimetracker and IsTimetrackerEnabled in ctx.Repo * Allow assignees and authors to track there time too. * Fixed some build-time-errors + logical errors. * Removing unused Get...ByID functions * Moving IsTimetrackerEnabled from context.Repository to models.Repository * Adding a seperate file for issue related repo functions * Adding license headers * Fixed GetUserByParams return 404 * Moving /users/:username/times to /repos/:username/:reponame/times/:username for security reasons * Adding /repos/:username/times to get all tracked times of the repo * Updating sdk-dependency * Updating swagger.v1.json * Adding warning if user has already a running stopwatch (auto-timetracker) * Replacing GetTrackedTimesBy... with GetTrackedTimes(options FindTrackedTimesOptions) * Changing code.gitea.io/sdk back to code.gitea.io/sdk * Correcting spelling mistake * Updating vendor.json * Changing GET stopwatch/toggle to POST stopwatch/toggle * Changing GET stopwatch/cancel to POST stopwatch/cancel * Added migration for stopwatches/timetracking * Fixed some access bugs for read-only users * Added default allow only contributors to track time value to config * Fixed migration by chaging x.Iterate to x.Find * Resorted imports * Moved Add Time Manually form to repo_form.go * Removed "Seconds" field from Add Time Manually * Resorted imports * Improved permission checking * Fixed some bugs * Added integration test * gofmt * Adding integration test by @lafriks * Added created_unix to comment fixtures * Using last event instead of a fixed event * Adding another integration test by @lafriks * Fixing bug Timetracker enabled causing error 500 at sidebar.tpl * Fixed a refactoring bug that resulted in hiding "HasUserStopwatch" warning. * Returning TrackedTime instead of AddTimeOption at AddTime. * Updating SDK from go-gitea/go-sdk#69 * Resetting Go-SDK back to default repository * Fixing test-vendor by changing ini back to original repository * Adding "tags" to swagger spec * govendor sync * Removed duplicate * Formatting templates * Adding IsTimetrackingEnabled checks to API * Improving translations / english texts * Improving documentation * Updating swagger spec * Fixing integration test caused be translation-changes * Removed encoding issues in local_en-US.ini. * "Added" copyright line * Moved unit.IssuesConfig().EnableTimetracker into a != nil check * Removed some other encoding issues in local_en-US.ini * Improved javascript by checking if data-context exists * Replaced manual comment creation with CreateComment * Removed unnecessary code * Improved error checking * Small cosmetic changes * Replaced int>string>duration parsing with int>duration parsing * Fixed encoding issues * Removed unused imports Signed-off-by: Jonas Franz <info@jonasfranz.software>
7 years ago
Better logging (#6038) (#6095) * Panic don't fatal on create new logger Fixes #5854 Signed-off-by: Andrew Thornton <art27@cantab.net> * partial broken * Update the logging infrastrcture Signed-off-by: Andrew Thornton <art27@cantab.net> * Reset the skip levels for Fatal and Error Signed-off-by: Andrew Thornton <art27@cantab.net> * broken ncsa * More log.Error fixes Signed-off-by: Andrew Thornton <art27@cantab.net> * Remove nal * set log-levels to lowercase * Make console_test test all levels * switch to lowercased levels * OK now working * Fix vetting issues * Fix lint * Fix tests * change default logging to match current gitea * Improve log testing Signed-off-by: Andrew Thornton <art27@cantab.net> * reset error skip levels to 0 * Update documentation and access logger configuration * Redirect the router log back to gitea if redirect macaron log but also allow setting the log level - i.e. TRACE * Fix broken level caching * Refactor the router log * Add Router logger * Add colorizing options * Adjust router colors * Only create logger if they will be used * update app.ini.sample * rename Attribute ColorAttribute * Change from white to green for function * Set fatal/error levels * Restore initial trace logger * Fix Trace arguments in modules/auth/auth.go * Properly handle XORMLogger * Improve admin/config page * fix fmt * Add auto-compression of old logs * Update error log levels * Remove the unnecessary skip argument from Error, Fatal and Critical * Add stacktrace support * Fix tests * Remove x/sync from vendors? * Add stderr option to console logger * Use filepath.ToSlash to protect against Windows in tests * Remove prefixed underscores from names in colors.go * Remove not implemented database logger This was removed from Gogs on 4 Mar 2016 but left in the configuration since then. * Ensure that log paths are relative to ROOT_PATH * use path.Join * rename jsonConfig to logConfig * Rename "config" to "jsonConfig" to make it clearer * Requested changes * Requested changes: XormLogger * Try to color the windows terminal If successful default to colorizing the console logs * fixup * Colorize initially too * update vendor * Colorize logs on default and remove if this is not a colorizing logger * Fix documentation * fix test * Use go-isatty to detect if on windows we are on msys or cygwin * Fix spelling mistake * Add missing vendors * More changes * Rationalise the ANSI writer protection * Adjust colors on advice from @0x5c * Make Flags a comma separated list * Move to use the windows constant for ENABLE_VIRTUAL_TERMINAL_PROCESSING * Ensure matching is done on the non-colored message - to simpify EXPRESSION
5 years ago
10 years ago
10 years ago
10 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
Repository avatars (#6986) * Repository avatars - first variant of code from old work for gogs - add migration 87 - add new option in app.ini - add en-US locale string - add new class in repository.less * Add changed index.css, remove unused template name * Update en-us doc about configuration options * Add comments to new functions, add new option to docker app.ini * Add comment for lint * Remove variable, not needed * Fix formatting * Update swagger api template * Check if avatar exists * Fix avatar link/path checks * Typo * TEXT column can't have a default value * Fixes: - remove old avatar file on upload - use ID in name of avatar file - users may upload same files - add simple tests * Fix fmt check * Generate PNG instead of "static" GIF * More informative comment * Fix error message * Update avatar upload checks: - add file size check - add new option - update config docs - add new string to en-us locale * Fixes: - use FileHEader field for check file size - add new test - upload big image * Fix formatting * Update comments * Update log message * Removed wrong style - not needed * Use Sync2 to migrate * Update repos list view - bigger avatar - fix html blocks alignment * A little adjust avatar size * Use small icons for explore/repo list * Use new cool avatar preparation func by @lafriks * Missing changes for new function * Remove unused import, move imports * Missed new option definition in app.ini Add file size check in user/profile avatar upload * Use smaller field length for Avatar * Use session to update repo DB data, update DeleteAvatar - use session too * Fix err variable definition * As suggested @lafriks - return as soon as possible, code readability
5 years ago
Repository avatars (#6986) * Repository avatars - first variant of code from old work for gogs - add migration 87 - add new option in app.ini - add en-US locale string - add new class in repository.less * Add changed index.css, remove unused template name * Update en-us doc about configuration options * Add comments to new functions, add new option to docker app.ini * Add comment for lint * Remove variable, not needed * Fix formatting * Update swagger api template * Check if avatar exists * Fix avatar link/path checks * Typo * TEXT column can't have a default value * Fixes: - remove old avatar file on upload - use ID in name of avatar file - users may upload same files - add simple tests * Fix fmt check * Generate PNG instead of "static" GIF * More informative comment * Fix error message * Update avatar upload checks: - add file size check - add new option - update config docs - add new string to en-us locale * Fixes: - use FileHEader field for check file size - add new test - upload big image * Fix formatting * Update comments * Update log message * Removed wrong style - not needed * Use Sync2 to migrate * Update repos list view - bigger avatar - fix html blocks alignment * A little adjust avatar size * Use small icons for explore/repo list * Use new cool avatar preparation func by @lafriks * Missing changes for new function * Remove unused import, move imports * Missed new option definition in app.ini Add file size check in user/profile avatar upload * Use smaller field length for Avatar * Use session to update repo DB data, update DeleteAvatar - use session too * Fix err variable definition * As suggested @lafriks - return as soon as possible, code readability
5 years ago
Repository avatars (#6986) * Repository avatars - first variant of code from old work for gogs - add migration 87 - add new option in app.ini - add en-US locale string - add new class in repository.less * Add changed index.css, remove unused template name * Update en-us doc about configuration options * Add comments to new functions, add new option to docker app.ini * Add comment for lint * Remove variable, not needed * Fix formatting * Update swagger api template * Check if avatar exists * Fix avatar link/path checks * Typo * TEXT column can't have a default value * Fixes: - remove old avatar file on upload - use ID in name of avatar file - users may upload same files - add simple tests * Fix fmt check * Generate PNG instead of "static" GIF * More informative comment * Fix error message * Update avatar upload checks: - add file size check - add new option - update config docs - add new string to en-us locale * Fixes: - use FileHEader field for check file size - add new test - upload big image * Fix formatting * Update comments * Update log message * Removed wrong style - not needed * Use Sync2 to migrate * Update repos list view - bigger avatar - fix html blocks alignment * A little adjust avatar size * Use small icons for explore/repo list * Use new cool avatar preparation func by @lafriks * Missing changes for new function * Remove unused import, move imports * Missed new option definition in app.ini Add file size check in user/profile avatar upload * Use smaller field length for Avatar * Use session to update repo DB data, update DeleteAvatar - use session too * Fix err variable definition * As suggested @lafriks - return as soon as possible, code readability
5 years ago
Add support for federated avatars (#3320) * Add support for federated avatars Fixes #3105 Removes avatar fetching duplication code Adds an "Enable Federated Avatar" checkbox in user settings (defaults to unchecked) Moves avatar settings all in the same form, making local and remote avatars mutually exclusive Renames UploadAvatarForm to AvatarForm as it's not anymore only for uploading * Run gofmt on all modified files * Move Avatar form in its own page * Add go-libravatar dependency to vendor/ dir Hopefully helps with accepting the contribution. See also #3214 * Revert "Add go-libravatar dependency to vendor/ dir" This reverts commit a8cb93ae640bbb90f7d25012fc257bda9fae9b82. * Make federated avatar setting a global configuration Removes the per-user setting * Move avatar handling back to base tool, disable federated avatar in offline mode * Format, handle error * Properly set fallback host * Use unsupported github.com mirror for importing go-libravatar * Remove comment showing life exists outside of github.com ... pity, but contribution would not be accepted otherwise * Use Combo for Get and Post methods over /avatar * FEDERATED_AVATAR -> ENABLE_FEDERATED_AVATAR * Fix persistance of federated avatar lookup checkbox at install time * Federated Avatars -> Enable Federated Avatars * Use len(string) == 0 instead of string == "" * Move import line where it belong See https://github.com/Unknwon/go-code-convention/blob/master/en-US/import_packages.md Pity the import url is still the unofficial one, but oh well... * Save a line (and waste much more expensive time) * Remove redundant parens * Remove an empty line * Remove empty lines * Reorder lines to make diff smaller * Remove another newline Unknwon review got me start a fight against newlines * Move DISABLE_GRAVATAR and ENABLE_FEDERATED_AVATAR after OFFLINE_MODE On re-reading the diff I figured what Unknwon meant here: https://github.com/gogits/gogs/pull/3320/files#r73741106 * Remove newlines that weren't there before my intervention
8 years ago
Add support for federated avatars (#3320) * Add support for federated avatars Fixes #3105 Removes avatar fetching duplication code Adds an "Enable Federated Avatar" checkbox in user settings (defaults to unchecked) Moves avatar settings all in the same form, making local and remote avatars mutually exclusive Renames UploadAvatarForm to AvatarForm as it's not anymore only for uploading * Run gofmt on all modified files * Move Avatar form in its own page * Add go-libravatar dependency to vendor/ dir Hopefully helps with accepting the contribution. See also #3214 * Revert "Add go-libravatar dependency to vendor/ dir" This reverts commit a8cb93ae640bbb90f7d25012fc257bda9fae9b82. * Make federated avatar setting a global configuration Removes the per-user setting * Move avatar handling back to base tool, disable federated avatar in offline mode * Format, handle error * Properly set fallback host * Use unsupported github.com mirror for importing go-libravatar * Remove comment showing life exists outside of github.com ... pity, but contribution would not be accepted otherwise * Use Combo for Get and Post methods over /avatar * FEDERATED_AVATAR -> ENABLE_FEDERATED_AVATAR * Fix persistance of federated avatar lookup checkbox at install time * Federated Avatars -> Enable Federated Avatars * Use len(string) == 0 instead of string == "" * Move import line where it belong See https://github.com/Unknwon/go-code-convention/blob/master/en-US/import_packages.md Pity the import url is still the unofficial one, but oh well... * Save a line (and waste much more expensive time) * Remove redundant parens * Remove an empty line * Remove empty lines * Reorder lines to make diff smaller * Remove another newline Unknwon review got me start a fight against newlines * Move DISABLE_GRAVATAR and ENABLE_FEDERATED_AVATAR after OFFLINE_MODE On re-reading the diff I figured what Unknwon meant here: https://github.com/gogits/gogs/pull/3320/files#r73741106 * Remove newlines that weren't there before my intervention
8 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
Better logging (#6038) (#6095) * Panic don't fatal on create new logger Fixes #5854 Signed-off-by: Andrew Thornton <art27@cantab.net> * partial broken * Update the logging infrastrcture Signed-off-by: Andrew Thornton <art27@cantab.net> * Reset the skip levels for Fatal and Error Signed-off-by: Andrew Thornton <art27@cantab.net> * broken ncsa * More log.Error fixes Signed-off-by: Andrew Thornton <art27@cantab.net> * Remove nal * set log-levels to lowercase * Make console_test test all levels * switch to lowercased levels * OK now working * Fix vetting issues * Fix lint * Fix tests * change default logging to match current gitea * Improve log testing Signed-off-by: Andrew Thornton <art27@cantab.net> * reset error skip levels to 0 * Update documentation and access logger configuration * Redirect the router log back to gitea if redirect macaron log but also allow setting the log level - i.e. TRACE * Fix broken level caching * Refactor the router log * Add Router logger * Add colorizing options * Adjust router colors * Only create logger if they will be used * update app.ini.sample * rename Attribute ColorAttribute * Change from white to green for function * Set fatal/error levels * Restore initial trace logger * Fix Trace arguments in modules/auth/auth.go * Properly handle XORMLogger * Improve admin/config page * fix fmt * Add auto-compression of old logs * Update error log levels * Remove the unnecessary skip argument from Error, Fatal and Critical * Add stacktrace support * Fix tests * Remove x/sync from vendors? * Add stderr option to console logger * Use filepath.ToSlash to protect against Windows in tests * Remove prefixed underscores from names in colors.go * Remove not implemented database logger This was removed from Gogs on 4 Mar 2016 but left in the configuration since then. * Ensure that log paths are relative to ROOT_PATH * use path.Join * rename jsonConfig to logConfig * Rename "config" to "jsonConfig" to make it clearer * Requested changes * Requested changes: XormLogger * Try to color the windows terminal If successful default to colorizing the console logs * fixup * Colorize initially too * update vendor * Colorize logs on default and remove if this is not a colorizing logger * Fix documentation * fix test * Use go-isatty to detect if on windows we are on msys or cygwin * Fix spelling mistake * Add missing vendors * More changes * Rationalise the ANSI writer protection * Adjust colors on advice from @0x5c * Make Flags a comma separated list * Move to use the windows constant for ENABLE_VIRTUAL_TERMINAL_PROCESSING * Ensure matching is done on the non-colored message - to simpify EXPRESSION
5 years ago
10 years ago
10 years ago
Better logging (#6038) (#6095) * Panic don't fatal on create new logger Fixes #5854 Signed-off-by: Andrew Thornton <art27@cantab.net> * partial broken * Update the logging infrastrcture Signed-off-by: Andrew Thornton <art27@cantab.net> * Reset the skip levels for Fatal and Error Signed-off-by: Andrew Thornton <art27@cantab.net> * broken ncsa * More log.Error fixes Signed-off-by: Andrew Thornton <art27@cantab.net> * Remove nal * set log-levels to lowercase * Make console_test test all levels * switch to lowercased levels * OK now working * Fix vetting issues * Fix lint * Fix tests * change default logging to match current gitea * Improve log testing Signed-off-by: Andrew Thornton <art27@cantab.net> * reset error skip levels to 0 * Update documentation and access logger configuration * Redirect the router log back to gitea if redirect macaron log but also allow setting the log level - i.e. TRACE * Fix broken level caching * Refactor the router log * Add Router logger * Add colorizing options * Adjust router colors * Only create logger if they will be used * update app.ini.sample * rename Attribute ColorAttribute * Change from white to green for function * Set fatal/error levels * Restore initial trace logger * Fix Trace arguments in modules/auth/auth.go * Properly handle XORMLogger * Improve admin/config page * fix fmt * Add auto-compression of old logs * Update error log levels * Remove the unnecessary skip argument from Error, Fatal and Critical * Add stacktrace support * Fix tests * Remove x/sync from vendors? * Add stderr option to console logger * Use filepath.ToSlash to protect against Windows in tests * Remove prefixed underscores from names in colors.go * Remove not implemented database logger This was removed from Gogs on 4 Mar 2016 but left in the configuration since then. * Ensure that log paths are relative to ROOT_PATH * use path.Join * rename jsonConfig to logConfig * Rename "config" to "jsonConfig" to make it clearer * Requested changes * Requested changes: XormLogger * Try to color the windows terminal If successful default to colorizing the console logs * fixup * Colorize initially too * update vendor * Colorize logs on default and remove if this is not a colorizing logger * Fix documentation * fix test * Use go-isatty to detect if on windows we are on msys or cygwin * Fix spelling mistake * Add missing vendors * More changes * Rationalise the ANSI writer protection * Adjust colors on advice from @0x5c * Make Flags a comma separated list * Move to use the windows constant for ENABLE_VIRTUAL_TERMINAL_PROCESSING * Ensure matching is done on the non-colored message - to simpify EXPRESSION
5 years ago
10 years ago
Better logging (#6038) (#6095) * Panic don't fatal on create new logger Fixes #5854 Signed-off-by: Andrew Thornton <art27@cantab.net> * partial broken * Update the logging infrastrcture Signed-off-by: Andrew Thornton <art27@cantab.net> * Reset the skip levels for Fatal and Error Signed-off-by: Andrew Thornton <art27@cantab.net> * broken ncsa * More log.Error fixes Signed-off-by: Andrew Thornton <art27@cantab.net> * Remove nal * set log-levels to lowercase * Make console_test test all levels * switch to lowercased levels * OK now working * Fix vetting issues * Fix lint * Fix tests * change default logging to match current gitea * Improve log testing Signed-off-by: Andrew Thornton <art27@cantab.net> * reset error skip levels to 0 * Update documentation and access logger configuration * Redirect the router log back to gitea if redirect macaron log but also allow setting the log level - i.e. TRACE * Fix broken level caching * Refactor the router log * Add Router logger * Add colorizing options * Adjust router colors * Only create logger if they will be used * update app.ini.sample * rename Attribute ColorAttribute * Change from white to green for function * Set fatal/error levels * Restore initial trace logger * Fix Trace arguments in modules/auth/auth.go * Properly handle XORMLogger * Improve admin/config page * fix fmt * Add auto-compression of old logs * Update error log levels * Remove the unnecessary skip argument from Error, Fatal and Critical * Add stacktrace support * Fix tests * Remove x/sync from vendors? * Add stderr option to console logger * Use filepath.ToSlash to protect against Windows in tests * Remove prefixed underscores from names in colors.go * Remove not implemented database logger This was removed from Gogs on 4 Mar 2016 but left in the configuration since then. * Ensure that log paths are relative to ROOT_PATH * use path.Join * rename jsonConfig to logConfig * Rename "config" to "jsonConfig" to make it clearer * Requested changes * Requested changes: XormLogger * Try to color the windows terminal If successful default to colorizing the console logs * fixup * Colorize initially too * update vendor * Colorize logs on default and remove if this is not a colorizing logger * Fix documentation * fix test * Use go-isatty to detect if on windows we are on msys or cygwin * Fix spelling mistake * Add missing vendors * More changes * Rationalise the ANSI writer protection * Adjust colors on advice from @0x5c * Make Flags a comma separated list * Move to use the windows constant for ENABLE_VIRTUAL_TERMINAL_PROCESSING * Ensure matching is done on the non-colored message - to simpify EXPRESSION
5 years ago
10 years ago
10 years ago
10 years ago
10 years ago
Better logging (#6038) (#6095) * Panic don't fatal on create new logger Fixes #5854 Signed-off-by: Andrew Thornton <art27@cantab.net> * partial broken * Update the logging infrastrcture Signed-off-by: Andrew Thornton <art27@cantab.net> * Reset the skip levels for Fatal and Error Signed-off-by: Andrew Thornton <art27@cantab.net> * broken ncsa * More log.Error fixes Signed-off-by: Andrew Thornton <art27@cantab.net> * Remove nal * set log-levels to lowercase * Make console_test test all levels * switch to lowercased levels * OK now working * Fix vetting issues * Fix lint * Fix tests * change default logging to match current gitea * Improve log testing Signed-off-by: Andrew Thornton <art27@cantab.net> * reset error skip levels to 0 * Update documentation and access logger configuration * Redirect the router log back to gitea if redirect macaron log but also allow setting the log level - i.e. TRACE * Fix broken level caching * Refactor the router log * Add Router logger * Add colorizing options * Adjust router colors * Only create logger if they will be used * update app.ini.sample * rename Attribute ColorAttribute * Change from white to green for function * Set fatal/error levels * Restore initial trace logger * Fix Trace arguments in modules/auth/auth.go * Properly handle XORMLogger * Improve admin/config page * fix fmt * Add auto-compression of old logs * Update error log levels * Remove the unnecessary skip argument from Error, Fatal and Critical * Add stacktrace support * Fix tests * Remove x/sync from vendors? * Add stderr option to console logger * Use filepath.ToSlash to protect against Windows in tests * Remove prefixed underscores from names in colors.go * Remove not implemented database logger This was removed from Gogs on 4 Mar 2016 but left in the configuration since then. * Ensure that log paths are relative to ROOT_PATH * use path.Join * rename jsonConfig to logConfig * Rename "config" to "jsonConfig" to make it clearer * Requested changes * Requested changes: XormLogger * Try to color the windows terminal If successful default to colorizing the console logs * fixup * Colorize initially too * update vendor * Colorize logs on default and remove if this is not a colorizing logger * Fix documentation * fix test * Use go-isatty to detect if on windows we are on msys or cygwin * Fix spelling mistake * Add missing vendors * More changes * Rationalise the ANSI writer protection * Adjust colors on advice from @0x5c * Make Flags a comma separated list * Move to use the windows constant for ENABLE_VIRTUAL_TERMINAL_PROCESSING * Ensure matching is done on the non-colored message - to simpify EXPRESSION
5 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
9 years ago
9 years ago
  1. ; This file lists the default values used by Gitea
  2. ; Copy required sections to your own app.ini (default is custom/conf/app.ini)
  3. ; and modify as needed.
  4. ; see https://docs.gitea.io/en-us/config-cheat-sheet/ for additional documentation.
  5. ; App name that shows in every page title
  6. APP_NAME = Gitea: Git with a cup of tea
  7. ; Change it if you run locally
  8. RUN_USER = git
  9. ; Either "dev", "prod" or "test", default is "dev"
  10. RUN_MODE = dev
  11. [repository]
  12. ROOT =
  13. SCRIPT_TYPE = bash
  14. ; Default ANSI charset
  15. ANSI_CHARSET =
  16. ; Force every new repository to be private
  17. FORCE_PRIVATE = false
  18. ; Default privacy setting when creating a new repository, allowed values: last, private, public. Default is last which means the last setting used.
  19. DEFAULT_PRIVATE = last
  20. ; Global limit of repositories per user, applied at creation time. -1 means no limit
  21. MAX_CREATION_LIMIT = -1
  22. ; Mirror sync queue length, increase if mirror syncing starts hanging
  23. MIRROR_QUEUE_LENGTH = 1000
  24. ; Patch test queue length, increase if pull request patch testing starts hanging
  25. PULL_REQUEST_QUEUE_LENGTH = 1000
  26. ; Preferred Licenses to place at the top of the List
  27. ; The name here must match the filename in conf/license or custom/conf/license
  28. PREFERRED_LICENSES = Apache License 2.0,MIT License
  29. ; Disable the ability to interact with repositories using the HTTP protocol
  30. DISABLE_HTTP_GIT = false
  31. ; Value for Access-Control-Allow-Origin header, default is not to present
  32. ; WARNING: This maybe harmful to you website if you do not give it a right value.
  33. ACCESS_CONTROL_ALLOW_ORIGIN =
  34. ; Force ssh:// clone url instead of scp-style uri when default SSH port is used
  35. USE_COMPAT_SSH_URI = false
  36. ; Close issues as long as a commit on any branch marks it as fixed
  37. DEFAULT_CLOSE_ISSUES_VIA_COMMITS_IN_ANY_BRANCH = false
  38. ; Allow users to push local repositories to Gitea and have them automatically created for a user or an org
  39. ENABLE_PUSH_CREATE_USER = false
  40. ENABLE_PUSH_CREATE_ORG = false
  41. [repository.editor]
  42. ; List of file extensions for which lines should be wrapped in the CodeMirror editor
  43. ; Separate extensions with a comma. To line wrap files without an extension, just put a comma
  44. LINE_WRAP_EXTENSIONS = .txt,.md,.markdown,.mdown,.mkd,
  45. ; Valid file modes that have a preview API associated with them, such as api/v1/markdown
  46. ; Separate the values by commas. The preview tab in edit mode won't be displayed if the file extension doesn't match
  47. PREVIEWABLE_FILE_MODES = markdown
  48. [repository.local]
  49. ; Path for local repository copy. Defaults to `tmp/local-repo`
  50. LOCAL_COPY_PATH = tmp/local-repo
  51. ; Path for local wiki copy. Defaults to `tmp/local-wiki`
  52. LOCAL_WIKI_PATH = tmp/local-wiki
  53. [repository.upload]
  54. ; Whether repository file uploads are enabled. Defaults to `true`
  55. ENABLED = true
  56. ; Path for uploads. Defaults to `data/tmp/uploads` (tmp gets deleted on gitea restart)
  57. TEMP_PATH = data/tmp/uploads
  58. ; One or more allowed types, e.g. image/jpeg|image/png. Nothing means any file type
  59. ALLOWED_TYPES =
  60. ; Max size of each file in megabytes. Defaults to 3MB
  61. FILE_MAX_SIZE = 3
  62. ; Max number of files per upload. Defaults to 5
  63. MAX_FILES = 5
  64. [repository.pull-request]
  65. ; List of prefixes used in Pull Request title to mark them as Work In Progress
  66. WORK_IN_PROGRESS_PREFIXES=WIP:,[WIP]
  67. ; List of keywords used in Pull Request comments to automatically close a related issue
  68. CLOSE_KEYWORDS=close,closes,closed,fix,fixes,fixed,resolve,resolves,resolved
  69. ; List of keywords used in Pull Request comments to automatically reopen a related issue
  70. REOPEN_KEYWORDS=reopen,reopens,reopened
  71. [repository.issue]
  72. ; List of reasons why a Pull Request or Issue can be locked
  73. LOCK_REASONS=Too heated,Off-topic,Resolved,Spam
  74. [repository.signing]
  75. ; GPG key to use to sign commits, Defaults to the default - that is the value of git config --get user.signingkey
  76. ; run in the context of the RUN_USER
  77. ; Switch to none to stop signing completely
  78. SIGNING_KEY = default
  79. ; If a SIGNING_KEY ID is provided and is not set to default, use the provided Name and Email address as the signer.
  80. ; These should match a publicized name and email address for the key. (When SIGNING_KEY is default these are set to
  81. ; the results of git config --get user.name and git config --get user.email respectively and can only be overrided
  82. ; by setting the SIGNING_KEY ID to the correct ID.)
  83. SIGNING_NAME =
  84. SIGNING_EMAIL =
  85. ; Determines when gitea should sign the initial commit when creating a repository
  86. ; Either:
  87. ; - never
  88. ; - pubkey: only sign if the user has a pubkey
  89. ; - twofa: only sign if the user has logged in with twofa
  90. ; - always
  91. ; options other than none and always can be combined as comma separated list
  92. INITIAL_COMMIT = always
  93. ; Determines when to sign for CRUD actions
  94. ; - as above
  95. ; - parentsigned: requires that the parent commit is signed.
  96. CRUD_ACTIONS = pubkey, twofa, parentsigned
  97. ; Determines when to sign Wiki commits
  98. ; - as above
  99. WIKI = never
  100. ; Determines when to sign on merges
  101. ; - basesigned: require that the parent of commit on the base repo is signed.
  102. ; - commitssigned: require that all the commits in the head branch are signed.
  103. ; - approved: only sign when merging an approved pr to a protected branch
  104. MERGES = pubkey, twofa, basesigned, commitssigned
  105. [cors]
  106. ; More information about CORS can be found here: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#The_HTTP_response_headers
  107. ; enable cors headers (disabled by default)
  108. ENABLED=false
  109. ; scheme of allowed requests
  110. SCHEME=http
  111. ; list of requesting domains that are allowed
  112. ALLOW_DOMAIN=*
  113. ; allow subdomains of headers listed above to request
  114. ALLOW_SUBDOMAIN=false
  115. ; list of methods allowed to request
  116. METHODS=GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS
  117. ; max time to cache response
  118. MAX_AGE=10m
  119. ; allow request with credentials
  120. ALLOW_CREDENTIALS=false
  121. [ui]
  122. ; Number of repositories that are displayed on one explore page
  123. EXPLORE_PAGING_NUM = 20
  124. ; Number of issues that are displayed on one page
  125. ISSUE_PAGING_NUM = 10
  126. ; Number of maximum commits displayed in one activity feed
  127. FEED_MAX_COMMIT_NUM = 5
  128. ; Number of maximum commits displayed in commit graph.
  129. GRAPH_MAX_COMMIT_NUM = 100
  130. ; Number of line of codes shown for a code comment
  131. CODE_COMMENT_LINES = 4
  132. ; Value of `theme-color` meta tag, used by Android >= 5.0
  133. ; An invalid color like "none" or "disable" will have the default style
  134. ; More info: https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android
  135. THEME_COLOR_META_TAG = `#6cc644`
  136. ; Max size of files to be displayed (default is 8MiB)
  137. MAX_DISPLAY_FILE_SIZE = 8388608
  138. ; Whether the email of the user should be shown in the Explore Users page
  139. SHOW_USER_EMAIL = true
  140. ; Set the default theme for the Gitea install
  141. DEFAULT_THEME = gitea
  142. ; All available themes. Allow users select personalized themes regardless of the value of `DEFAULT_THEME`.
  143. THEMES = gitea,arc-green
  144. ; All available reactions. Allow users react with different emoji's
  145. : For the whole list look at https://gitea.com/gitea/gitea.com/issues/8
  146. REACTIONS = +1, -1, laugh, hooray, confused, heart, rocket, eyes
  147. ; Whether the full name of the users should be shown where possible. If the full name isn't set, the username will be used.
  148. DEFAULT_SHOW_FULL_NAME = false
  149. ; Whether to search within description at repository search on explore page.
  150. SEARCH_REPO_DESCRIPTION = true
  151. ; Whether to enable a Service Worker to cache frontend assets
  152. USE_SERVICE_WORKER = true
  153. [ui.admin]
  154. ; Number of users that are displayed on one page
  155. USER_PAGING_NUM = 50
  156. ; Number of repos that are displayed on one page
  157. REPO_PAGING_NUM = 50
  158. ; Number of notices that are displayed on one page
  159. NOTICE_PAGING_NUM = 25
  160. ; Number of organizations that are displayed on one page
  161. ORG_PAGING_NUM = 50
  162. [ui.user]
  163. ; Number of repos that are displayed on one page
  164. REPO_PAGING_NUM = 15
  165. [ui.meta]
  166. AUTHOR = Gitea - Git with a cup of tea
  167. DESCRIPTION = Gitea (Git with a cup of tea) is a painless self-hosted Git service written in Go
  168. KEYWORDS = go,git,self-hosted,gitea
  169. [markdown]
  170. ; Enable hard line break extension
  171. ENABLE_HARD_LINE_BREAK = false
  172. ; Comma separated list of custom URL-Schemes that are allowed as links when rendering Markdown
  173. ; for example git,magnet,ftp (more at https://en.wikipedia.org/wiki/List_of_URI_schemes)
  174. ; URLs starting with http and https are always displayed, whatever is put in this entry.
  175. CUSTOM_URL_SCHEMES =
  176. ; List of file extensions that should be rendered/edited as Markdown
  177. ; Separate the extensions with a comma. To render files without any extension as markdown, just put a comma
  178. FILE_EXTENSIONS = .md,.markdown,.mdown,.mkd
  179. [server]
  180. ; The protocol the server listens on. One of 'http', 'https', 'unix' or 'fcgi'.
  181. PROTOCOL = http
  182. DOMAIN = localhost
  183. ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
  184. ; when STATIC_URL_PREFIX is empty it will follow APP_URL
  185. STATIC_URL_PREFIX =
  186. ; The address to listen on. Either a IPv4/IPv6 address or the path to a unix socket.
  187. HTTP_ADDR = 0.0.0.0
  188. HTTP_PORT = 3000
  189. ; If REDIRECT_OTHER_PORT is true, and PROTOCOL is set to https an http server
  190. ; will be started on PORT_TO_REDIRECT and it will redirect plain, non-secure http requests to the main
  191. ; ROOT_URL. Defaults are false for REDIRECT_OTHER_PORT and 80 for
  192. ; PORT_TO_REDIRECT.
  193. REDIRECT_OTHER_PORT = false
  194. PORT_TO_REDIRECT = 80
  195. ; Permission for unix socket
  196. UNIX_SOCKET_PERMISSION = 666
  197. ; Local (DMZ) URL for Gitea workers (such as SSH update) accessing web service.
  198. ; In most cases you do not need to change the default value.
  199. ; Alter it only if your SSH server node is not the same as HTTP node.
  200. ; Do not set this variable if PROTOCOL is set to 'unix'.
  201. LOCAL_ROOT_URL = %(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/
  202. ; Disable SSH feature when not available
  203. DISABLE_SSH = false
  204. ; Whether to use the builtin SSH server or not.
  205. START_SSH_SERVER = false
  206. ; Username to use for the builtin SSH server. If blank, then it is the value of RUN_USER.
  207. BUILTIN_SSH_SERVER_USER =
  208. ; Domain name to be exposed in clone URL
  209. SSH_DOMAIN = %(DOMAIN)s
  210. ; The network interface the builtin SSH server should listen on
  211. SSH_LISTEN_HOST =
  212. ; Port number to be exposed in clone URL
  213. SSH_PORT = 22
  214. ; The port number the builtin SSH server should listen on
  215. SSH_LISTEN_PORT = %(SSH_PORT)s
  216. ; Root path of SSH directory, default is '~/.ssh', but you have to use '/home/git/.ssh'.
  217. SSH_ROOT_PATH =
  218. ; Gitea will create a authorized_keys file by default when it is not using the internal ssh server
  219. ; If you intend to use the AuthorizedKeysCommand functionality then you should turn this off.
  220. SSH_CREATE_AUTHORIZED_KEYS_FILE = true
  221. ; For the built-in SSH server, choose the ciphers to support for SSH connections,
  222. ; for system SSH this setting has no effect
  223. SSH_SERVER_CIPHERS = aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, arcfour256, arcfour128
  224. ; For the built-in SSH server, choose the key exchange algorithms to support for SSH connections,
  225. ; for system SSH this setting has no effect
  226. SSH_SERVER_KEY_EXCHANGES = diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, curve25519-sha256@libssh.org
  227. ; For the built-in SSH server, choose the MACs to support for SSH connections,
  228. ; for system SSH this setting has no effect
  229. SSH_SERVER_MACS = hmac-sha2-256-etm@openssh.com, hmac-sha2-256, hmac-sha1, hmac-sha1-96
  230. ; Directory to create temporary files in when testing public keys using ssh-keygen,
  231. ; default is the system temporary directory.
  232. SSH_KEY_TEST_PATH =
  233. ; Path to ssh-keygen, default is 'ssh-keygen' which means the shell is responsible for finding out which one to call.
  234. SSH_KEYGEN_PATH = ssh-keygen
  235. ; Enable SSH Authorized Key Backup when rewriting all keys, default is true
  236. SSH_BACKUP_AUTHORIZED_KEYS = true
  237. ; Enable exposure of SSH clone URL to anonymous visitors, default is false
  238. SSH_EXPOSE_ANONYMOUS = false
  239. ; Indicate whether to check minimum key size with corresponding type
  240. MINIMUM_KEY_SIZE_CHECK = false
  241. ; Disable CDN even in "prod" mode
  242. OFFLINE_MODE = false
  243. DISABLE_ROUTER_LOG = false
  244. ; Generate steps:
  245. ; $ ./gitea cert -ca=true -duration=8760h0m0s -host=myhost.example.com
  246. ;
  247. ; Or from a .pfx file exported from the Windows certificate store (do
  248. ; not forget to export the private key):
  249. ; $ openssl pkcs12 -in cert.pfx -out cert.pem -nokeys
  250. ; $ openssl pkcs12 -in cert.pfx -out key.pem -nocerts -nodes
  251. CERT_FILE = custom/https/cert.pem
  252. KEY_FILE = custom/https/key.pem
  253. ; Root directory containing templates and static files.
  254. ; default is the path where Gitea is executed
  255. STATIC_ROOT_PATH =
  256. ; Default path for App data
  257. APP_DATA_PATH = data
  258. ; Application level GZIP support
  259. ENABLE_GZIP = false
  260. ; Application profiling (memory and cpu)
  261. ; For "web" command it listens on localhost:6060
  262. ; For "serve" command it dumps to disk at PPROF_DATA_PATH as (cpuprofile|memprofile)_<username>_<temporary id>
  263. ENABLE_PPROF = false
  264. ; PPROF_DATA_PATH, use an absolute path when you start gitea as service
  265. PPROF_DATA_PATH = data/tmp/pprof
  266. ; Landing page, can be "home", "explore", or "organizations"
  267. LANDING_PAGE = home
  268. ; Enables git-lfs support. true or false, default is false.
  269. LFS_START_SERVER = false
  270. ; Where your lfs files reside, default is data/lfs.
  271. LFS_CONTENT_PATH = data/lfs
  272. ; LFS authentication secret, change this yourself
  273. LFS_JWT_SECRET =
  274. ; LFS authentication validity period (in time.Duration), pushes taking longer than this may fail.
  275. LFS_HTTP_AUTH_EXPIRY = 20m
  276. ; Allow graceful restarts using SIGHUP to fork
  277. ALLOW_GRACEFUL_RESTARTS = true
  278. ; After a restart the parent will finish ongoing requests before
  279. ; shutting down. Force shutdown if this process takes longer than this delay.
  280. ; set to a negative value to disable
  281. GRACEFUL_HAMMER_TIME = 60s
  282. ; Allows the setting of a startup timeout and waithint for Windows as SVC service
  283. ; 0 disables this.
  284. STARTUP_TIMEOUT = 0
  285. ; Static resources, includes resources on custom/, public/ and all uploaded avatars web browser cache time, default is 6h
  286. STATIC_CACHE_TIME = 6h
  287. ; Define allowed algorithms and their minimum key length (use -1 to disable a type)
  288. [ssh.minimum_key_sizes]
  289. ED25519 = 256
  290. ECDSA = 256
  291. RSA = 2048
  292. DSA = 1024
  293. [database]
  294. ; Either "mysql", "postgres", "mssql" or "sqlite3", it's your choice
  295. DB_TYPE = mysql
  296. HOST = 127.0.0.1:3306
  297. NAME = gitea
  298. USER = root
  299. ; Use PASSWD = `your password` for quoting if you use special characters in the password.
  300. PASSWD =
  301. ; For Postgres, either "disable" (default), "require", or "verify-full"
  302. ; For MySQL, either "false" (default), "true", or "skip-verify"
  303. SSL_MODE = disable
  304. ; For MySQL only, either "utf8" or "utf8mb4", default is "utf8".
  305. ; NOTICE: for "utf8mb4" you must use MySQL InnoDB > 5.6. Gitea is unable to check this.
  306. CHARSET = utf8
  307. ; For "sqlite3" and "tidb", use an absolute path when you start gitea as service
  308. PATH = data/gitea.db
  309. ; For "sqlite3" only. Query timeout
  310. SQLITE_TIMEOUT = 500
  311. ; For iterate buffer, default is 50
  312. ITERATE_BUFFER_SIZE = 50
  313. ; Show the database generated SQL
  314. LOG_SQL = true
  315. ; Maximum number of DB Connect retries
  316. DB_RETRIES = 10
  317. ; Backoff time per DB retry (time.Duration)
  318. DB_RETRY_BACKOFF = 3s
  319. ; Max idle database connections on connnection pool, default is 2
  320. MAX_IDLE_CONNS = 2
  321. ; Database connection max life time, default is 0 or 3s mysql (See #6804 & #7071 for reasoning)
  322. CONN_MAX_LIFETIME = 3s
  323. ; Database maximum number of open connections, default is 0 meaning no maximum
  324. MAX_OPEN_CONNS = 0
  325. [indexer]
  326. ; Issue indexer type, currently support: bleve or db, default is bleve
  327. ISSUE_INDEXER_TYPE = bleve
  328. ; Issue indexer storage path, available when ISSUE_INDEXER_TYPE is bleve
  329. ISSUE_INDEXER_PATH = indexers/issues.bleve
  330. ; Issue indexer queue, currently support: channel, levelqueue or redis, default is levelqueue
  331. ISSUE_INDEXER_QUEUE_TYPE = levelqueue
  332. ; When ISSUE_INDEXER_QUEUE_TYPE is levelqueue, this will be the queue will be saved path,
  333. ; default is indexers/issues.queue
  334. ISSUE_INDEXER_QUEUE_DIR = indexers/issues.queue
  335. ; When `ISSUE_INDEXER_QUEUE_TYPE` is `redis`, this will store the redis connection string.
  336. ISSUE_INDEXER_QUEUE_CONN_STR = "addrs=127.0.0.1:6379 db=0"
  337. ; Batch queue number, default is 20
  338. ISSUE_INDEXER_QUEUE_BATCH_NUMBER = 20
  339. ; Timeout the indexer if it takes longer than this to start.
  340. ; Set to zero to disable timeout.
  341. STARTUP_TIMEOUT=30s
  342. ; repo indexer by default disabled, since it uses a lot of disk space
  343. REPO_INDEXER_ENABLED = false
  344. REPO_INDEXER_PATH = indexers/repos.bleve
  345. UPDATE_BUFFER_LEN = 20
  346. MAX_FILE_SIZE = 1048576
  347. ; A comma separated list of glob patterns (see https://github.com/gobwas/glob) to include
  348. ; in the index; default is empty
  349. REPO_INDEXER_INCLUDE =
  350. ; A comma separated list of glob patterns to exclude from the index; ; default is empty
  351. REPO_INDEXER_EXCLUDE =
  352. [admin]
  353. ; Disallow regular (non-admin) users from creating organizations.
  354. DISABLE_REGULAR_ORG_CREATION = false
  355. ; Default configuration for email notifications for users (user configurable). Options: enabled, onmention, disabled
  356. DEFAULT_EMAIL_NOTIFICATIONS = enabled
  357. [security]
  358. ; Whether the installer is disabled
  359. INSTALL_LOCK = false
  360. ; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
  361. SECRET_KEY = !#@FDEWREWR&*(
  362. ; How long to remember that a user is logged in before requiring relogin (in days)
  363. LOGIN_REMEMBER_DAYS = 7
  364. COOKIE_USERNAME = gitea_awesome
  365. COOKIE_REMEMBER_NAME = gitea_incredible
  366. ; Reverse proxy authentication header name of user name
  367. REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER
  368. REVERSE_PROXY_AUTHENTICATION_EMAIL = X-WEBAUTH-EMAIL
  369. ; The minimum password length for new Users
  370. MIN_PASSWORD_LENGTH = 6
  371. ; Set to true to allow users to import local server paths
  372. IMPORT_LOCAL_PATHS = false
  373. ; Set to true to prevent all users (including admin) from creating custom git hooks
  374. DISABLE_GIT_HOOKS = false
  375. ; Set to false to allow pushes to gitea repositories despite having an incomplete environment - NOT RECOMMENDED
  376. ONLY_ALLOW_PUSH_IF_GITEA_ENVIRONMENT_SET = true
  377. ;Comma separated list of character classes required to pass minimum complexity.
  378. ;If left empty or no valid values are specified, the default values ("lower,upper,digit,spec") will be used.
  379. ;Use "off" to disable checking.
  380. PASSWORD_COMPLEXITY = lower,upper,digit,spec
  381. ; Password Hash algorithm, either "pbkdf2", "argon2", "scrypt" or "bcrypt"
  382. PASSWORD_HASH_ALGO = pbkdf2
  383. ; Set false to allow JavaScript to read CSRF cookie
  384. CSRF_COOKIE_HTTP_ONLY = true
  385. [openid]
  386. ;
  387. ; OpenID is an open, standard and decentralized authentication protocol.
  388. ; Your identity is the address of a webpage you provide, which describes
  389. ; how to prove you are in control of that page.
  390. ;
  391. ; For more info: https://en.wikipedia.org/wiki/OpenID
  392. ;
  393. ; Current implementation supports OpenID-2.0
  394. ;
  395. ; Tested to work providers at the time of writing:
  396. ; - Any GNUSocial node (your.hostname.tld/username)
  397. ; - Any SimpleID provider (http://simpleid.koinic.net)
  398. ; - http://openid.org.cn/
  399. ; - openid.stackexchange.com
  400. ; - login.launchpad.net
  401. ; - <username>.livejournal.com
  402. ;
  403. ; Whether to allow signin in via OpenID
  404. ENABLE_OPENID_SIGNIN = true
  405. ; Whether to allow registering via OpenID
  406. ; Do not include to rely on rhw DISABLE_REGISTRATION setting
  407. ;ENABLE_OPENID_SIGNUP = true
  408. ; Allowed URI patterns (POSIX regexp).
  409. ; Space separated.
  410. ; Only these would be allowed if non-blank.
  411. ; Example value: trusted.domain.org trusted.domain.net
  412. WHITELISTED_URIS =
  413. ; Forbidden URI patterns (POSIX regexp).
  414. ; Space separated.
  415. ; Only used if WHITELISTED_URIS is blank.
  416. ; Example value: loadaverage.org/badguy stackexchange.com/.*spammer
  417. BLACKLISTED_URIS =
  418. [service]
  419. ; Time limit to confirm account/email registration
  420. ACTIVE_CODE_LIVE_MINUTES = 180
  421. ; Time limit to perform the reset of a forgotten password
  422. RESET_PASSWD_CODE_LIVE_MINUTES = 180
  423. ; Whether a new user needs to confirm their email when registering.
  424. REGISTER_EMAIL_CONFIRM = false
  425. ; List of domain names that are allowed to be used to register on a Gitea instance
  426. ; gitea.io,example.com
  427. EMAIL_DOMAIN_WHITELIST=
  428. ; Disallow registration, only allow admins to create accounts.
  429. DISABLE_REGISTRATION = false
  430. ; Allow registration only using third-party services, it works only when DISABLE_REGISTRATION is false
  431. ALLOW_ONLY_EXTERNAL_REGISTRATION = false
  432. ; User must sign in to view anything.
  433. REQUIRE_SIGNIN_VIEW = false
  434. ; Mail notification
  435. ENABLE_NOTIFY_MAIL = false
  436. ; This setting enables gitea to be signed in with HTTP BASIC Authentication using the user's password
  437. ; If you set this to false you will not be able to access the tokens endpoints on the API with your password
  438. ; Please note that setting this to false will not disable OAuth Basic or Basic authentication using a token
  439. ENABLE_BASIC_AUTHENTICATION = true
  440. ; More detail: https://github.com/gogits/gogs/issues/165
  441. ENABLE_REVERSE_PROXY_AUTHENTICATION = false
  442. ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
  443. ENABLE_REVERSE_PROXY_EMAIL = false
  444. ; Enable captcha validation for registration
  445. ENABLE_CAPTCHA = false
  446. ; Type of captcha you want to use. Options: image, recaptcha
  447. CAPTCHA_TYPE = image
  448. ; Enable recaptcha to use Google's recaptcha service
  449. ; Go to https://www.google.com/recaptcha/admin to sign up for a key
  450. RECAPTCHA_SECRET =
  451. RECAPTCHA_SITEKEY =
  452. ; Change this to use recaptcha.net or other recaptcha service
  453. RECAPTCHA_URL = https://www.google.com/recaptcha/
  454. ; Default value for KeepEmailPrivate
  455. ; Each new user will get the value of this setting copied into their profile
  456. DEFAULT_KEEP_EMAIL_PRIVATE = false
  457. ; Default value for AllowCreateOrganization
  458. ; Every new user will have rights set to create organizations depending on this setting
  459. DEFAULT_ALLOW_CREATE_ORGANIZATION = true
  460. ; Either "public", "limited" or "private", default is "public"
  461. ; Limited is for signed user only
  462. ; Private is only for member of the organization
  463. ; Public is for everyone
  464. DEFAULT_ORG_VISIBILITY = public
  465. ; Default value for DefaultOrgMemberVisible
  466. ; True will make the membership of the users visible when added to the organisation
  467. DEFAULT_ORG_MEMBER_VISIBLE = false
  468. ; Default value for EnableDependencies
  469. ; Repositories will use dependencies by default depending on this setting
  470. DEFAULT_ENABLE_DEPENDENCIES = true
  471. ; Dependencies can be added from any repository where the user is granted access or only from the current repository depending on this setting.
  472. ALLOW_CROSS_REPOSITORY_DEPENDENCIES = true
  473. ; Enable heatmap on users profiles.
  474. ENABLE_USER_HEATMAP = true
  475. ; Enable Timetracking
  476. ENABLE_TIMETRACKING = true
  477. ; Default value for EnableTimetracking
  478. ; Repositories will use timetracking by default depending on this setting
  479. DEFAULT_ENABLE_TIMETRACKING = true
  480. ; Default value for AllowOnlyContributorsToTrackTime
  481. ; Only users with write permissions can track time if this is true
  482. DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME = true
  483. ; Default value for the domain part of the user's email address in the git log
  484. ; if he has set KeepEmailPrivate to true. The user's email will be replaced with a
  485. ; concatenation of the user name in lower case, "@" and NO_REPLY_ADDRESS.
  486. NO_REPLY_ADDRESS = noreply.%(DOMAIN)s
  487. ; Show Registration button
  488. SHOW_REGISTRATION_BUTTON = true
  489. ; Show milestones dashboard page - a view of all the user's milestones
  490. SHOW_MILESTONES_DASHBOARD_PAGE = true
  491. ; Default value for AutoWatchNewRepos
  492. ; When adding a repo to a team or creating a new repo all team members will watch the
  493. ; repo automatically if enabled
  494. AUTO_WATCH_NEW_REPOS = true
  495. ; Default value for AutoWatchOnChanges
  496. ; Make the user watch a repository When they commit for the first time
  497. AUTO_WATCH_ON_CHANGES = false
  498. [webhook]
  499. ; Hook task queue length, increase if webhook shooting starts hanging
  500. QUEUE_LENGTH = 1000
  501. ; Deliver timeout in seconds
  502. DELIVER_TIMEOUT = 5
  503. ; Allow insecure certification
  504. SKIP_TLS_VERIFY = false
  505. ; Number of history information in each page
  506. PAGING_NUM = 10
  507. ; Proxy server URL, support http://, https//, socks://, blank will follow environment http_proxy/https_proxy
  508. PROXY_URL =
  509. ; Comma separated list of host names requiring proxy. Glob patterns (*) are accepted; use ** to match all hosts.
  510. PROXY_HOSTS =
  511. [mailer]
  512. ENABLED = false
  513. ; Buffer length of channel, keep it as it is if you don't know what it is.
  514. SEND_BUFFER_LEN = 100
  515. ; Prefix displayed before subject in mail
  516. SUBJECT_PREFIX =
  517. ; Mail server
  518. ; Gmail: smtp.gmail.com:587
  519. ; QQ: smtp.qq.com:465
  520. ; Note, if the port ends with "465", SMTPS will be used. Using STARTTLS on port 587 is recommended per RFC 6409. If the server supports STARTTLS it will always be used.
  521. HOST =
  522. ; Disable HELO operation when hostnames are different.
  523. DISABLE_HELO =
  524. ; Custom hostname for HELO operation, if no value is provided, one is retrieved from system.
  525. HELO_HOSTNAME =
  526. ; Do not verify the certificate of the server. Only use this for self-signed certificates
  527. SKIP_VERIFY =
  528. ; Use client certificate
  529. USE_CERTIFICATE = false
  530. CERT_FILE = custom/mailer/cert.pem
  531. KEY_FILE = custom/mailer/key.pem
  532. ; Should SMTP connection use TLS
  533. IS_TLS_ENABLED = false
  534. ; Mail from address, RFC 5322. This can be just an email address, or the `"Name" <email@example.com>` format
  535. FROM =
  536. ; Mailer user name and password
  537. USER =
  538. ; Use PASSWD = `your password` for quoting if you use special characters in the password.
  539. PASSWD =
  540. ; Send mails as plain text
  541. SEND_AS_PLAIN_TEXT = false
  542. ; Set Mailer Type (either SMTP, sendmail or dummy to just send to the log)
  543. MAILER_TYPE = smtp
  544. ; Specify an alternative sendmail binary
  545. SENDMAIL_PATH = sendmail
  546. ; Specify any extra sendmail arguments
  547. SENDMAIL_ARGS =
  548. [cache]
  549. ; Either "memory", "redis", or "memcache", default is "memory"
  550. ADAPTER = memory
  551. ; For "memory" only, GC interval in seconds, default is 60
  552. INTERVAL = 60
  553. ; For "redis" and "memcache", connection host address
  554. ; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
  555. ; memcache: `127.0.0.1:11211`
  556. HOST =
  557. ; Time to keep items in cache if not used, default is 16 hours.
  558. ; Setting it to 0 disables caching
  559. ITEM_TTL = 16h
  560. [session]
  561. ; Either "memory", "file", or "redis", default is "memory"
  562. PROVIDER = memory
  563. ; Provider config options
  564. ; memory: doesn't have any config yet
  565. ; file: session file path, e.g. `data/sessions`
  566. ; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
  567. ; mysql: go-sql-driver/mysql dsn config string, e.g. `root:password@/session_table`
  568. PROVIDER_CONFIG = data/sessions
  569. ; Session cookie name
  570. COOKIE_NAME = i_like_gitea
  571. ; If you use session in https only, default is false
  572. COOKIE_SECURE = false
  573. ; Enable set cookie, default is true
  574. ENABLE_SET_COOKIE = true
  575. ; Session GC time interval in seconds, default is 86400 (1 day)
  576. GC_INTERVAL_TIME = 86400
  577. ; Session life time in seconds, default is 86400 (1 day)
  578. SESSION_LIFE_TIME = 86400
  579. [picture]
  580. AVATAR_UPLOAD_PATH = data/avatars
  581. REPOSITORY_AVATAR_UPLOAD_PATH = data/repo-avatars
  582. ; How Gitea deals with missing repository avatars
  583. ; none = no avatar will be displayed; random = random avatar will be displayed; image = default image will be used
  584. REPOSITORY_AVATAR_FALLBACK = none
  585. REPOSITORY_AVATAR_FALLBACK_IMAGE = /img/repo_default.png
  586. ; Max Width and Height of uploaded avatars.
  587. ; This is to limit the amount of RAM used when resizing the image.
  588. AVATAR_MAX_WIDTH = 4096
  589. AVATAR_MAX_HEIGHT = 3072
  590. ; Maximum alloved file size for uploaded avatars.
  591. ; This is to limit the amount of RAM used when resizing the image.
  592. AVATAR_MAX_FILE_SIZE = 1048576
  593. ; Chinese users can choose "duoshuo"
  594. ; or a custom avatar source, like: http://cn.gravatar.com/avatar/
  595. GRAVATAR_SOURCE = gravatar
  596. ; This value will always be true in offline mode.
  597. DISABLE_GRAVATAR = false
  598. ; Federated avatar lookup uses DNS to discover avatar associated
  599. ; with emails, see https://www.libravatar.org
  600. ; This value will always be false in offline mode or when Gravatar is disabled.
  601. ENABLE_FEDERATED_AVATAR = false
  602. [attachment]
  603. ; Whether attachments are enabled. Defaults to `true`
  604. ENABLED = true
  605. ; Path for attachments. Defaults to `data/attachments`
  606. PATH = data/attachments
  607. ; One or more allowed types, e.g. image/jpeg|image/png
  608. ALLOWED_TYPES = image/jpeg|image/png|application/zip|application/gzip
  609. ; Max size of each file. Defaults to 4MB
  610. MAX_SIZE = 4
  611. ; Max number of files per upload. Defaults to 5
  612. MAX_FILES = 5
  613. [time]
  614. ; Specifies the format for fully outputted dates. Defaults to RFC1123
  615. ; Special supported values are ANSIC, UnixDate, RubyDate, RFC822, RFC822Z, RFC850, RFC1123, RFC1123Z, RFC3339, RFC3339Nano, Kitchen, Stamp, StampMilli, StampMicro and StampNano
  616. ; For more information about the format see http://golang.org/pkg/time/#pkg-constants
  617. FORMAT =
  618. ; Location the UI time display i.e. Asia/Shanghai
  619. ; Empty means server's location setting
  620. DEFAULT_UI_LOCATION =
  621. [log]
  622. ROOT_PATH =
  623. ; Either "console", "file", "conn", "smtp" or "database", default is "console"
  624. ; Use comma to separate multiple modes, e.g. "console, file"
  625. MODE = console
  626. ; Buffer length of the channel, keep it as it is if you don't know what it is.
  627. BUFFER_LEN = 10000
  628. REDIRECT_MACARON_LOG = false
  629. MACARON = file
  630. ; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Info"
  631. ROUTER_LOG_LEVEL = Info
  632. ROUTER = console
  633. ENABLE_ACCESS_LOG = false
  634. ACCESS_LOG_TEMPLATE = {{.Ctx.RemoteAddr}} - {{.Identity}} {{.Start.Format "[02/Jan/2006:15:04:05 -0700]" }} "{{.Ctx.Req.Method}} {{.Ctx.Req.RequestURI}} {{.Ctx.Req.Proto}}" {{.ResponseWriter.Status}} {{.ResponseWriter.Size}} "{{.Ctx.Req.Referer}}\" \"{{.Ctx.Req.UserAgent}}"
  635. ACCESS = file
  636. ; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
  637. LEVEL = Info
  638. ; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "None"
  639. STACKTRACE_LEVEL = None
  640. ; Generic log modes
  641. [log.x]
  642. FLAGS = stdflags
  643. EXPRESSION =
  644. PREFIX =
  645. COLORIZE = false
  646. ; For "console" mode only
  647. [log.console]
  648. LEVEL =
  649. STDERR = false
  650. ; For "file" mode only
  651. [log.file]
  652. LEVEL =
  653. ; Set the file_name for the logger. If this is a relative path this
  654. ; will be relative to ROOT_PATH
  655. FILE_NAME =
  656. ; This enables automated log rotate(switch of following options), default is true
  657. LOG_ROTATE = true
  658. ; Max number of lines in a single file, default is 1000000
  659. MAX_LINES = 1000000
  660. ; Max size shift of a single file, default is 28 means 1 << 28, 256MB
  661. MAX_SIZE_SHIFT = 28
  662. ; Segment log daily, default is true
  663. DAILY_ROTATE = true
  664. ; delete the log file after n days, default is 7
  665. MAX_DAYS = 7
  666. ; compress logs with gzip
  667. COMPRESS = true
  668. ; compression level see godoc for compress/gzip
  669. COMPRESSION_LEVEL = -1
  670. ; For "conn" mode only
  671. [log.conn]
  672. LEVEL =
  673. ; Reconnect host for every single message, default is false
  674. RECONNECT_ON_MSG = false
  675. ; Try to reconnect when connection is lost, default is false
  676. RECONNECT = false
  677. ; Either "tcp", "unix" or "udp", default is "tcp"
  678. PROTOCOL = tcp
  679. ; Host address
  680. ADDR =
  681. ; For "smtp" mode only
  682. [log.smtp]
  683. LEVEL =
  684. ; Name displayed in mail title, default is "Diagnostic message from server"
  685. SUBJECT = Diagnostic message from server
  686. ; Mail server
  687. HOST =
  688. ; Mailer user name and password
  689. USER =
  690. ; Use PASSWD = `your password` for quoting if you use special characters in the password.
  691. PASSWD =
  692. ; Receivers, can be one or more, e.g. 1@example.com,2@example.com
  693. RECEIVERS =
  694. [cron]
  695. ; Enable running cron tasks periodically.
  696. ENABLED = true
  697. ; Run cron tasks when Gitea starts.
  698. RUN_AT_START = false
  699. ; Update mirrors
  700. [cron.update_mirrors]
  701. SCHEDULE = @every 10m
  702. ; Repository health check
  703. [cron.repo_health_check]
  704. SCHEDULE = @every 24h
  705. TIMEOUT = 60s
  706. ; Arguments for command 'git fsck', e.g. "--unreachable --tags"
  707. ; see more on http://git-scm.com/docs/git-fsck
  708. ARGS =
  709. ; Check repository statistics
  710. [cron.check_repo_stats]
  711. RUN_AT_START = true
  712. SCHEDULE = @every 24h
  713. ; Clean up old repository archives
  714. [cron.archive_cleanup]
  715. ; Whether to enable the job
  716. ENABLED = true
  717. ; Whether to always run at least once at start up time (if ENABLED)
  718. RUN_AT_START = true
  719. ; Time interval for job to run
  720. SCHEDULE = @every 24h
  721. ; Archives created more than OLDER_THAN ago are subject to deletion
  722. OLDER_THAN = 24h
  723. ; Synchronize external user data (only LDAP user synchronization is supported)
  724. [cron.sync_external_users]
  725. ; Synchronize external user data when starting server (default false)
  726. RUN_AT_START = false
  727. ; Interval as a duration between each synchronization (default every 24h)
  728. SCHEDULE = @every 24h
  729. ; Create new users, update existing user data and disable users that are not in external source anymore (default)
  730. ; or only create new users if UPDATE_EXISTING is set to false
  731. UPDATE_EXISTING = true
  732. ; Update migrated repositories' issues and comments' posterid, it will always attempt synchronization when the instance starts.
  733. [cron.update_migration_post_id]
  734. ; Interval as a duration between each synchronization. (default every 24h)
  735. SCHEDULE = @every 24h
  736. [git]
  737. ; The path of git executable. If empty, Gitea searches through the PATH environment.
  738. PATH =
  739. ; Disables highlight of added and removed changes
  740. DISABLE_DIFF_HIGHLIGHT = false
  741. ; Max number of lines allowed in a single file in diff view
  742. MAX_GIT_DIFF_LINES = 1000
  743. ; Max number of allowed characters in a line in diff view
  744. MAX_GIT_DIFF_LINE_CHARACTERS = 5000
  745. ; Max number of files shown in diff view
  746. MAX_GIT_DIFF_FILES = 100
  747. ; Arguments for command 'git gc', e.g. "--aggressive --auto"
  748. ; see more on http://git-scm.com/docs/git-gc/
  749. GC_ARGS =
  750. ; If use git wire protocol version 2 when git version >= 2.18, default is true, set to false when you always want git wire protocol version 1
  751. EnableAutoGitWireProtocol = true
  752. ; Operation timeout in seconds
  753. [git.timeout]
  754. DEFAULT = 360
  755. MIGRATE = 600
  756. MIRROR = 300
  757. CLONE = 300
  758. PULL = 300
  759. GC = 60
  760. [mirror]
  761. ; Default interval as a duration between each check
  762. DEFAULT_INTERVAL = 8h
  763. ; Min interval as a duration must be > 1m
  764. MIN_INTERVAL = 10m
  765. [api]
  766. ; Enables Swagger. True or false; default is true.
  767. ENABLE_SWAGGER = true
  768. ; Max number of items in a page
  769. MAX_RESPONSE_ITEMS = 50
  770. ; Default paging number of api
  771. DEFAULT_PAGING_NUM = 30
  772. ; Default and maximum number of items per page for git trees api
  773. DEFAULT_GIT_TREES_PER_PAGE = 1000
  774. ; Default size of a blob returned by the blobs API (default is 10MiB)
  775. DEFAULT_MAX_BLOB_SIZE = 10485760
  776. [oauth2]
  777. ; Enables OAuth2 provider
  778. ENABLE = true
  779. ; Lifetime of an OAuth2 access token in seconds
  780. ACCESS_TOKEN_EXPIRATION_TIME=3600
  781. ; Lifetime of an OAuth2 access token in hours
  782. REFRESH_TOKEN_EXPIRATION_TIME=730
  783. ; Check if refresh token got already used
  784. INVALIDATE_REFRESH_TOKENS=false
  785. ; OAuth2 authentication secret for access and refresh tokens, change this to a unique string.
  786. JWT_SECRET=Bk0yK7Y9g_p56v86KaHqjSbxvNvu3SbKoOdOt2ZcXvU
  787. [i18n]
  788. LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR
  789. NAMES = English,简体中文,繁體中文(香港),繁體中文(台灣),Deutsch,français,Nederlands,latviešu,русский,Українська,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어
  790. ; Used for datetimepicker
  791. [i18n.datelang]
  792. en-US = en
  793. zh-CN = zh
  794. zh-HK = zh-HK
  795. zh-TW = zh-TW
  796. de-DE = de
  797. fr-FR = fr
  798. nl-NL = nl
  799. lv-LV = lv
  800. ru-RU = ru
  801. uk-UA = uk
  802. ja-JP = ja
  803. es-ES = es
  804. pt-BR = pt-BR
  805. pl-PL = pl
  806. bg-BG = bg
  807. it-IT = it
  808. fi-FI = fi
  809. tr-TR = tr
  810. cs-CZ = cs-CZ
  811. sr-SP = sr
  812. sv-SE = sv
  813. ko-KR = ko
  814. [U2F]
  815. ; NOTE: THE DEFAULT VALUES HERE WILL NEED TO BE CHANGED
  816. ; Two Factor authentication with security keys
  817. ; https://developers.yubico.com/U2F/App_ID.html
  818. ;APP_ID = http://localhost:3000/
  819. ; Comma seperated list of trusted facets
  820. ;TRUSTED_FACETS = http://localhost:3000/
  821. ; Extension mapping to highlight class
  822. ; e.g. .toml=ini
  823. [highlight.mapping]
  824. [other]
  825. SHOW_FOOTER_BRANDING = false
  826. ; Show version information about Gitea and Go in the footer
  827. SHOW_FOOTER_VERSION = true
  828. ; Show template execution time in the footer
  829. SHOW_FOOTER_TEMPLATE_LOAD_TIME = true
  830. [markup.sanitizer]
  831. ; The following keys can be used multiple times to define sanitation policy rules.
  832. ;ELEMENT = span
  833. ;ALLOW_ATTR = class
  834. ;REGEXP = ^(info|warning|error)$
  835. [markup.asciidoc]
  836. ENABLED = false
  837. ; List of file extensions that should be rendered by an external command
  838. FILE_EXTENSIONS = .adoc,.asciidoc
  839. ; External command to render all matching extensions
  840. RENDER_COMMAND = "asciidoc --out-file=- -"
  841. ; Don't pass the file on STDIN, pass the filename as argument instead.
  842. IS_INPUT_FILE = false
  843. [metrics]
  844. ; Enables metrics endpoint. True or false; default is false.
  845. ENABLED = false
  846. ; If you want to add authorization, specify a token here
  847. TOKEN =
  848. [task]
  849. ; Task queue type, could be `channel` or `redis`.
  850. QUEUE_TYPE = channel
  851. ; Task queue length, available only when `QUEUE_TYPE` is `channel`.
  852. QUEUE_LENGTH = 1000
  853. ; Task queue connection string, available only when `QUEUE_TYPE` is `redis`.
  854. ; If there is a password of redis, use `addrs=127.0.0.1:6379 password=123 db=0`.
  855. QUEUE_CONN_STR = "addrs=127.0.0.1:6379 db=0"
  856. [migrations]
  857. ; Max attempts per http/https request on migrations.
  858. MAX_ATTEMPTS = 3
  859. ; Backoff time per http/https request retry (seconds)
  860. RETRY_BACKOFF = 3