@@ -70,7 +70,7 @@ func resourceGithubBranchDefaultCreate(ctx context.Context, d *schema.ResourceDa
7070 "rename" : rename ,
7171 })
7272
73- repository , _ , err := client .Repositories .Get (ctx , owner , repoName )
73+ repository , resp , err := client .Repositories .Get (ctx , owner , repoName )
7474 if err != nil {
7575 return diag .FromErr (err )
7676 }
@@ -101,10 +101,15 @@ func resourceGithubBranchDefaultCreate(ctx context.Context, d *schema.ResourceDa
101101
102102 d .SetId (repoName )
103103
104+ if err := d .Set ("etag" , resp .Header .Get ("ETag" )); err != nil {
105+ return diag .FromErr (err )
106+ }
107+
104108 tflog .Trace (ctx , "Finished creating default branch resource" , map [string ]any {
105109 "resource_id" : d .Id (),
106110 })
107- return resourceGithubBranchDefaultRead (ctx , d , meta )
111+
112+ return nil
108113}
109114
110115func resourceGithubBranchDefaultRead (ctx context.Context , d * schema.ResourceData , m any ) diag.Diagnostics {
@@ -183,12 +188,15 @@ func resourceGithubBranchDefaultUpdate(ctx context.Context, d *schema.ResourceDa
183188 "rename" : rename ,
184189 })
185190
191+ var etag string
192+
186193 if rename {
187194 tflog .Debug (ctx , "Renaming branch to new default" )
188- repository , _ , err := client .Repositories .Get (ctx , owner , repoName )
195+ repository , resp , err := client .Repositories .Get (ctx , owner , repoName )
189196 if err != nil {
190197 return diag .FromErr (err )
191198 }
199+ etag = resp .Header .Get ("ETag" )
192200 if _ , _ , err := client .Repositories .RenameBranch (ctx , owner , repoName , repository .GetDefaultBranch (), defaultBranch ); err != nil {
193201 return diag .FromErr (err )
194202 }
@@ -198,13 +206,18 @@ func resourceGithubBranchDefaultUpdate(ctx context.Context, d *schema.ResourceDa
198206 DefaultBranch : github .Ptr (defaultBranch ),
199207 }
200208
201- if _ , _ , err := client .Repositories .Edit (ctx , owner , repoName , repository ); err != nil {
209+ if _ , resp , err := client .Repositories .Edit (ctx , owner , repoName , repository ); err != nil {
202210 return diag .FromErr (err )
211+ } else {
212+ etag = resp .Header .Get ("ETag" )
203213 }
204214 }
215+ if err := d .Set ("etag" , etag ); err != nil {
216+ return diag .FromErr (err )
217+ }
205218
206219 tflog .Trace (ctx , "Finished updating default branch resource" )
207- return resourceGithubBranchDefaultRead ( ctx , d , meta )
220+ return nil
208221}
209222
210223func resourceGithubBranchDefaultDelete (ctx context.Context , d * schema.ResourceData , m any ) diag.Diagnostics {
0 commit comments