From f2a50861555a5fb9a179a5880e3eceeb2558e9ac Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Fri, 22 Nov 2019 09:28:12 -0500 Subject: [PATCH] update-hook: don't crap out on new refs --- gitsrht-update-hook/post-update.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/gitsrht-update-hook/post-update.go b/gitsrht-update-hook/post-update.go index 27f4e83..f0cb2ff 100644 --- a/gitsrht-update-hook/post-update.go +++ b/gitsrht-update-hook/post-update.go @@ -174,8 +174,7 @@ func postUpdate() { } oldobj, err = repo.Object(plumbing.AnyObject, plumbing.NewHash(oldref)) if err == plumbing.ErrObjectNotFound { - logger.Printf("old object %s not found", oldref) - continue + oldobj = nil } newobj, err = repo.Object(plumbing.AnyObject, plumbing.NewHash(newref)) if err == plumbing.ErrObjectNotFound { @@ -196,11 +195,6 @@ func postUpdate() { } } - oldcommit, ok := oldobj.(*object.Commit) - if !ok { - logger.Println("Skipping non-commit old ref") - continue - } commit, ok := newobj.(*object.Commit) if !ok { logger.Println("Skipping non-commit new ref") @@ -210,10 +204,18 @@ func postUpdate() { payload.Refs[i] = UpdatedRef{ Tag: atag, Name: refname, - Old: GitCommitToWebhookCommit(oldcommit), New: GitCommitToWebhookCommit(commit), } + if oldobj != nil { + oldcommit, ok := oldobj.(*object.Commit) + if !ok { + logger.Println("Skipping non-commit old ref") + } else { + payload.Refs[i].Old = GitCommitToWebhookCommit(oldcommit) + } + } + if _, ok := oids[commit.Hash.String()]; ok { continue } -- 2.38.4