~edwargix/git.sr.ht

f2a50861555a5fb9a179a5880e3eceeb2558e9ac — Drew DeVault 6 years ago 0357f5c
update-hook: don't crap out on new refs
1 files changed, 10 insertions(+), 8 deletions(-)

M gitsrht-update-hook/post-update.go
M gitsrht-update-hook/post-update.go => gitsrht-update-hook/post-update.go +10 -8
@@ 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
		}