)]}'
{"cmd/cluster/init.go":[{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":78,"context_line":"\t\tLong:    initLong,"},{"line_number":79,"context_line":"\t\tExample: initExample,"},{"line_number":80,"context_line":"\t\tRunE: func(cmd *cobra.Command, args []string) error {"},{"line_number":81,"context_line":"\t\t\tcommand :\u003d clusterctlcmd.NewCommand(rootSettings)"},{"line_number":82,"context_line":"\t\t\treturn command.Init()"},{"line_number":83,"context_line":"\t\t},"},{"line_number":84,"context_line":"\t}"},{"line_number":85,"context_line":"\treturn initCmd"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_89b4e983","line":82,"range":{"start_line":81,"start_character":3,"end_line":82,"end_character":24},"updated":"2020-08-21 22:27:35.000000000","message":"These two lines could be combined into single line:\n\nreturn clusterctlcmd.NewCommand(rootSettings).Init()\n\nsince there is no error handling and other variables definitions.","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":78,"context_line":"\t\tLong:    initLong,"},{"line_number":79,"context_line":"\t\tExample: initExample,"},{"line_number":80,"context_line":"\t\tRunE: func(cmd *cobra.Command, args []string) error {"},{"line_number":81,"context_line":"\t\t\tcommand :\u003d clusterctlcmd.NewCommand(rootSettings)"},{"line_number":82,"context_line":"\t\t\treturn command.Init()"},{"line_number":83,"context_line":"\t\t},"},{"line_number":84,"context_line":"\t}"},{"line_number":85,"context_line":"\treturn initCmd"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_b548005c","line":82,"range":{"start_line":81,"start_character":3,"end_line":82,"end_character":24},"in_reply_to":"9f560f44_89b4e983","updated":"2020-08-24 22:51:51.000000000","message":"Done","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"}],"cmd/cluster/move.go":[{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"\t\tLong:    moveLong[1:],"},{"line_number":47,"context_line":"\t\tExample: moveExample,"},{"line_number":48,"context_line":"\t\tRunE: func(cmd *cobra.Command, args []string) error {"},{"line_number":49,"context_line":"\t\t\tcommand :\u003d clusterctlcmd.NewCommand(rootSettings)"},{"line_number":50,"context_line":"\t\t\treturn command.Move(toKubeconfigContext)"},{"line_number":51,"context_line":"\t\t},"},{"line_number":52,"context_line":"\t}"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_0956192b","line":50,"range":{"start_line":49,"start_character":3,"end_line":50,"end_character":43},"updated":"2020-08-21 22:27:35.000000000","message":"These two lines could be combined into single line:\n\nreturn clusterctlcmd.NewCommand(rootSettings).Move()\n\nsince there is no error handling and other variables definitions.","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":46,"context_line":"\t\tLong:    moveLong[1:],"},{"line_number":47,"context_line":"\t\tExample: moveExample,"},{"line_number":48,"context_line":"\t\tRunE: func(cmd *cobra.Command, args []string) error {"},{"line_number":49,"context_line":"\t\t\tcommand :\u003d clusterctlcmd.NewCommand(rootSettings)"},{"line_number":50,"context_line":"\t\t\treturn command.Move(toKubeconfigContext)"},{"line_number":51,"context_line":"\t\t},"},{"line_number":52,"context_line":"\t}"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_5566c4ee","line":50,"range":{"start_line":49,"start_character":3,"end_line":50,"end_character":43},"in_reply_to":"9f560f44_0956192b","updated":"2020-08-24 22:51:51.000000000","message":"Done","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"}],"pkg/clusterctl/client/client.go":[{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"\t// AdditionalComponentVariables are variables that will be available to clusterctl"},{"line_number":47,"context_line":"\t// when reading provider components"},{"line_number":48,"context_line":"\tAdditionalComponentVariables map[string]string"},{"line_number":49,"context_line":"\t// EnvVars if set to true, allows to source variables for cluster-api components"},{"line_number":50,"context_line":"\t// for environment variables."},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"// InitOptions holds options to initialize provider components of cluster-api"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_491491a0","line":50,"range":{"start_line":49,"start_character":1,"end_line":50,"end_character":30},"updated":"2020-08-21 22:27:35.000000000","message":"Please move comment before corresponding variable","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":46,"context_line":"\t// AdditionalComponentVariables are variables that will be available to clusterctl"},{"line_number":47,"context_line":"\t// when reading provider components"},{"line_number":48,"context_line":"\tAdditionalComponentVariables map[string]string"},{"line_number":49,"context_line":"\t// EnvVars if set to true, allows to source variables for cluster-api components"},{"line_number":50,"context_line":"\t// for environment variables."},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"// InitOptions holds options to initialize provider components of cluster-api"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_75b02844","line":50,"range":{"start_line":49,"start_character":1,"end_line":50,"end_character":30},"in_reply_to":"9f560f44_491491a0","updated":"2020-08-24 22:51:51.000000000","message":"Done","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"}],"pkg/clusterctl/client/client_test.go":[{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\t\t\t\t},"},{"line_number":73,"context_line":"\t\t\t},"},{"line_number":74,"context_line":"\t\t},"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"\t\t{"},{"line_number":77,"context_line":"\t\t\tname:            \"multiple repos with airship\","},{"line_number":78,"context_line":"\t\t\tpresentProvider: \"airship-repo\","}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_0c190779","line":75,"updated":"2020-08-21 22:27:35.000000000","message":"Unnecessary new line","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\t\t\t\t},"},{"line_number":73,"context_line":"\t\t\t},"},{"line_number":74,"context_line":"\t\t},"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"\t\t{"},{"line_number":77,"context_line":"\t\t\tname:            \"multiple repos with airship\","},{"line_number":78,"context_line":"\t\t\tpresentProvider: \"airship-repo\","}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_b5b6403d","line":75,"in_reply_to":"9f560f44_0c190779","updated":"2020-08-24 22:51:51.000000000","message":"Done","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"}],"pkg/clusterctl/client/factory_test.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"e20bcf17a7ffd48a8b688d8992857adade092d51","unresolved":false,"context_lines":[{"line_number":58,"context_line":"\tcctl :\u003d \u0026airshipv1.Clusterctl{}"},{"line_number":59,"context_line":"\terr :\u003d yaml.Unmarshal([]byte(input), cctl)"},{"line_number":60,"context_line":"\trequire.NoError(t, err)"},{"line_number":61,"context_line":"\tfmt.Println(cctl.Providers)"},{"line_number":62,"context_line":"\treturn cctl.Providers"},{"line_number":63,"context_line":"}"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-go","patch_set":10,"id":"9f560f44_e439b5a3","line":61,"range":{"start_line":61,"start_character":0,"end_line":61,"end_character":28},"updated":"2020-09-01 13:50:56.000000000","message":"delete this","commit_id":"0414f05f99dc0834e1e773bc9aa162947591df64"}],"pkg/clusterctl/cmd/command.go":[{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\trootSettings      *environment.AirshipCTLSettings"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"// NewCommand returns instance of Command"},{"line_number":37,"context_line":"func NewCommand(rs *environment.AirshipCTLSettings) *Command {"},{"line_number":38,"context_line":"\treturn \u0026Command{"},{"line_number":39,"context_line":"\t\trootSettings: rs,"},{"line_number":40,"context_line":"\t}"},{"line_number":41,"context_line":"}"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"// Init runs clusterctl init"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_e9dda5dd","line":40,"range":{"start_line":36,"start_character":0,"end_line":40,"end_character":2},"updated":"2020-08-21 22:27:35.000000000","message":"Since Command is a public struct and there are no specific actions inside of NewCommand, may be it does not make sense to have a explicit constructor?","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\trootSettings      *environment.AirshipCTLSettings"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"// NewCommand returns instance of Command"},{"line_number":37,"context_line":"func NewCommand(rs *environment.AirshipCTLSettings) *Command {"},{"line_number":38,"context_line":"\treturn \u0026Command{"},{"line_number":39,"context_line":"\t\trootSettings: rs,"},{"line_number":40,"context_line":"\t}"},{"line_number":41,"context_line":"}"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"// Init runs clusterctl init"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_357cf070","line":40,"range":{"start_line":36,"start_character":0,"end_line":40,"end_character":2},"in_reply_to":"9f560f44_e9dda5dd","updated":"2020-08-24 22:51:51.000000000","message":"I would not be able to use it in one at the cmd level, but we can change that, however, i think that it\u0027s better to keep it as function, and have a second wave of refactor, when changing clusterctl.Move(). For sake of smaller commits","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":53,"context_line":"}"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"func (c *Command) prepare() error {"},{"line_number":56,"context_line":"\terr :\u003d c.rootSettings.Config.EnsureComplete()"},{"line_number":57,"context_line":"\tif err !\u003d nil {"},{"line_number":58,"context_line":"\t\treturn err"},{"line_number":59,"context_line":"\t}"},{"line_number":60,"context_line":"\tc.kubeconfigContext \u003d c.rootSettings.Config.CurrentContext"},{"line_number":61,"context_line":"\tc.kubeconfigPath \u003d c.rootSettings.AirshipConfigPath"},{"line_number":62,"context_line":"\terr \u003d c.prepareBundle()"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_0c60e7ce","line":59,"range":{"start_line":56,"start_character":1,"end_line":59,"end_character":2},"updated":"2020-08-21 22:27:35.000000000","message":"You could use one line if statement:\nif err :\u003d c.rootSettings.Config.EnsureComplete(); err !\u003d nil { return err }","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":53,"context_line":"}"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"func (c *Command) prepare() error {"},{"line_number":56,"context_line":"\terr :\u003d c.rootSettings.Config.EnsureComplete()"},{"line_number":57,"context_line":"\tif err !\u003d nil {"},{"line_number":58,"context_line":"\t\treturn err"},{"line_number":59,"context_line":"\t}"},{"line_number":60,"context_line":"\tc.kubeconfigContext \u003d c.rootSettings.Config.CurrentContext"},{"line_number":61,"context_line":"\tc.kubeconfigPath \u003d c.rootSettings.AirshipConfigPath"},{"line_number":62,"context_line":"\terr \u003d c.prepareBundle()"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_5594048b","line":59,"range":{"start_line":56,"start_character":1,"end_line":59,"end_character":2},"in_reply_to":"9f560f44_0c60e7ce","updated":"2020-08-24 22:51:51.000000000","message":"Done","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":59,"context_line":"\t}"},{"line_number":60,"context_line":"\tc.kubeconfigContext \u003d c.rootSettings.Config.CurrentContext"},{"line_number":61,"context_line":"\tc.kubeconfigPath \u003d c.rootSettings.AirshipConfigPath"},{"line_number":62,"context_line":"\terr \u003d c.prepareBundle()"},{"line_number":63,"context_line":"\tif err !\u003d nil {"},{"line_number":64,"context_line":"\t\treturn err"},{"line_number":65,"context_line":"\t}"},{"line_number":66,"context_line":"\terr \u003d c.prepareClusterctlOptions()"},{"line_number":67,"context_line":"\tif err !\u003d nil {"},{"line_number":68,"context_line":"\t\treturn err"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_ec5c931a","line":65,"range":{"start_line":62,"start_character":1,"end_line":65,"end_character":2},"updated":"2020-08-21 22:27:35.000000000","message":"ditto","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":59,"context_line":"\t}"},{"line_number":60,"context_line":"\tc.kubeconfigContext \u003d c.rootSettings.Config.CurrentContext"},{"line_number":61,"context_line":"\tc.kubeconfigPath \u003d c.rootSettings.AirshipConfigPath"},{"line_number":62,"context_line":"\terr \u003d c.prepareBundle()"},{"line_number":63,"context_line":"\tif err !\u003d nil {"},{"line_number":64,"context_line":"\t\treturn err"},{"line_number":65,"context_line":"\t}"},{"line_number":66,"context_line":"\terr \u003d c.prepareClusterctlOptions()"},{"line_number":67,"context_line":"\tif err !\u003d nil {"},{"line_number":68,"context_line":"\t\treturn err"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_958a1c61","line":65,"range":{"start_line":62,"start_character":1,"end_line":65,"end_character":2},"in_reply_to":"9f560f44_ec5c931a","updated":"2020-08-24 22:51:51.000000000","message":"Done","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"\tif err !\u003d nil {"},{"line_number":64,"context_line":"\t\treturn err"},{"line_number":65,"context_line":"\t}"},{"line_number":66,"context_line":"\terr \u003d c.prepareClusterctlOptions()"},{"line_number":67,"context_line":"\tif err !\u003d nil {"},{"line_number":68,"context_line":"\t\treturn err"},{"line_number":69,"context_line":"\t}"},{"line_number":70,"context_line":"\treturn c.prepareCapiClient()"},{"line_number":71,"context_line":"}"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_4c9bffc7","line":69,"range":{"start_line":66,"start_character":1,"end_line":69,"end_character":2},"updated":"2020-08-21 22:27:35.000000000","message":"ditto","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":63,"context_line":"\tif err !\u003d nil {"},{"line_number":64,"context_line":"\t\treturn err"},{"line_number":65,"context_line":"\t}"},{"line_number":66,"context_line":"\terr \u003d c.prepareClusterctlOptions()"},{"line_number":67,"context_line":"\tif err !\u003d nil {"},{"line_number":68,"context_line":"\t\treturn err"},{"line_number":69,"context_line":"\t}"},{"line_number":70,"context_line":"\treturn c.prepareCapiClient()"},{"line_number":71,"context_line":"}"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_f5ea780c","line":69,"range":{"start_line":66,"start_character":1,"end_line":69,"end_character":2},"in_reply_to":"9f560f44_4c9bffc7","updated":"2020-08-24 22:51:51.000000000","message":"Done","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":88,"context_line":"func (c *Command) prepareClusterctlOptions() error {"},{"line_number":89,"context_line":"\t// make sure that options are not empty"},{"line_number":90,"context_line":"\tc.options \u003d \u0026airshipv1.Clusterctl{"},{"line_number":91,"context_line":"\t\tInitOptions: \u0026airshipv1.InitOptions{},"},{"line_number":92,"context_line":"\t\tMoveOptions: \u0026airshipv1.MoveOptions{},"},{"line_number":93,"context_line":"\t}"},{"line_number":94,"context_line":"\tselector, err :\u003d document.NewSelector().ByObject(c.options, airshipv1.Scheme)"},{"line_number":95,"context_line":"\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_4ce93f18","line":92,"range":{"start_line":91,"start_character":2,"end_line":92,"end_character":39},"updated":"2020-08-21 22:27:35.000000000","message":"It looks like we don\u0027t need both kind of options initialized, we need just one of them based on type of command - init or move.","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":88,"context_line":"func (c *Command) prepareClusterctlOptions() error {"},{"line_number":89,"context_line":"\t// make sure that options are not empty"},{"line_number":90,"context_line":"\tc.options \u003d \u0026airshipv1.Clusterctl{"},{"line_number":91,"context_line":"\t\tInitOptions: \u0026airshipv1.InitOptions{},"},{"line_number":92,"context_line":"\t\tMoveOptions: \u0026airshipv1.MoveOptions{},"},{"line_number":93,"context_line":"\t}"},{"line_number":94,"context_line":"\tselector, err :\u003d document.NewSelector().ByObject(c.options, airshipv1.Scheme)"},{"line_number":95,"context_line":"\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_95dfbc64","line":92,"range":{"start_line":91,"start_character":2,"end_line":92,"end_character":39},"in_reply_to":"9f560f44_4ce93f18","updated":"2020-08-24 22:51:51.000000000","message":"that is alright, we don\u0027t want to have two separate functions, it\u0027s easier to initialize both of the, so they are not nil, to begin with. There are lot of other kubernetes packages that use similar pattern, i think it fits well here.","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":112,"context_line":"}"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"// Move runs clusterctl move"},{"line_number":115,"context_line":"func (c *Command) Move(toKubeconfigContext string) error {"},{"line_number":116,"context_line":"\terr :\u003d c.prepare()"},{"line_number":117,"context_line":"\tif err !\u003d nil {"},{"line_number":118,"context_line":"\t\treturn err"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_ccc54f90","line":115,"range":{"start_line":115,"start_character":0,"end_line":115,"end_character":56},"updated":"2020-08-21 22:27:35.000000000","message":"Would you please consider to move this public method near the Init one to improve readability?","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":112,"context_line":"}"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"// Move runs clusterctl move"},{"line_number":115,"context_line":"func (c *Command) Move(toKubeconfigContext string) error {"},{"line_number":116,"context_line":"\terr :\u003d c.prepare()"},{"line_number":117,"context_line":"\tif err !\u003d nil {"},{"line_number":118,"context_line":"\t\treturn err"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_f5d3985e","line":115,"range":{"start_line":115,"start_character":0,"end_line":115,"end_character":56},"in_reply_to":"9f560f44_ccc54f90","updated":"2020-08-24 22:51:51.000000000","message":"Done","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":118,"context_line":"\t\treturn err"},{"line_number":119,"context_line":"\t}"},{"line_number":120,"context_line":"\treturn c.client.Move("},{"line_number":121,"context_line":"\t\tc.kubeconfigPath,"},{"line_number":122,"context_line":"\t\tc.kubeconfigContext,"},{"line_number":123,"context_line":"\t\tc.kubeconfigPath,"},{"line_number":124,"context_line":"\t\ttoKubeconfigContext,"},{"line_number":125,"context_line":"\t\tc.options.MoveOptions.Namespace,"},{"line_number":126,"context_line":"\t)"},{"line_number":127,"context_line":"}"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_8c3d1790","line":125,"range":{"start_line":121,"start_character":2,"end_line":125,"end_character":33},"updated":"2020-08-21 22:27:35.000000000","message":"There are 5 arguments in this method, since you are refactoring whole clusterctl module, would you please consider to combine them into single struct?","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":118,"context_line":"\t\treturn err"},{"line_number":119,"context_line":"\t}"},{"line_number":120,"context_line":"\treturn c.client.Move("},{"line_number":121,"context_line":"\t\tc.kubeconfigPath,"},{"line_number":122,"context_line":"\t\tc.kubeconfigContext,"},{"line_number":123,"context_line":"\t\tc.kubeconfigPath,"},{"line_number":124,"context_line":"\t\ttoKubeconfigContext,"},{"line_number":125,"context_line":"\t\tc.options.MoveOptions.Namespace,"},{"line_number":126,"context_line":"\t)"},{"line_number":127,"context_line":"}"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_35ca30a0","line":125,"range":{"start_line":121,"start_character":2,"end_line":125,"end_character":33},"in_reply_to":"9f560f44_8c3d1790","updated":"2020-08-24 22:51:51.000000000","message":"I know that is the correct way to go, however i will do the move patchset later, and it makes more sense to put new struct there.","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":32135,"name":"srinivasa muly","email":"msrinivasareddy@gmail.com","username":"muly"},"change_message_id":"22d04b740100adb5dde361a66d11388546790aac","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"// NewCommand returns instance of Command"},{"line_number":36,"context_line":"func NewCommand(rs *environment.AirshipCTLSettings) (*Command, error) {"},{"line_number":37,"context_line":"\tbundle, err :\u003d getBundle(rs.Config)"},{"line_number":38,"context_line":"\tif err !\u003d nil {"},{"line_number":39,"context_line":"\t\treturn nil, err"},{"line_number":40,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":10,"id":"9f560f44_c0c5390c","side":"PARENT","line":37,"updated":"2020-09-04 18:34:19.000000000","message":"can you help me understand the reason for removing all these validations here?","commit_id":"61633d30fcbf6b23f2d4593377d7a5107e2b9001"}],"pkg/clusterctl/provider/provider.go":[{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":21,"context_line":")"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"// Interface is airshipctl extension of clusterctl providers"},{"line_number":24,"context_line":"type Interface interface {"},{"line_number":25,"context_line":"\tProvider(name string, providerType clusterctlv1.ProviderType) *airshipv1.Provider"},{"line_number":26,"context_line":"\tAllProviders() []*airshipv1.Provider"},{"line_number":27,"context_line":"}"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_ac91fb54","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":24},"updated":"2020-08-21 22:27:35.000000000","message":"I think it would be good to link Interface to appropriate struct:\nvar _ Interface \u003d \u0026client{}","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":21,"context_line":")"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"// Interface is airshipctl extension of clusterctl providers"},{"line_number":24,"context_line":"type Interface interface {"},{"line_number":25,"context_line":"\tProvider(name string, providerType clusterctlv1.ProviderType) *airshipv1.Provider"},{"line_number":26,"context_line":"\tAllProviders() []*airshipv1.Provider"},{"line_number":27,"context_line":"}"}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_55c24486","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":24},"in_reply_to":"9f560f44_ac91fb54","updated":"2020-08-24 22:51:51.000000000","message":"Done","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"d6c663625f1b203e9727387aecb5fd36fbef9b8d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\t}"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"type client struct {"},{"line_number":37,"context_line":"\tproviders []*airshipv1.Provider"},{"line_number":38,"context_line":"}"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_8c0b57d3","line":36,"range":{"start_line":36,"start_character":5,"end_line":36,"end_character":11},"updated":"2020-08-21 22:27:35.000000000","message":"Why struct was named client?","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"89fb878d2e70e975347683dd997eef836375ed81","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\t}"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"type client struct {"},{"line_number":37,"context_line":"\tproviders []*airshipv1.Provider"},{"line_number":38,"context_line":"}"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_d53bf498","line":36,"range":{"start_line":36,"start_character":5,"end_line":36,"end_character":11},"in_reply_to":"9f560f44_8c0b57d3","updated":"2020-08-24 22:51:51.000000000","message":"would you consider better name a \"provider\"?","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":16768,"name":"Ruslan Aliev","email":"raliev@mirantis.com","username":"raliev"},"change_message_id":"0ef31fb6a71abc234742e0b1e0add6c5ac7adfdf","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\t}"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"type client struct {"},{"line_number":37,"context_line":"\tproviders []*airshipv1.Provider"},{"line_number":38,"context_line":"}"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-go","patch_set":8,"id":"9f560f44_836b06b5","line":36,"range":{"start_line":36,"start_character":5,"end_line":36,"end_character":11},"in_reply_to":"9f560f44_d53bf498","updated":"2020-08-25 04:40:22.000000000","message":"since there is a list of providers inside, may be providerList?","commit_id":"afd8b44dc8b85cbb3cfb3f1f011a57ecc558b7ea"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"e20bcf17a7ffd48a8b688d8992857adade092d51","unresolved":false,"context_lines":[{"line_number":21,"context_line":")"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"// Interface is airshipctl extension of clusterctl providers"},{"line_number":24,"context_line":"type Interface interface {"},{"line_number":25,"context_line":"\tProvider(name string, providerType clusterctlv1.ProviderType) *airshipv1.Provider"},{"line_number":26,"context_line":"\tAllProviders() []*airshipv1.Provider"},{"line_number":27,"context_line":"}"}],"source_content_type":"text/x-go","patch_set":10,"id":"9f560f44_448181c3","line":24,"range":{"start_line":24,"start_character":5,"end_line":24,"end_character":14},"updated":"2020-09-01 13:50:56.000000000","message":"This could use a more meaningful name. Perhaps \"ProviderSlice\"","commit_id":"0414f05f99dc0834e1e773bc9aa162947591df64"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"e20bcf17a7ffd48a8b688d8992857adade092d51","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"// Interface is airshipctl extension of clusterctl providers"},{"line_number":24,"context_line":"type Interface interface {"},{"line_number":25,"context_line":"\tProvider(name string, providerType clusterctlv1.ProviderType) *airshipv1.Provider"},{"line_number":26,"context_line":"\tAllProviders() []*airshipv1.Provider"},{"line_number":27,"context_line":"}"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-go","patch_set":10,"id":"9f560f44_84927957","line":25,"range":{"start_line":25,"start_character":1,"end_line":25,"end_character":9},"updated":"2020-09-01 13:50:56.000000000","message":"This will stutter when used in code. Let\u0027s change the name to \"Get\"","commit_id":"0414f05f99dc0834e1e773bc9aa162947591df64"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"e20bcf17a7ffd48a8b688d8992857adade092d51","unresolved":false,"context_lines":[{"line_number":23,"context_line":"// Interface is airshipctl extension of clusterctl providers"},{"line_number":24,"context_line":"type Interface interface {"},{"line_number":25,"context_line":"\tProvider(name string, providerType clusterctlv1.ProviderType) *airshipv1.Provider"},{"line_number":26,"context_line":"\tAllProviders() []*airshipv1.Provider"},{"line_number":27,"context_line":"}"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"var _ Interface \u003d \u0026provider{}"}],"source_content_type":"text/x-go","patch_set":10,"id":"9f560f44_c49c716c","line":26,"range":{"start_line":26,"start_character":1,"end_line":26,"end_character":13},"updated":"2020-09-01 13:50:56.000000000","message":"Same as above, this could be \"GetAll\"","commit_id":"0414f05f99dc0834e1e773bc9aa162947591df64"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"e20bcf17a7ffd48a8b688d8992857adade092d51","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"var _ Interface \u003d \u0026provider{}"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"// NewProviderInterface returns instance of provider Interface based on providers supplied"},{"line_number":32,"context_line":"func NewProviderInterface(providers []*airshipv1.Provider) Interface {"},{"line_number":33,"context_line":"\treturn \u0026provider{"},{"line_number":34,"context_line":"\t\tproviders: providers,"}],"source_content_type":"text/x-go","patch_set":10,"id":"9f560f44_a41cddc1","line":31,"range":{"start_line":31,"start_character":3,"end_line":31,"end_character":23},"updated":"2020-09-01 13:50:56.000000000","message":"Do we need a constructor for this? Why not just expose the implementation?","commit_id":"0414f05f99dc0834e1e773bc9aa162947591df64"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"e20bcf17a7ffd48a8b688d8992857adade092d51","unresolved":false,"context_lines":[{"line_number":35,"context_line":"\t}"},{"line_number":36,"context_line":"}"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"type provider struct {"},{"line_number":39,"context_line":"\tproviders []*airshipv1.Provider"},{"line_number":40,"context_line":"}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"func (c *provider) Provider(name string, providerType clusterctlv1.ProviderType) *airshipv1.Provider {"},{"line_number":43,"context_line":"\tt :\u003d string(providerType)"}],"source_content_type":"text/x-go","patch_set":10,"id":"9f560f44_c4191123","line":40,"range":{"start_line":38,"start_character":0,"end_line":40,"end_character":1},"updated":"2020-09-01 13:50:56.000000000","message":"This could also use a more specific name. Since it\u0027s  effectively just a named slice, let\u0027s go ahead and declare it that way:\n\n  type ClusterctlProviderSlice []*airshipv1.Provider","commit_id":"0414f05f99dc0834e1e773bc9aa162947591df64"}]}
