mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Refactor Cron and merge dashboard tasks (#10745)
* Refactor Cron and merge dashboard tasks * Merge Cron and Dashboard tasks * Make every cron task report a system notice on completion * Refactor the creation of these tasks * Ensure that execution counts of tasks is correct * Allow cron tasks to be started from the cron page * golangci-lint fixes * Enforce that only one task with the same name can be registered Signed-off-by: Andrew Thornton <art27@cantab.net> * fix name check Signed-off-by: Andrew Thornton <art27@cantab.net> * as per @guillep2k * as per @lafriks Signed-off-by: Andrew Thornton <art27@cantab.net> * Add git.CommandContext variants Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
		| @@ -45,22 +45,32 @@ func (c *Command) String() string { | ||||
|  | ||||
| // NewCommand creates and returns a new Git Command based on given command and arguments. | ||||
| func NewCommand(args ...string) *Command { | ||||
| 	return NewCommandContext(DefaultContext, args...) | ||||
| } | ||||
|  | ||||
| // NewCommandContext creates and returns a new Git Command based on given command and arguments. | ||||
| func NewCommandContext(ctx context.Context, args ...string) *Command { | ||||
| 	// Make an explicit copy of GlobalCommandArgs, otherwise append might overwrite it | ||||
| 	cargs := make([]string, len(GlobalCommandArgs)) | ||||
| 	copy(cargs, GlobalCommandArgs) | ||||
| 	return &Command{ | ||||
| 		name:          GitExecutable, | ||||
| 		args:          append(cargs, args...), | ||||
| 		parentContext: DefaultContext, | ||||
| 		parentContext: ctx, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // NewCommandNoGlobals creates and returns a new Git Command based on given command and arguments only with the specify args and don't care global command args | ||||
| func NewCommandNoGlobals(args ...string) *Command { | ||||
| 	return NewCommandContextNoGlobals(DefaultContext, args...) | ||||
| } | ||||
|  | ||||
| // NewCommandContextNoGlobals creates and returns a new Git Command based on given command and arguments only with the specify args and don't care global command args | ||||
| func NewCommandContextNoGlobals(ctx context.Context, args ...string) *Command { | ||||
| 	return &Command{ | ||||
| 		name:          GitExecutable, | ||||
| 		args:          args, | ||||
| 		parentContext: DefaultContext, | ||||
| 		parentContext: ctx, | ||||
| 	} | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -150,11 +150,11 @@ func Init(ctx context.Context) error { | ||||
| } | ||||
|  | ||||
| // Fsck verifies the connectivity and validity of the objects in the database | ||||
| func Fsck(repoPath string, timeout time.Duration, args ...string) error { | ||||
| func Fsck(ctx context.Context, repoPath string, timeout time.Duration, args ...string) error { | ||||
| 	// Make sure timeout makes sense. | ||||
| 	if timeout <= 0 { | ||||
| 		timeout = -1 | ||||
| 	} | ||||
| 	_, err := NewCommand("fsck").AddArguments(args...).RunInDirTimeout(timeout, repoPath) | ||||
| 	_, err := NewCommandContext(ctx, "fsck").AddArguments(args...).RunInDirTimeout(timeout, repoPath) | ||||
| 	return err | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user