Repository: google/go-github
Pull request #2389 (2022-06-18 08:04:41)

Add MembersCanForkPrivateRepositories field to Organization struct
This PR adds `MembersCanForkPrivateRepositories` field to `Organization` struct.

google-cla[bot]: Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this [failed invocation](https://github.com/google/go-github/pull/2389/checks?check_run_id=6946834104) of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.
codecov[bot]: # [Codecov](https://codecov.io/gh/google/go-github/pull/2389?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google) Report
> Merging [#2389](https://codecov.io/gh/google/go-github/pull/2389?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google) (4fc5328) into [master](https://codecov.io/gh/google/go-github/commit/697804fa0c8abebdfaa79ae8e7393d03de6ab86f?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google) (697804f) will **not change** coverage.
> The diff coverage is `n/a`.

```diff
@@           Coverage Diff           @@
##           master    #2389   +/-   ##
=======================================
  Coverage   98.06%   98.06%           
=======================================
  Files         119      119           
  Lines       10545    10545           
=======================================
  Hits        10341    10341           
  Misses        140      140           
  Partials       64       64           
```


| [Impacted Files](https://codecov.io/gh/google/go-github/pull/2389?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google) | Coverage Δ | |
|---|---|---|
| [github/orgs.go](https://codecov.io/gh/google/go-github/pull/2389/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google#diff-Z2l0aHViL29yZ3MuZ28=) | `96.90% <ø> (ø)` | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/google/go-github/pull/2389?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/google/go-github/pull/2389?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google). Last update [697804f...4fc5328](https://codecov.io/gh/google/go-github/pull/2389?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google).


Patch:
diff --git a/github/github-accessors.go b/github/github-accessors.go
index 6131fad9..0092c588 100644
--- a/github/github-accessors.go
+++ b/github/github-accessors.go
@@ -9622,6 +9622,14 @@ func (o *Organization) GetMembersCanCreateRepos() bool {
 	return *o.MembersCanCreateRepos
 }
 
+// GetMembersCanForkPrivateRepos returns the MembersCanForkPrivateRepos field if it's non-nil, zero value otherwise.
+func (o *Organization) GetMembersCanForkPrivateRepos() bool {
+	if o == nil || o.MembersCanForkPrivateRepos == nil {
+		return false
+	}
+	return *o.MembersCanForkPrivateRepos
+}
+
 // GetMembersURL returns the MembersURL field if it's non-nil, zero value otherwise.
 func (o *Organization) GetMembersURL() string {
 	if o == nil || o.MembersURL == nil {
@@ -14822,6 +14830,14 @@ func (r *Repository) GetURL() string {
 	return *r.URL
 }
 
+// GetUseSquashPRTitleAsDefault returns the UseSquashPRTitleAsDefault field if it's non-nil, zero value otherwise.
+func (r *Repository) GetUseSquashPRTitleAsDefault() bool {
+	if r == nil || r.UseSquashPRTitleAsDefault == nil {
+		return false
+	}
+	return *r.UseSquashPRTitleAsDefault
+}
+
 // GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.
 func (r *Repository) GetVisibility() string {
 	if r == nil || r.Visibility == nil {
diff --git a/github/orgs.go b/github/orgs.go
index 80979db3..26b55c62 100644
--- a/github/orgs.go
+++ b/github/orgs.go
@@ -65,6 +65,9 @@ type Organization struct {
 	MembersCanCreatePrivateRepos  *bool `json:"members_can_create_private_repositories,omitempty"`
 	MembersCanCreateInternalRepos *bool `json:"members_can_create_internal_repositories,omitempty"`
 
+	// MembersCanForkPrivateRepos toggles whether organization members can fork private organization repositories.
+	MembersCanForkPrivateRepos *bool `json:"members_can_fork_private_repositories,omitempty"`
+
 	// MembersAllowedRepositoryCreationType denotes if organization members can create repositories
 	// and the type of repositories they can create. Possible values are: "all", "private", or "none".
 	//
diff --git a/github/repos.go b/github/repos.go
index c9bbe5a7..a5f7fc6c 100644
--- a/github/repos.go
+++ b/github/repos.go
@@ -26,52 +26,53 @@ type RepositoriesService service
 
 // Repository represents a GitHub repository.
 type Repository struct {
-	ID                  *int64          `json:"id,omitempty"`
-	NodeID              *string         `json:"node_id,omitempty"`
-	Owner               *User           `json:"owner,omitempty"`
-	Name                *string         `json:"name,omitempty"`
-	FullName            *string         `json:"full_name,omitempty"`
-	Description         *string         `json:"description,omitempty"`
-	Homepage            *string         `json:"homepage,omitempty"`
-	CodeOfConduct       *CodeOfConduct  `json:"code_of_conduct,omitempty"`
-	DefaultBranch       *string         `json:"default_branch,omitempty"`
-	MasterBranch        *string         `json:"master_branch,omitempty"`
-	CreatedAt           *Timestamp      `json:"created_at,omitempty"`
-	PushedAt            *Timestamp      `json:"pushed_at,omitempty"`
-	UpdatedAt           *Timestamp      `json:"updated_at,omitempty"`
-	HTMLURL             *string         `json:"html_url,omitempty"`
-	CloneURL            *string         `json:"clone_url,omitempty"`
-	GitURL              *string         `json:"git_url,omitempty"`
-	MirrorURL           *string         `json:"mirror_url,omitempty"`
-	SSHURL              *string         `json:"ssh_url,omitempty"`
-	SVNURL              *string         `json:"svn_url,omitempty"`
-	Language            *string         `json:"language,omitempty"`
-	Fork                *bool           `json:"fork,omitempty"`
-	ForksCount          *int            `json:"forks_count,omitempty"`
-	NetworkCount        *int            `json:"network_count,omitempty"`
-	OpenIssuesCount     *int            `json:"open_issues_count,omitempty"`
-	OpenIssues          *int            `json:"open_issues,omitempty"` // Deprecated: Replaced by OpenIssuesCount. For backward compatibility OpenIssues is still populated.
-	StargazersCount     *int            `json:"stargazers_count,omitempty"`
-	SubscribersCount    *int            `json:"subscribers_count,omitempty"`
-	WatchersCount       *int            `json:"watchers_count,omitempty"` // Deprecated: Replaced by StargazersCount. For backward compatibility WatchersCount is still populated.
-	Watchers            *int            `json:"watchers,omitempty"`       // Deprecated: Replaced by StargazersCount. For backward compatibility Watchers is still populated.
-	Size                *int            `json:"size,omitempty"`
-	AutoInit            *bool           `json:"auto_init,omitempty"`
-	Parent              *Repository     `json:"parent,omitempty"`
-	Source              *Repository     `json:"source,omitempty"`
-	TemplateRepository  *Repository     `json:"template_repository,omitempty"`
-	Organization        *Organization   `json:"organization,omitempty"`
-	Permissions         map[string]bool `json:"permissions,omitempty"`
-	AllowRebaseMerge    *bool           `json:"allow_rebase_merge,omitempty"`
-	AllowUpdateBranch   *bool           `json:"allow_update_branch,omitempty"`
-	AllowSquashMerge    *bool           `json:"allow_squash_merge,omitempty"`
-	AllowMergeCommit    *bool           `json:"allow_merge_commit,omitempty"`
-	AllowAutoMerge      *bool           `json:"allow_auto_merge,omitempty"`
-	AllowForking        *bool           `json:"allow_forking,omitempty"`
-	DeleteBranchOnMerge *bool           `json:"delete_branch_on_merge,omitempty"`
-	Topics              []string        `json:"topics,omitempty"`
-	Archived            *bool           `json:"archived,omitempty"`
-	Disabled            *bool           `json:"disabled,omitempty"`
+	ID                        *int64          `json:"id,omitempty"`
+	NodeID                    *string         `json:"node_id,omitempty"`
+	Owner                     *User           `json:"owner,omitempty"`
+	Name                      *string         `json:"name,omitempty"`
+	FullName                  *string         `json:"full_name,omitempty"`
+	Description               *string         `json:"description,omitempty"`
+	Homepage                  *string         `json:"homepage,omitempty"`
+	CodeOfConduct             *CodeOfConduct  `json:"code_of_conduct,omitempty"`
+	DefaultBranch             *string         `json:"default_branch,omitempty"`
+	MasterBranch              *string         `json:"master_branch,omitempty"`
+	CreatedAt                 *Timestamp      `json:"created_at,omitempty"`
+	PushedAt                  *Timestamp      `json:"pushed_at,omitempty"`
+	UpdatedAt                 *Timestamp      `json:"updated_at,omitempty"`
+	HTMLURL                   *string         `json:"html_url,omitempty"`
+	CloneURL                  *string         `json:"clone_url,omitempty"`
+	GitURL                    *string         `json:"git_url,omitempty"`
+	MirrorURL                 *string         `json:"mirror_url,omitempty"`
+	SSHURL                    *string         `json:"ssh_url,omitempty"`
+	SVNURL                    *string         `json:"svn_url,omitempty"`
+	Language                  *string         `json:"language,omitempty"`
+	Fork                      *bool           `json:"fork,omitempty"`
+	ForksCount                *int            `json:"forks_count,omitempty"`
+	NetworkCount              *int            `json:"network_count,omitempty"`
+	OpenIssuesCount           *int            `json:"open_issues_count,omitempty"`
+	OpenIssues                *int            `json:"open_issues,omitempty"` // Deprecated: Replaced by OpenIssuesCount. For backward compatibility OpenIssues is still populated.
+	StargazersCount           *int            `json:"stargazers_count,omitempty"`
+	SubscribersCount          *int            `json:"subscribers_count,omitempty"`
+	WatchersCount             *int            `json:"watchers_count,omitempty"` // Deprecated: Replaced by StargazersCount. For backward compatibility WatchersCount is still populated.
+	Watchers                  *int            `json:"watchers,omitempty"`       // Deprecated: Replaced by StargazersCount. For backward compatibility Watchers is still populated.
+	Size                      *int            `json:"size,omitempty"`
+	AutoInit                  *bool           `json:"auto_init,omitempty"`
+	Parent                    *Repository     `json:"parent,omitempty"`
+	Source                    *Repository     `json:"source,omitempty"`
+	TemplateRepository        *Repository     `json:"template_repository,omitempty"`
+	Organization              *Organization   `json:"organization,omitempty"`
+	Permissions               map[string]bool `json:"permissions,omitempty"`
+	AllowRebaseMerge          *bool           `json:"allow_rebase_merge,omitempty"`
+	AllowUpdateBranch         *bool           `json:"allow_update_branch,omitempty"`
+	AllowSquashMerge          *bool           `json:"allow_squash_merge,omitempty"`
+	AllowMergeCommit          *bool           `json:"allow_merge_commit,omitempty"`
+	AllowAutoMerge            *bool           `json:"allow_auto_merge,omitempty"`
+	AllowForking              *bool           `json:"allow_forking,omitempty"`
+	DeleteBranchOnMerge       *bool           `json:"delete_branch_on_merge,omitempty"`
+	UseSquashPRTitleAsDefault *bool           `json:"use_squash_pr_title_as_default,omitempty"`
+	Topics                    []string        `json:"topics,omitempty"`
+	Archived                  *bool           `json:"archived,omitempty"`
+	Disabled                  *bool           `json:"disabled,omitempty"`
 
 	// Only provided when using RepositoriesService.Get while in preview
 	License *License `json:"license,omitempty"`
@@ -362,16 +363,17 @@ type createRepoRequest struct {
 	// Creating an organization repository. Required for non-owners.
 	TeamID *int64 `json:"team_id,omitempty"`
 
-	AutoInit            *bool   `json:"auto_init,omitempty"`
-	GitignoreTemplate   *string `json:"gitignore_template,omitempty"`
-	LicenseTemplate     *string `json:"license_template,omitempty"`
-	AllowSquashMerge    *bool   `json:"allow_squash_merge,omitempty"`
-	AllowMergeCommit    *bool   `json:"allow_merge_commit,omitempty"`
-	AllowRebaseMerge    *bool   `json:"allow_rebase_merge,omitempty"`
-	AllowUpdateBranch   *bool   `json:"allow_update_branch,omitempty"`
-	AllowAutoMerge      *bool   `json:"allow_auto_merge,omitempty"`
-	AllowForking        *bool   `json:"allow_forking,omitempty"`
-	DeleteBranchOnMerge *bool   `json:"delete_branch_on_merge,omitempty"`
+	AutoInit                  *bool   `json:"auto_init,omitempty"`
+	GitignoreTemplate         *string `json:"gitignore_template,omitempty"`
+	LicenseTemplate           *string `json:"license_template,omitempty"`
+	AllowSquashMerge          *bool   `json:"allow_squash_merge,omitempty"`
+	AllowMergeCommit          *bool   `json:"allow_merge_commit,omitempty"`
+	AllowRebaseMerge          *bool   `json:"allow_rebase_merge,omitempty"`
+	AllowUpdateBranch         *bool   `json:"allow_update_branch,omitempty"`
+	AllowAutoMerge            *bool   `json:"allow_auto_merge,omitempty"`
+	AllowForking              *bool   `json:"allow_forking,omitempty"`
+	DeleteBranchOnMerge       *bool   `json:"delete_branch_on_merge,omitempty"`
+	UseSquashPRTitleAsDefault *bool   `json:"use_squash_pr_title_as_default,omitempty"`
 }
 
 // Create a new repository. If an organization is specified, the new
@@ -397,26 +399,27 @@ func (s *RepositoriesService) Create(ctx context.Context, org string, repo *Repo
 	}
 
 	repoReq := &createRepoRequest{
-		Name:                repo.Name,
-		Description:         repo.Description,
-		Homepage:            repo.Homepage,
-		Private:             repo.Private,
-		Visibility:          repo.Visibility,
-		HasIssues:           repo.HasIssues,
-		HasProjects:         repo.HasProjects,
-		HasWiki:             repo.HasWiki,
-		IsTemplate:          repo.IsTemplate,
-		TeamID:              repo.TeamID,
-		AutoInit:            repo.AutoInit,
-		GitignoreTemplate:   repo.GitignoreTemplate,
-		LicenseTemplate:     repo.LicenseTemplate,
-		AllowSquashMerge:    repo.AllowSquashMerge,
-		AllowMergeCommit:    repo.AllowMergeCommit,
-		AllowRebaseMerge:    repo.AllowRebaseMerge,
-		AllowUpdateBranch:   repo.AllowUpdateBranch,
-		AllowAutoMerge:      repo.AllowAutoMerge,
-		AllowForking:        repo.AllowForking,
-		DeleteBranchOnMerge: repo.DeleteBranchOnMerge,
+		Name:                      repo.Name,
+		Description:               repo.Description,
+		Homepage:                  repo.Homepage,
+		Private:                   repo.Private,
+		Visibility:                repo.Visibility,
+		HasIssues:                 repo.HasIssues,
+		HasProjects:               repo.HasProjects,
+		HasWiki:                   repo.HasWiki,
+		IsTemplate:                repo.IsTemplate,
+		TeamID:                    repo.TeamID,
+		AutoInit:                  repo.AutoInit,
+		GitignoreTemplate:         repo.GitignoreTemplate,
+		LicenseTemplate:           repo.LicenseTemplate,
+		AllowSquashMerge:          repo.AllowSquashMerge,
+		AllowMergeCommit:          repo.AllowMergeCommit,
+		AllowRebaseMerge:          repo.AllowRebaseMerge,
+		AllowUpdateBranch:         repo.AllowUpdateBranch,
+		AllowAutoMerge:            repo.AllowAutoMerge,
+		AllowForking:              repo.AllowForking,
+		DeleteBranchOnMerge:       repo.DeleteBranchOnMerge,
+		UseSquashPRTitleAsDefault: repo.UseSquashPRTitleAsDefault,
 	}
 
 	req, err := s.client.NewRequest("POST", u, repoReq)


Test patch:
diff --git a/github/github-accessors_test.go b/github/github-accessors_test.go
index 27ad0c81..bf5008f5 100644
--- a/github/github-accessors_test.go
+++ b/github/github-accessors_test.go
@@ -11281,6 +11281,16 @@ func TestOrganization_GetMembersCanCreateRepos(tt *testing.T) {
 	o.GetMembersCanCreateRepos()
 }
 
+func TestOrganization_GetMembersCanForkPrivateRepos(tt *testing.T) {
+	var zeroValue bool
+	o := &Organization{MembersCanForkPrivateRepos: &zeroValue}
+	o.GetMembersCanForkPrivateRepos()
+	o = &Organization{}
+	o.GetMembersCanForkPrivateRepos()
+	o = nil
+	o.GetMembersCanForkPrivateRepos()
+}
+
 func TestOrganization_GetMembersURL(tt *testing.T) {
 	var zeroValue string
 	o := &Organization{MembersURL: &zeroValue}
@@ -17268,6 +17278,16 @@ func TestRepository_GetURL(tt *testing.T) {
 	r.GetURL()
 }
 
+func TestRepository_GetUseSquashPRTitleAsDefault(tt *testing.T) {
+	var zeroValue bool
+	r := &Repository{UseSquashPRTitleAsDefault: &zeroValue}
+	r.GetUseSquashPRTitleAsDefault()
+	r = &Repository{}
+	r.GetUseSquashPRTitleAsDefault()
+	r = nil
+	r.GetUseSquashPRTitleAsDefault()
+}
+
 func TestRepository_GetVisibility(tt *testing.T) {
 	var zeroValue string
 	r := &Repository{Visibility: &zeroValue}
diff --git a/github/github-stringify_test.go b/github/github-stringify_test.go
index fa7599d3..d056c680 100644
--- a/github/github-stringify_test.go
+++ b/github/github-stringify_test.go
@@ -992,6 +992,7 @@ func TestOrganization_String(t *testing.T) {
 		MembersCanCreatePublicRepos:          Bool(false),
 		MembersCanCreatePrivateRepos:         Bool(false),
 		MembersCanCreateInternalRepos:        Bool(false),
+		MembersCanForkPrivateRepos:           Bool(false),
 		MembersAllowedRepositoryCreationType: String(""),
 		MembersCanCreatePages:                Bool(false),
 		MembersCanCreatePublicPages:          Bool(false),
@@ -1004,7 +1005,7 @@ func TestOrganization_String(t *testing.T) {
 		PublicMembersURL:                     String(""),
 		ReposURL:                             String(""),
 	}
-	want := `github.Organization{Login:"", ID:0, NodeID:"", AvatarURL:"", HTMLURL:"", Name:"", Company:"", Blog:"", Location:"", Email:"", TwitterUsername:"", Description:"", PublicRepos:0, PublicGists:0, Followers:0, Following:0, TotalPrivateRepos:0, OwnedPrivateRepos:0, PrivateGists:0, DiskUsage:0, Collaborators:0, BillingEmail:"", Type:"", Plan:github.Plan{}, TwoFactorRequirementEnabled:false, IsVerified:false, HasOrganizationProjects:false, HasRepositoryProjects:false, DefaultRepoPermission:"", DefaultRepoSettings:"", MembersCanCreateRepos:false, MembersCanCreatePublicRepos:false, MembersCanCreatePrivateRepos:false, MembersCanCreateInternalRepos:false, MembersAllowedRepositoryCreationType:"", MembersCanCreatePages:false, MembersCanCreatePublicPages:false, MembersCanCreatePrivatePages:false, URL:"", EventsURL:"", HooksURL:"", IssuesURL:"", MembersURL:"", PublicMembersURL:"", ReposURL:""}`
+	want := `github.Organization{Login:"", ID:0, NodeID:"", AvatarURL:"", HTMLURL:"", Name:"", Company:"", Blog:"", Location:"", Email:"", TwitterUsername:"", Description:"", PublicRepos:0, PublicGists:0, Followers:0, Following:0, TotalPrivateRepos:0, OwnedPrivateRepos:0, PrivateGists:0, DiskUsage:0, Collaborators:0, BillingEmail:"", Type:"", Plan:github.Plan{}, TwoFactorRequirementEnabled:false, IsVerified:false, HasOrganizationProjects:false, HasRepositoryProjects:false, DefaultRepoPermission:"", DefaultRepoSettings:"", MembersCanCreateRepos:false, MembersCanCreatePublicRepos:false, MembersCanCreatePrivateRepos:false, MembersCanCreateInternalRepos:false, MembersCanForkPrivateRepos:false, MembersAllowedRepositoryCreationType:"", MembersCanCreatePages:false, MembersCanCreatePublicPages:false, MembersCanCreatePrivatePages:false, URL:"", EventsURL:"", HooksURL:"", IssuesURL:"", MembersURL:"", PublicMembersURL:"", ReposURL:""}`
 	if got := v.String(); got != want {
 		t.Errorf("Organization.String = %v, want %v", got, want)
 	}
@@ -1480,104 +1481,105 @@ func TestRepoStatus_String(t *testing.T) {
 
 func TestRepository_String(t *testing.T) {
 	v := Repository{
-		ID:                  Int64(0),
-		NodeID:              String(""),
-		Owner:               &User{},
-		Name:                String(""),
-		FullName:            String(""),
-		Description:         String(""),
-		Homepage:            String(""),
-		CodeOfConduct:       &CodeOfConduct{},
-		DefaultBranch:       String(""),
-		MasterBranch:        String(""),
-		CreatedAt:           &Timestamp{},
-		PushedAt:            &Timestamp{},
-		UpdatedAt:           &Timestamp{},
-		HTMLURL:             String(""),
-		CloneURL:            String(""),
-		GitURL:              String(""),
-		MirrorURL:           String(""),
-		SSHURL:              String(""),
-		SVNURL:              String(""),
-		Language:            String(""),
-		Fork:                Bool(false),
-		ForksCount:          Int(0),
-		NetworkCount:        Int(0),
-		OpenIssuesCount:     Int(0),
-		OpenIssues:          Int(0),
-		StargazersCount:     Int(0),
-		SubscribersCount:    Int(0),
-		WatchersCount:       Int(0),
-		Watchers:            Int(0),
-		Size:                Int(0),
-		AutoInit:            Bool(false),
-		Parent:              &Repository{},
-		Source:              &Repository{},
-		TemplateRepository:  &Repository{},
-		Organization:        &Organization{},
-		AllowRebaseMerge:    Bool(false),
-		AllowUpdateBranch:   Bool(false),
-		AllowSquashMerge:    Bool(false),
-		AllowMergeCommit:    Bool(false),
-		AllowAutoMerge:      Bool(false),
-		AllowForking:        Bool(false),
-		DeleteBranchOnMerge: Bool(false),
-		Topics:              []string{""},
-		Archived:            Bool(false),
-		Disabled:            Bool(false),
-		License:             &License{},
-		Private:             Bool(false),
-		HasIssues:           Bool(false),
-		HasWiki:             Bool(false),
-		HasPages:            Bool(false),
-		HasProjects:         Bool(false),
-		HasDownloads:        Bool(false),
-		IsTemplate:          Bool(false),
-		LicenseTemplate:     String(""),
-		GitignoreTemplate:   String(""),
-		SecurityAndAnalysis: &SecurityAndAnalysis{},
-		TeamID:              Int64(0),
-		URL:                 String(""),
-		ArchiveURL:          String(""),
-		AssigneesURL:        String(""),
-		BlobsURL:            String(""),
-		BranchesURL:         String(""),
-		CollaboratorsURL:    String(""),
-		CommentsURL:         String(""),
-		CommitsURL:          String(""),
-		CompareURL:          String(""),
-		ContentsURL:         String(""),
-		ContributorsURL:     String(""),
-		DeploymentsURL:      String(""),
-		DownloadsURL:        String(""),
-		EventsURL:           String(""),
-		ForksURL:            String(""),
-		GitCommitsURL:       String(""),
-		GitRefsURL:          String(""),
-		GitTagsURL:          String(""),
-		HooksURL:            String(""),
-		IssueCommentURL:     String(""),
-		IssueEventsURL:      String(""),
-		IssuesURL:           String(""),
-		KeysURL:             String(""),
-		LabelsURL:           String(""),
-		LanguagesURL:        String(""),
-		MergesURL:           String(""),
-		MilestonesURL:       String(""),
-		NotificationsURL:    String(""),
-		PullsURL:            String(""),
-		ReleasesURL:         String(""),
-		StargazersURL:       String(""),
-		StatusesURL:         String(""),
-		SubscribersURL:      String(""),
-		SubscriptionURL:     String(""),
-		TagsURL:             String(""),
-		TreesURL:            String(""),
-		TeamsURL:            String(""),
-		Visibility:          String(""),
-		RoleName:            String(""),
-	}
-	want := `github.Repository{ID:0, NodeID:"", Owner:github.User{}, Name:"", FullName:"", Description:"", Homepage:"", CodeOfConduct:github.CodeOfConduct{}, DefaultBranch:"", MasterBranch:"", CreatedAt:github.Timestamp{0001-01-01 00:00:00 +0000 UTC}, PushedAt:github.Timestamp{0001-01-01 00:00:00 +0000 UTC}, UpdatedAt:github.Timestamp{0001-01-01 00:00:00 +0000 UTC}, HTMLURL:"", CloneURL:"", GitURL:"", MirrorURL:"", SSHURL:"", SVNURL:"", Language:"", Fork:false, ForksCount:0, NetworkCount:0, OpenIssuesCount:0, OpenIssues:0, StargazersCount:0, SubscribersCount:0, WatchersCount:0, Watchers:0, Size:0, AutoInit:false, Parent:github.Repository{}, Source:github.Repository{}, TemplateRepository:github.Repository{}, Organization:github.Organization{}, AllowRebaseMerge:false, AllowUpdateBranch:false, AllowSquashMerge:false, AllowMergeCommit:false, AllowAutoMerge:false, AllowForking:false, DeleteBranchOnMerge:false, Topics:[""], Archived:false, Disabled:false, License:github.License{}, Private:false, HasIssues:false, HasWiki:false, HasPages:false, HasProjects:false, HasDownloads:false, IsTemplate:false, LicenseTemplate:"", GitignoreTemplate:"", SecurityAndAnalysis:github.SecurityAndAnalysis{}, TeamID:0, URL:"", ArchiveURL:"", AssigneesURL:"", BlobsURL:"", BranchesURL:"", CollaboratorsURL:"", CommentsURL:"", CommitsURL:"", CompareURL:"", ContentsURL:"", ContributorsURL:"", DeploymentsURL:"", DownloadsURL:"", EventsURL:"", ForksURL:"", GitCommitsURL:"", GitRefsURL:"", GitTagsURL:"", HooksURL:"", IssueCommentURL:"", IssueEventsURL:"", IssuesURL:"", KeysURL:"", LabelsURL:"", LanguagesURL:"", MergesURL:"", MilestonesURL:"", NotificationsURL:"", PullsURL:"", ReleasesURL:"", StargazersURL:"", StatusesURL:"", SubscribersURL:"", SubscriptionURL:"", TagsURL:"", TreesURL:"", TeamsURL:"", Visibility:"", RoleName:""}`
+		ID:                        Int64(0),
+		NodeID:                    String(""),
+		Owner:                     &User{},
+		Name:                      String(""),
+		FullName:                  String(""),
+		Description:               String(""),
+		Homepage:                  String(""),
+		CodeOfConduct:             &CodeOfConduct{},
+		DefaultBranch:             String(""),
+		MasterBranch:              String(""),
+		CreatedAt:                 &Timestamp{},
+		PushedAt:                  &Timestamp{},
+		UpdatedAt:                 &Timestamp{},
+		HTMLURL:                   String(""),
+		CloneURL:                  String(""),
+		GitURL:                    String(""),
+		MirrorURL:                 String(""),
+		SSHURL:                    String(""),
+		SVNURL:                    String(""),
+		Language:                  String(""),
+		Fork:                      Bool(false),
+		ForksCount:                Int(0),
+		NetworkCount:              Int(0),
+		OpenIssuesCount:           Int(0),
+		OpenIssues:                Int(0),
+		StargazersCount:           Int(0),
+		SubscribersCount:          Int(0),
+		WatchersCount:             Int(0),
+		Watchers:                  Int(0),
+		Size:                      Int(0),
+		AutoInit:                  Bool(false),
+		Parent:                    &Repository{},
+		Source:                    &Repository{},
+		TemplateRepository:        &Repository{},
+		Organization:              &Organization{},
+		AllowRebaseMerge:          Bool(false),
+		AllowUpdateBranch:         Bool(false),
+		AllowSquashMerge:          Bool(false),
+		AllowMergeCommit:          Bool(false),
+		AllowAutoMerge:            Bool(false),
+		AllowForking:              Bool(false),
+		DeleteBranchOnMerge:       Bool(false),
+		UseSquashPRTitleAsDefault: Bool(false),
+		Topics:                    []string{""},
+		Archived:                  Bool(false),
+		Disabled:                  Bool(false),
+		License:                   &License{},
+		Private:                   Bool(false),
+		HasIssues:                 Bool(false),
+		HasWiki:                   Bool(false),
+		HasPages:                  Bool(false),
+		HasProjects:               Bool(false),
+		HasDownloads:              Bool(false),
+		IsTemplate:                Bool(false),
+		LicenseTemplate:           String(""),
+		GitignoreTemplate:         String(""),
+		SecurityAndAnalysis:       &SecurityAndAnalysis{},
+		TeamID:                    Int64(0),
+		URL:                       String(""),
+		ArchiveURL:                String(""),
+		AssigneesURL:              String(""),
+		BlobsURL:                  String(""),
+		BranchesURL:               String(""),
+		CollaboratorsURL:          String(""),
+		CommentsURL:               String(""),
+		CommitsURL:                String(""),
+		CompareURL:                String(""),
+		ContentsURL:               String(""),
+		ContributorsURL:           String(""),
+		DeploymentsURL:            String(""),
+		DownloadsURL:              String(""),
+		EventsURL:                 String(""),
+		ForksURL:                  String(""),
+		GitCommitsURL:             String(""),
+		GitRefsURL:                String(""),
+		GitTagsURL:                String(""),
+		HooksURL:                  String(""),
+		IssueCommentURL:           String(""),
+		IssueEventsURL:            String(""),
+		IssuesURL:                 String(""),
+		KeysURL:                   String(""),
+		LabelsURL:                 String(""),
+		LanguagesURL:              String(""),
+		MergesURL:                 String(""),
+		MilestonesURL:             String(""),
+		NotificationsURL:          String(""),
+		PullsURL:                  String(""),
+		ReleasesURL:               String(""),
+		StargazersURL:             String(""),
+		StatusesURL:               String(""),
+		SubscribersURL:            String(""),
+		SubscriptionURL:           String(""),
+		TagsURL:                   String(""),
+		TreesURL:                  String(""),
+		TeamsURL:                  String(""),
+		Visibility:                String(""),
+		RoleName:                  String(""),
+	}
+	want := `github.Repository{ID:0, NodeID:"", Owner:github.User{}, Name:"", FullName:"", Description:"", Homepage:"", CodeOfConduct:github.CodeOfConduct{}, DefaultBranch:"", MasterBranch:"", CreatedAt:github.Timestamp{0001-01-01 00:00:00 +0000 UTC}, PushedAt:github.Timestamp{0001-01-01 00:00:00 +0000 UTC}, UpdatedAt:github.Timestamp{0001-01-01 00:00:00 +0000 UTC}, HTMLURL:"", CloneURL:"", GitURL:"", MirrorURL:"", SSHURL:"", SVNURL:"", Language:"", Fork:false, ForksCount:0, NetworkCount:0, OpenIssuesCount:0, OpenIssues:0, StargazersCount:0, SubscribersCount:0, WatchersCount:0, Watchers:0, Size:0, AutoInit:false, Parent:github.Repository{}, Source:github.Repository{}, TemplateRepository:github.Repository{}, Organization:github.Organization{}, AllowRebaseMerge:false, AllowUpdateBranch:false, AllowSquashMerge:false, AllowMergeCommit:false, AllowAutoMerge:false, AllowForking:false, DeleteBranchOnMerge:false, UseSquashPRTitleAsDefault:false, Topics:[""], Archived:false, Disabled:false, License:github.License{}, Private:false, HasIssues:false, HasWiki:false, HasPages:false, HasProjects:false, HasDownloads:false, IsTemplate:false, LicenseTemplate:"", GitignoreTemplate:"", SecurityAndAnalysis:github.SecurityAndAnalysis{}, TeamID:0, URL:"", ArchiveURL:"", AssigneesURL:"", BlobsURL:"", BranchesURL:"", CollaboratorsURL:"", CommentsURL:"", CommitsURL:"", CompareURL:"", ContentsURL:"", ContributorsURL:"", DeploymentsURL:"", DownloadsURL:"", EventsURL:"", ForksURL:"", GitCommitsURL:"", GitRefsURL:"", GitTagsURL:"", HooksURL:"", IssueCommentURL:"", IssueEventsURL:"", IssuesURL:"", KeysURL:"", LabelsURL:"", LanguagesURL:"", MergesURL:"", MilestonesURL:"", NotificationsURL:"", PullsURL:"", ReleasesURL:"", StargazersURL:"", StatusesURL:"", SubscribersURL:"", SubscriptionURL:"", TagsURL:"", TreesURL:"", TeamsURL:"", Visibility:"", RoleName:""}`
 	if got := v.String(); got != want {
 		t.Errorf("Repository.String = %v, want %v", got, want)
 	}