)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":27715,"name":"Sean Eagan","email":"seaneagan@microsoft.com","username":"seaneagan"},"change_message_id":"8efcd94f9096de1233e9aeff4ed9c0fb409291d7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"each SiteName directory must contain clusterType directory, which"},{"line_number":24,"context_line":"(currently) must be either `ephemeral` or `target`."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Introduce new config method CurrentContextEntryPoint(), method takes"},{"line_number":27,"context_line":"TargetPath, PrimaryRepository, SiteName and clusterType(method arg) and"},{"line_number":28,"context_line":"constructs a path to the entry point out of which the DocumentBundle"},{"line_number":29,"context_line":"should be build, and returns it to the caller. After that caller can"},{"line_number":30,"context_line":"build a bundle out of it, the bundle will contain documents relevant to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1fa4df85_d07472d1","line":27,"range":{"start_line":26,"start_character":28,"end_line":27,"end_character":67},"updated":"2020-03-06 16:11:12.000000000","message":"Primary and Site seem to represent the same thing, what about converging on Site since that is already pervasive within airship? For example CurrentContextSiteEntrypoint().\n\nAlso are we sure we want to force an explicit model for how sites are stored in repos? For example, what about something like this:\n\n# for multiple sites per repo model\nmanifests:\n  dummy:\n    default-site-repository\u003dsites\n    repositories:\n      sites: \u003cmulti site repo\u003e\ncontexts:\n  site_a:\n    site-path\u003dmanifests/a\n  site_b:\n    site-path\u003dmanifests/b\n\n# for single site per repo model\nmanifests:\n  dummy:\n    repositories:\n      site_a: \u003csite a repo\u003e\n      site_b: \u003csite b repo\u003e\ncontexts:\n  site_a:\n    site-repository: site_a\n    site-path\u003dmanifests\n  site_b:\n    site-repository: site_b\n    site-path\u003dmanifests\n\nHigher level tooling could be used to automate around a particular site repo model desired within an organization.","commit_id":"5fff5abe2618f821068a170209bc0b2f03ddc18d"}],"pkg/bootstrap/cloudinit/testdata/secret.yaml":[{"author":{"_account_id":29624,"name":"Alexander Hughes","email":"Alexander.Hughes@pm.me","username":"alexanderhughes"},"change_message_id":"acbe30da09a522a75c94b95d115eb18a20a12fb4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"apiVersion: v1"},{"line_number":2,"context_line":"kind: Secret"},{"line_number":3,"context_line":"metadata:"},{"line_number":4,"context_line":"  labels:"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"1fa4df85_db49978b","line":1,"updated":"2020-03-12 20:25:34.000000000","message":"nit: can we consistently start yaml files with ---","commit_id":"147b97048bc579625c7dab7da59c5c018dd18bb6"}],"pkg/cluster/initinfra/infra.go":[{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"b45aebc3d5fac0569902539348006bddb079f100","unresolved":false,"context_lines":[{"line_number":56,"context_line":"\t\treturn err"},{"line_number":57,"context_line":"\t}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"\tb, err :\u003d helpers.NewBundle(globalConf, infra.ClusterType, document.InitinfraIdentifier)"},{"line_number":60,"context_line":"\tif err !\u003d nil {"},{"line_number":61,"context_line":"\t\treturn err"},{"line_number":62,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":14,"id":"1fa4df85_1a275bcc","line":59,"updated":"2020-03-10 15:47:53.000000000","message":"My understanding is helpers was written to not have to rewrite NewBundle and refactor all calls, but this change is already pretty massive.  Why not just do it? This approach creates a completely new NewBundle interface to maintain, and I don\u0027t really see why we would want that.","commit_id":"716e5d53fd423846802f54b8d7b82fb2e68ed98d"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"6e696615104919634bb732f471bcdb091e54abcd","unresolved":false,"context_lines":[{"line_number":56,"context_line":"\t\treturn err"},{"line_number":57,"context_line":"\t}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"\tb, err :\u003d helpers.NewBundle(globalConf, infra.ClusterType, document.InitinfraIdentifier)"},{"line_number":60,"context_line":"\tif err !\u003d nil {"},{"line_number":61,"context_line":"\t\treturn err"},{"line_number":62,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":14,"id":"1fa4df85_058060f4","line":59,"range":{"start_line":59,"start_character":60,"end_line":59,"end_character":88},"updated":"2020-03-10 16:26:40.000000000","message":"This isn\u0027t clear to me that this will translate into an actual path.  In the helper, we call this a path.  Here we call it an identifier.  It\u0027s confusing with all this terminology what magic is occurring to translate this NewBundle request into directory A/B/C in the primary repository.","commit_id":"716e5d53fd423846802f54b8d7b82fb2e68ed98d"}],"pkg/config/config.go":[{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"b45aebc3d5fac0569902539348006bddb079f100","unresolved":false,"context_lines":[{"line_number":656,"context_line":"\t\treturn \"\", err"},{"line_number":657,"context_line":"\t}"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"\treturn currentContext.GetSiteName(), nil"},{"line_number":660,"context_line":"}"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"// Credential or AuthInfo related methods"}],"source_content_type":"text/x-go","patch_set":14,"id":"1fa4df85_da7ea3ad","line":659,"updated":"2020-03-10 15:47:53.000000000","message":"is there any reason we just don\u0027t expose currentContext, so the end user can just config.GetCurrentContext().GetSiteName()?","commit_id":"716e5d53fd423846802f54b8d7b82fb2e68ed98d"}],"pkg/config/errors.go":[{"author":{"_account_id":29624,"name":"Alexander Hughes","email":"Alexander.Hughes@pm.me","username":"alexanderhughes"},"change_message_id":"acbe30da09a522a75c94b95d115eb18a20a12fb4","unresolved":false,"context_lines":[{"line_number":99,"context_line":"}"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"func (e ErrMissingPrimaryRepo) Error() string {"},{"line_number":102,"context_line":"\treturn \"Current context manifest must have primary repository set\""},{"line_number":103,"context_line":"}"}],"source_content_type":"text/x-go","patch_set":21,"id":"1fa4df85_fb181385","line":102,"range":{"start_line":102,"start_character":9,"end_line":102,"end_character":10},"updated":"2020-03-12 20:25:34.000000000","message":"nit: errors should not start with capitals (golint)","commit_id":"147b97048bc579625c7dab7da59c5c018dd18bb6"}],"pkg/config/testdata/config-string.yaml":[{"author":{"_account_id":27715,"name":"Sean Eagan","email":"seaneagan@microsoft.com","username":"seaneagan"},"change_message_id":"6789648b8211e46f39a72d34ef08603d1931a284","unresolved":false,"context_lines":[{"line_number":16,"context_line":"kind: Config"},{"line_number":17,"context_line":"manifests:"},{"line_number":18,"context_line":"  dummy_manifest:"},{"line_number":19,"context_line":"    primary-repository-name: primary"},{"line_number":20,"context_line":"    repositories:"},{"line_number":21,"context_line":"      primary:"},{"line_number":22,"context_line":"        auth:"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"1fa4df85_f2003fae","line":19,"range":{"start_line":19,"start_character":4,"end_line":19,"end_character":11},"updated":"2020-03-12 13:31:21.000000000","message":"\"primary\" does not really tell me anything. doesn\u0027t this just represent which repo to find the \"entrypoints\" in?  what about:\n\nentrypoint:\n  repoository: primary # could rename this example repo to \"sites\" or similar\n  path: manifests/site/test-site\nrepositories:\n  primary: ...\n\nor alternatively why not just allow each repository to specify the \"path\" of manifests we care about, and want to install to a particular directory. Then repositories can store their manifests at whatever path they desire, as opposed to needing to be at the top-level:\n\nentrypoint-path: sites # could specify further subpath here if desired\nrepositories:\n  sites:\n    path: manifests/site/test-site\n    auth:\n      ssh-key: testdata/test-key.pem\n      type: ssh-key\n    checkout:\n      branch: \"\"\n      force: false\n      remote-ref: \"\"\n      tag: v1.0.1\n    url: http://dummy.url.com/manifests.git\n  globals:\n    path: manifests\n    ...","commit_id":"fdc87061da2af0e4e4478d07d392ab24b2c7d8f3"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"ab044b187b7dcde4d06e39846265ad127696c92e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"kind: Config"},{"line_number":17,"context_line":"manifests:"},{"line_number":18,"context_line":"  dummy_manifest:"},{"line_number":19,"context_line":"    primary-repository-name: primary"},{"line_number":20,"context_line":"    repositories:"},{"line_number":21,"context_line":"      primary:"},{"line_number":22,"context_line":"        auth:"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"1fa4df85_2dd99af3","line":19,"range":{"start_line":19,"start_character":4,"end_line":19,"end_character":11},"in_reply_to":"1fa4df85_f2003fae","updated":"2020-03-12 14:41:04.000000000","message":"1) Yes, this can be valid object, just different implementation\n2) This was previous patch set implementation, and it was decided , that path site-path, should belong to higher level object, as it only makes sense for primary repository.","commit_id":"fdc87061da2af0e4e4478d07d392ab24b2c7d8f3"}],"pkg/config/types.go":[{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"6e696615104919634bb732f471bcdb091e54abcd","unresolved":false,"context_lines":[{"line_number":141,"context_line":"\t// site-path. However there maybe occasions where it makes sense other repositories to hold directory"},{"line_number":142,"context_line":"\t// with sites as well. If SitePath is not set, it would be expected that directory with sites is root"},{"line_number":143,"context_line":"\t// of the primary repository"},{"line_number":144,"context_line":"\tSitePath string `json:\"site-path\"`"},{"line_number":145,"context_line":"\t// URLString for Repository"},{"line_number":146,"context_line":"\tURLString string `json:\"url\"`"},{"line_number":147,"context_line":"\t// Auth holds authentication options against remote"}],"source_content_type":"text/x-go","patch_set":14,"id":"1fa4df85_e56f4425","line":144,"updated":"2020-03-10 16:26:40.000000000","message":"Since these repos are site specific anyway, Why introduce the concept of site path and site name to derive it? Why not just expand Repositories with a much needed \"SubPath\" property, and for a site \"A\" expect them to specify a repository with Repo.SubPath \u003d \"manifests/site/a\" - this functionality could also extend to extra repositories where users had global things not at the root of their repository but in some SubPath (which would require we extract the contents of SubPath into the TargetPath, vs the entire repo). I think of SubPath (or whatever is an appropriate name) meaning what directory within this repository do you want us to consider the \"root\" for this particular repo.  I think this is needed in general, not just for site.  I think we should strive for removing as much \"autogenerated magic\" as possible.","commit_id":"716e5d53fd423846802f54b8d7b82fb2e68ed98d"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"0ed59e77432fc0ac960d975a7753586b19633707","unresolved":false,"context_lines":[{"line_number":118,"context_line":"type Manifest struct {"},{"line_number":119,"context_line":"\t// PrimaryRepository is a name of the repo, that contains site/\u003csite-name\u003e directory"},{"line_number":120,"context_line":"\t// and is a starting point for building document bundle"},{"line_number":121,"context_line":"\tPrimaryRepository string `json:\"primary-repository\"`"},{"line_number":122,"context_line":"\t// ExtraRepositories is the map of extra repositories addressable by a name"},{"line_number":123,"context_line":"\tRepositories map[string]*Repository `json:\"repositories,omitempty\"`"},{"line_number":124,"context_line":"\t// TargetPath Local Target path for working or home dirctory for all Manifest Cloned/Returned/Generated"}],"source_content_type":"text/x-go","patch_set":15,"id":"1fa4df85_110e4732","line":121,"updated":"2020-03-11 18:46:23.000000000","message":"PrimaryRepositoryName ?","commit_id":"33f374636ca7075e7ab7b19eb7efec1b18a35812"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"0ed59e77432fc0ac960d975a7753586b19633707","unresolved":false,"context_lines":[{"line_number":133,"context_line":"\t// site-path. However there maybe occasions where it makes sense other repositories to hold directory"},{"line_number":134,"context_line":"\t// with sites as well. If SitePath is not set, it would be expected that directory with sites is root"},{"line_number":135,"context_line":"\t// of the primary repository"},{"line_number":136,"context_line":"\tSitePath string `json:\"site-path\"`"},{"line_number":137,"context_line":"\t// URLString for Repository"},{"line_number":138,"context_line":"\tURLString string `json:\"url\"`"},{"line_number":139,"context_line":"\t// Auth holds authentication options against remote"}],"source_content_type":"text/x-go","patch_set":15,"id":"1fa4df85_515a7f2a","line":136,"updated":"2020-03-11 18:46:23.000000000","message":"This seems very \"PrimaryRepository\" specific at least in terms of the comment.  If this is going to be a property for any Repository definition, I expect that it is the contents of *this* SubPath that are placed into target/repoName which to me is applicable to any repository where you may not want to work with the entire repo. I still think SubPath makes more sense here, as a \"SitePath\" is very Network Cloud or Treasuremap specific term.","commit_id":"33f374636ca7075e7ab7b19eb7efec1b18a35812"}],"pkg/document/bundle.go":[{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"0ed59e77432fc0ac960d975a7753586b19633707","unresolved":false,"context_lines":[{"line_number":59,"context_line":"// NewBundleByPath helper function that returns new document.Bundle interface based on clusterType and"},{"line_number":60,"context_line":"// phase, example: helpers.NewBunde(airConfig, \"ephemeral\", \"initinfra\")"},{"line_number":61,"context_line":"func NewBundleByPath(rootPath string) (Bundle, error) {"},{"line_number":62,"context_line":"\treturn NewBundle(NewDocumentFs(), rootPath, \"\")"},{"line_number":63,"context_line":"}"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"// NewBundle is a convenience function to create a new bundle"}],"source_content_type":"text/x-go","patch_set":15,"id":"1fa4df85_316ee3c9","line":62,"updated":"2020-03-11 18:46:23.000000000","message":"does providing \"\" for the kustomization.yaml path work?","commit_id":"33f374636ca7075e7ab7b19eb7efec1b18a35812"}],"pkg/document/document_test.go":[{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"0ed59e77432fc0ac960d975a7753586b19633707","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\t// alanmeadows(TODO): at some point"},{"line_number":22,"context_line":"\t// refactoring this so there isn\u0027t a reliance"},{"line_number":23,"context_line":"\t// on a bundle might be useful"},{"line_number":24,"context_line":"\tfSys :\u003d docutils.SetupTestFs(t, \"testdata\")"},{"line_number":25,"context_line":"\tbundle, err :\u003d document.NewBundle(fSys, \"/\", \"/\")"},{"line_number":26,"context_line":"\trequire.NoError(err, \"Building Bundle Failed\")"},{"line_number":27,"context_line":"\trequire.NotNil(bundle)"}],"source_content_type":"text/x-go","patch_set":15,"id":"1fa4df85_f167ebe9","line":24,"updated":"2020-03-11 18:46:23.000000000","message":"I still liked these being all part of the testutil package, as it makes it clear you are calling something specific to test helpers, vs `docutils` sort of looks like it may be available for non-test uses.  I understand you can back into that from the import above, but `testutil.something` made it very clear.","commit_id":"33f374636ca7075e7ab7b19eb7efec1b18a35812"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"8ba97781a0a4e7488ec9f744064e2b2c3610aee8","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\t// alanmeadows(TODO): at some point"},{"line_number":22,"context_line":"\t// refactoring this so there isn\u0027t a reliance"},{"line_number":23,"context_line":"\t// on a bundle might be useful"},{"line_number":24,"context_line":"\tfSys :\u003d docutils.SetupTestFs(t, \"testdata\")"},{"line_number":25,"context_line":"\tbundle, err :\u003d document.NewBundle(fSys, \"/\", \"/\")"},{"line_number":26,"context_line":"\trequire.NoError(err, \"Building Bundle Failed\")"},{"line_number":27,"context_line":"\trequire.NotNil(bundle)"}],"source_content_type":"text/x-go","patch_set":15,"id":"1fa4df85_5187df10","line":24,"in_reply_to":"1fa4df85_f167ebe9","updated":"2020-03-11 19:46:18.000000000","message":"this is needed to fix dependency cycle, addressed here: https://github.com/airshipit/airshipctl/issues/107 , i\u0027ll remove this from this commit and rebase on the one created speartely for issue 107","commit_id":"33f374636ca7075e7ab7b19eb7efec1b18a35812"}],"pkg/document/pull/pull.go":[{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"0ed59e77432fc0ac960d975a7753586b19633707","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"\t// Clone repositories"},{"line_number":31,"context_line":"\tfor name, extraRepoConfig :\u003d range currentManifest.Repositories {"},{"line_number":32,"context_line":"\t\trepository, err :\u003d repo.NewRepository(path.Join(currentManifest.TargetPath, name), extraRepoConfig)"},{"line_number":33,"context_line":"\t\tif err !\u003d nil {"},{"line_number":34,"context_line":"\t\t\treturn err"},{"line_number":35,"context_line":"\t\t}"}],"source_content_type":"text/x-go","patch_set":15,"id":"1fa4df85_9108f7d9","line":32,"updated":"2020-03-11 18:46:23.000000000","message":"Originally, we said that we wanted the checkout pattern to be very consistent within TargetPath, namely:\n  /targetPath/repo.foo.bar/\n  /targetPath/repo.baz.boo/\n\nWith this change, the checkout paths would now be arbitrary, up to the name you associate with the repository.  While this offers more flexibility, it means when you want to design a document set that will reference across repositories that you expect airshipctl to \"pull together\", you need to have your airship configuration correctly aligned.  For instance, with the old way, you would require that people refer to other repos in kustomization.yaml\u0027s as:\n\n  resources:\n  - ../repo.foo.bar/someresource\n\nbut now, you would:\n\n  resources:\n  - ../someName/someresources\n\nwhere someName needs to be aligned in both the configuration and in all the document sets, so without the \"magic\" airship config, pulling all this together wouldn\u0027t work.","commit_id":"33f374636ca7075e7ab7b19eb7efec1b18a35812"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"8ba97781a0a4e7488ec9f744064e2b2c3610aee8","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"\t// Clone repositories"},{"line_number":31,"context_line":"\tfor name, extraRepoConfig :\u003d range currentManifest.Repositories {"},{"line_number":32,"context_line":"\t\trepository, err :\u003d repo.NewRepository(path.Join(currentManifest.TargetPath, name), extraRepoConfig)"},{"line_number":33,"context_line":"\t\tif err !\u003d nil {"},{"line_number":34,"context_line":"\t\t\treturn err"},{"line_number":35,"context_line":"\t\t}"}],"source_content_type":"text/x-go","patch_set":15,"id":"1fa4df85_35f48ecf","line":32,"in_reply_to":"1fa4df85_9108f7d9","updated":"2020-03-11 19:46:18.000000000","message":"will fix this, this appears to be a bug anyway, with current implementation we will stull pull into path.Join(currentManifest.TargetPath, name) + basename(URL)","commit_id":"33f374636ca7075e7ab7b19eb7efec1b18a35812"}],"roles/airshipctl-test-configs/templates/airshipconfig.j2":[{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"0ed59e77432fc0ac960d975a7753586b19633707","unresolved":false,"context_lines":[{"line_number":22,"context_line":"          remote-ref: \"\""},{"line_number":23,"context_line":"          tag: \"\""},{"line_number":24,"context_line":"        url: {{ airship_config_primary_repo_url }}"},{"line_number":25,"context_line":"        site-path: \"site/test-bootstrap\""},{"line_number":26,"context_line":"    target-path: {{ airship_config_manifest_directory }}/manifests"},{"line_number":27,"context_line":"modules-config:"},{"line_number":28,"context_line":"  bootstrapInfo:"}],"source_content_type":"text/x-jinja2","patch_set":15,"id":"1fa4df85_b62c09ad","line":25,"updated":"2020-03-11 18:46:23.000000000","message":"I still think subpath is better terminology, site-path only has relevancy in NC/treasuremap spaces","commit_id":"33f374636ca7075e7ab7b19eb7efec1b18a35812"},{"author":{"_account_id":27715,"name":"Sean Eagan","email":"seaneagan@microsoft.com","username":"seaneagan"},"change_message_id":"6789648b8211e46f39a72d34ef08603d1931a284","unresolved":false,"context_lines":[{"line_number":22,"context_line":"          remote-ref: \"\""},{"line_number":23,"context_line":"          tag: \"\""},{"line_number":24,"context_line":"        url: {{ airship_config_primary_repo_url }}"},{"line_number":25,"context_line":"        site-path: \"site/test-bootstrap\""},{"line_number":26,"context_line":"    target-path: {{ airship_config_manifest_directory }}/manifests"},{"line_number":27,"context_line":"modules-config:"},{"line_number":28,"context_line":"  bootstrapInfo:"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"1fa4df85_7220cf9c","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":17},"updated":"2020-03-12 13:31:21.000000000","message":"sub-path?","commit_id":"fdc87061da2af0e4e4478d07d392ab24b2c7d8f3"},{"author":{"_account_id":21991,"name":"Kostyantyn Kalynovskyi","email":"kkalinovskiy@gmail.com","username":"kkalynovskyi"},"change_message_id":"ab044b187b7dcde4d06e39846265ad127696c92e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"          remote-ref: \"\""},{"line_number":23,"context_line":"          tag: \"\""},{"line_number":24,"context_line":"        url: {{ airship_config_primary_repo_url }}"},{"line_number":25,"context_line":"        site-path: \"site/test-bootstrap\""},{"line_number":26,"context_line":"    target-path: {{ airship_config_manifest_directory }}/manifests"},{"line_number":27,"context_line":"modules-config:"},{"line_number":28,"context_line":"  bootstrapInfo:"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"1fa4df85_edaaa26f","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":17},"in_reply_to":"1fa4df85_7220cf9c","updated":"2020-03-12 14:41:04.000000000","message":"Done","commit_id":"fdc87061da2af0e4e4478d07d392ab24b2c7d8f3"},{"author":{"_account_id":29624,"name":"Alexander Hughes","email":"Alexander.Hughes@pm.me","username":"alexanderhughes"},"change_message_id":"acbe30da09a522a75c94b95d115eb18a20a12fb4","unresolved":false,"context_lines":[{"line_number":23,"context_line":"          tag: \"\""},{"line_number":24,"context_line":"        url: {{ airship_config_primary_repo_url }}"},{"line_number":25,"context_line":"    ## this is temporary hack, as soon as we use `document pull` command in gate process"},{"line_number":26,"context_line":"    ## this will subpath will be airshipctl/manifests/site/test-bootstrap, as airshipctl"},{"line_number":27,"context_line":"    ## will be primary repository"},{"line_number":28,"context_line":"    sub-path: \"manifests/site/test-bootstrap\""},{"line_number":29,"context_line":"    target-path: {{ airship_config_manifest_directory }}"}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"1fa4df85_7668bab9","line":26,"range":{"start_line":26,"start_character":12,"end_line":26,"end_character":16},"updated":"2020-03-12 20:25:34.000000000","message":"nit: remove","commit_id":"147b97048bc579625c7dab7da59c5c018dd18bb6"}],"testutil/docutils/util.go":[{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"6e696615104919634bb732f471bcdb091e54abcd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"package docutils"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import ("},{"line_number":4,"context_line":"\t\"io/ioutil\""}],"source_content_type":"text/x-go","patch_set":14,"id":"1fa4df85_25e47c0c","line":1,"updated":"2020-03-10 16:26:40.000000000","message":"This is pretty small and in fact, the only item in testutils right now.  Is there a reason we need to break it out into its own package?  It was more appropriately named testutils as docutils implies it can be used outside of tests.","commit_id":"716e5d53fd423846802f54b8d7b82fb2e68ed98d"}]}
