@@ -4,19 +4,22 @@ import (
44 "context"
55 "fmt"
66
7+ "github.com/github/git-bundle-server/cmd/utils"
78 "github.com/github/git-bundle-server/internal/argparse"
89 "github.com/github/git-bundle-server/internal/bundles"
910 "github.com/github/git-bundle-server/internal/core"
1011 "github.com/github/git-bundle-server/internal/log"
1112)
1213
1314type updateCmd struct {
14- logger log.TraceLogger
15+ logger log.TraceLogger
16+ container * utils.DependencyContainer
1517}
1618
17- func NewUpdateCommand (logger log.TraceLogger ) argparse.Subcommand {
19+ func NewUpdateCommand (logger log.TraceLogger , container * utils. DependencyContainer ) argparse.Subcommand {
1820 return & updateCmd {
19- logger : logger ,
21+ logger : logger ,
22+ container : container ,
2023 }
2124}
2225
@@ -36,18 +39,21 @@ func (u *updateCmd) Run(ctx context.Context, args []string) error {
3639 route := parser .PositionalString ("route" , "the route to update" )
3740 parser .Parse (ctx , args )
3841
39- repo , err := core .CreateRepository (* route )
42+ repoProvider := utils .GetDependency [core.RepositoryProvider ](ctx , u .container )
43+ bundleProvider := utils .GetDependency [bundles.BundleProvider ](ctx , u .container )
44+
45+ repo , err := repoProvider .CreateRepository (ctx , * route )
4046 if err != nil {
4147 return u .logger .Error (ctx , err )
4248 }
4349
44- list , err := bundles .GetBundleList (repo )
50+ list , err := bundleProvider .GetBundleList (ctx , repo )
4551 if err != nil {
4652 return u .logger .Errorf (ctx , "failed to load bundle list: %w" , err )
4753 }
4854
4955 fmt .Printf ("Creating new incremental bundle\n " )
50- bundle , err := bundles .CreateIncrementalBundle (repo , list )
56+ bundle , err := bundleProvider .CreateIncrementalBundle (ctx , repo , list )
5157 if err != nil {
5258 return u .logger .Error (ctx , err )
5359 }
@@ -60,13 +66,13 @@ func (u *updateCmd) Run(ctx context.Context, args []string) error {
6066 list .Bundles [bundle .CreationToken ] = * bundle
6167
6268 fmt .Printf ("Collapsing bundle list\n " )
63- err = bundles .CollapseList (repo , list )
69+ err = bundleProvider .CollapseList (ctx , repo , list )
6470 if err != nil {
6571 return u .logger .Error (ctx , err )
6672 }
6773
6874 fmt .Printf ("Writing updated bundle list\n " )
69- listErr := bundles .WriteBundleList (list , repo )
75+ listErr := bundleProvider .WriteBundleList (ctx , list , repo )
7076 if listErr != nil {
7177 return u .logger .Errorf (ctx , "failed to write bundle list: %w" , listErr )
7278 }
0 commit comments