1
0
mirror of https://github.com/Jguer/yay synced 2024-07-01 07:56:37 +00:00

Compare commits

...

4 Commits

Author SHA1 Message Date
Aino L. Spring
7f1ef31f66
Merge 7a4f812a5f into 5149e3714d 2024-06-23 20:22:10 -05:00
Jo
5149e3714d
fix(query): match empty pacman -Si with AUR info (#2459) 2024-06-21 10:06:02 +02:00
Aino Spring
7a4f812a5f
Fixed tests 2024-05-13 20:39:11 +02:00
Aino Spring
5f0ec2c4e2
Check if pkgbuild merge is possible
Sometimes aur pkgbuild repos dont contain any branches
2024-05-13 20:26:50 +02:00
4 changed files with 31 additions and 2 deletions

View File

@ -73,6 +73,7 @@ func TestIntegrationLocalInstall(t *testing.T) {
wantCapture := []string{
"makepkg --packagelist",
"git -C testdata/jfin branch --show-current",
"git -C testdata/jfin git reset --hard HEAD",
"git -C testdata/jfin git merge --no-edit --ff",
"makepkg --packagelist",
@ -337,6 +338,7 @@ func TestIntegrationLocalInstallNeeded(t *testing.T) {
wantCapture := []string{
"makepkg --packagelist",
"git -C testdata/jfin branch --show-current",
"git -C testdata/jfin git reset --hard HEAD",
"git -C testdata/jfin git merge --no-edit --ff",
"makepkg --packagelist",
@ -510,6 +512,7 @@ func TestIntegrationLocalInstallGenerateSRCINFO(t *testing.T) {
wantCapture := []string{
"makepkg --printsrcinfo",
"makepkg --packagelist",
"git -C testdata/jfin branch --show-current",
"git -C testdata/jfin git reset --hard HEAD",
"git -C testdata/jfin git merge --no-edit --ff",
"makepkg --packagelist",
@ -795,6 +798,7 @@ func TestIntegrationLocalInstallWithDepsProvides(t *testing.T) {
}
wantCapture := []string{
"git -C testdata/cephbin branch --show-current",
"git -C testdata/cephbin git reset --hard HEAD",
"git -C testdata/cephbin git merge --no-edit --ff",
"makepkg --packagelist",
@ -923,8 +927,10 @@ func TestIntegrationLocalInstallTwoSrcInfosWithDeps(t *testing.T) {
}
wantCapture := []string{
"git -C testdata/gourou branch --show-current",
"git -C testdata/gourou git reset --hard HEAD",
"git -C testdata/gourou git merge --no-edit --ff",
"git -C testdata/libzip-git branch --show-current",
"git -C testdata/libzip-git git reset --hard HEAD",
"git -C testdata/libzip-git git merge --no-edit --ff",
"makepkg --packagelist",

View File

@ -27,9 +27,27 @@ func gitMerge(ctx context.Context, cmdBuilder exe.ICmdBuilder, dir string) error
return nil
}
func pkgbuildCanMerge(ctx context.Context, cmdBuilder exe.ICmdBuilder, dir string) (bool, error) {
stdout, stderr, err := cmdBuilder.Capture(
cmdBuilder.BuildGitCmd(ctx,
dir, "branch", "--show-current"))
if err != nil {
return false, errors.New(gotext.Get("error showing branch %s: %s", dir, stderr))
}
return stdout != "", nil
}
func mergePkgbuilds(ctx context.Context, cmdBuilder exe.ICmdBuilder, pkgbuildDirs map[string]string) error {
for _, dir := range pkgbuildDirs {
err := gitMerge(ctx, cmdBuilder, dir)
canMerge, err := pkgbuildCanMerge(ctx, cmdBuilder, dir)
if err != nil {
return err
}
if !canMerge {
continue
}
err = gitMerge(ctx, cmdBuilder, dir)
if err != nil {
return err
}

View File

@ -45,6 +45,10 @@ func syncInfo(ctx context.Context, run *runtime.Runtime,
pkgS = query.RemoveInvalidTargets(run.Logger, pkgS, run.Cfg.Mode)
aurS, repoS := packageSlices(pkgS, run.Cfg, dbExecutor)
if len(repoS) == 0 && len(aurS) == 0 {
aurS = dbExecutor.InstalledRemotePackageNames()
}
if len(aurS) != 0 {
noDB := make([]string, 0, len(aurS))
@ -64,7 +68,7 @@ func syncInfo(ctx context.Context, run *runtime.Runtime,
}
}
if len(repoS) != 0 {
if len(repoS) != 0 || (len(aurS) == 0 && len(repoS) == 0) {
arguments := cmdArgs.Copy()
arguments.ClearTargets()
arguments.AddTarget(repoS...)

View File

@ -545,6 +545,7 @@ pkgname = python-vosk
require.NoError(t, err)
wantCapture := []string{
"/usr/bin/git -C testdata/vosk-api branch --show-current",
"/usr/bin/git -C /testdir/vosk-api reset --hard HEAD",
"/usr/bin/git -C /testdir/vosk-api merge --no-edit --ff",
"makepkg --packagelist", "makepkg --packagelist",