mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
2978 files. The fork is 2026-07-15 (rebrand: gitea.dev -> github.com/hanzoai/git), so 2026 is the year, and "Copyright 2026 Hanzo AI, Inc." was already the form used by the handful of files that had ours. Shape is now: // Copyright 2026 Hanzo AI, Inc. All rights reserved. // Copyright 2015 The Gogs Authors. All rights reserved. // Copyright 2019 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT Ours on top, theirs retained verbatim. Retained because MIT requires it, and separately because they are true — those authors did write that code. Not renamed to "The Git Authors": Git is a different project under a different license, and putting its name here would attribute this code to people who have nothing to do with it. Adding our line is the fix; overwriting theirs would have been both a licence violation and a false statement. gofmt still reports import-order drift in some of these files. It predates this change (verified against a stash) and is left alone rather than burying a one-line-per-file legal change under 3000 files of unrelated reordering. Build clean. Co-authored-by: Hanzo Dev <[email protected]>
78 lines
1.8 KiB
Go
78 lines
1.8 KiB
Go
// Copyright 2026 Hanzo AI, Inc. All rights reserved.
|
|
// Copyright 2024 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package repository
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/hanzoai/git/modules/git"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func Test_calcSync(t *testing.T) {
|
|
gitTags := []*git.Tag{
|
|
/*{
|
|
Name: "v0.1.0-beta", //deleted tag
|
|
Object: git.MustIDFromString(""),
|
|
},
|
|
{
|
|
Name: "v0.1.1-beta", //deleted tag but release should not be deleted because it's a release
|
|
Object: git.MustIDFromString(""),
|
|
},
|
|
*/
|
|
{
|
|
Name: "v1.0.0", // keep as before
|
|
Object: git.MustIDFromString("1006e6e13c73ad3d9e2d5682ad266b5016523485"),
|
|
},
|
|
{
|
|
Name: "v1.1.0", // retagged with new commit id
|
|
Object: git.MustIDFromString("bbdb7df30248e7d4a26a909c8d2598a152e13868"),
|
|
},
|
|
{
|
|
Name: "v1.2.0", // new tag
|
|
Object: git.MustIDFromString("a5147145e2f24d89fd6d2a87826384cc1d253267"),
|
|
},
|
|
}
|
|
|
|
dbReleases := []*shortRelease{
|
|
{
|
|
ID: 1,
|
|
TagName: "v0.1.0-beta",
|
|
Sha1: "244758d7da8dd1d9e0727e8cb7704ed4ba9a17c3",
|
|
IsTag: true,
|
|
},
|
|
{
|
|
ID: 2,
|
|
TagName: "v0.1.1-beta",
|
|
Sha1: "244758d7da8dd1d9e0727e8cb7704ed4ba9a17c3",
|
|
IsTag: false,
|
|
},
|
|
{
|
|
ID: 3,
|
|
TagName: "v1.0.0",
|
|
Sha1: "1006e6e13c73ad3d9e2d5682ad266b5016523485",
|
|
},
|
|
{
|
|
ID: 4,
|
|
TagName: "v1.1.0",
|
|
Sha1: "53ab18dcecf4152b58328d1f47429510eb414d50",
|
|
},
|
|
}
|
|
|
|
inserts, deletes, updates := calcSync(gitTags, dbReleases)
|
|
if assert.Len(t, inserts, 1, "inserts") {
|
|
assert.Equal(t, *gitTags[2], *inserts[0], "inserts equal")
|
|
}
|
|
|
|
if assert.Len(t, deletes, 1, "deletes") {
|
|
assert.EqualValues(t, 1, deletes[0], "deletes equal")
|
|
}
|
|
|
|
if assert.Len(t, updates, 1, "updates") {
|
|
assert.Equal(t, *gitTags[1], *updates[0], "updates equal")
|
|
}
|
|
}
|