This repository has been archived on 2025-10-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
gitwarrior/cmd/gitw/main.go
Yves Biener ba9683f290 add(taskwarrior): pull implementation for new tasks
This implements the pull functionality for new tasks, which are not yet
in the local taskwarrior instance created. WIP for #3.
2023-10-21 12:43:41 +02:00

52 lines
1.6 KiB
Go

package main
import (
"fmt"
"os"
"gitea.yves-biener.de/yves-biener/gitwarrior/internal/gitea"
"gitea.yves-biener.de/yves-biener/gitwarrior/internal/gitw"
)
func main() {
// TODO: server url may be also be derived from the git configuration?
server := gitea.NewGitea("https://gitea.yves-biener.de")
repository, err := gitw.Discover()
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(-1)
}
repository, err = server.VerifyRepository(repository)
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(-1)
}
project := gitw.NewProject(server, repository)
fmt.Printf("Pulling changes from %s\n", repository.Full_name)
if err = project.Pull(); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(-1)
}
// NOTE: this can be used to add / modify tasks
// var update_tasks []taskwarrior.Task
// task := taskwarrior.NewTask(
// "This is a test task from gitwarrior",
// "gitwarrior",
// "issue",
// )
// update_tasks = append(update_tasks, task)
// taskwarrior.UpdateTasks(update_tasks)
// necessary configurations (see config file gitw.json)
// - access code for gitea
// - configuration for taskwarrior settings?
// cli actions and parameters
// - action: diff (i.e. what has changed between the current state of the taskwarrior tasks and the git issues / milestones)
// - action: status (are there changes between the taskwarrior tasks and the gitea issues / milestones, that would require a sync)
// - action: sync (synch diffs between taskwarrior tasks and gitea issues / milestones)
// - parameter: --dry-run (do only show changes that would be applied but do not apply them)
}