Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remote: Push, add support to push commits per hashes #325

Merged
merged 2 commits into from Nov 1, 2021

Conversation

tjamet
Copy link
Contributor

@tjamet tjamet commented May 26, 2021

Using plain git, the command git push ${sha}:refs/heads/some-branch
actually ensures that the remote branch some-branch points to the
commit ${sha}.

In the current version of go-git, this results in an "everything is
up to date" error.

When a source reference is not found, check the object storage to find
the sha. If it is found, consider pushing this exact commit.

fixes: #105

@mcuadros
Copy link
Member

mcuadros commented Jun 1, 2021

Can you add some documentation on the public method?

@tjamet
Copy link
Contributor Author

tjamet commented Jun 1, 2021

Sure! I have just added a commit to document the reference, as stated in git help push

@tjamet
Copy link
Contributor Author

tjamet commented Aug 17, 2021

Hi @mcuadros is there any other place I need to add the documentation to?

Using plain git, the command `git push ${sha}:refs/heads/some-branch`
actually ensures that the remote branch `some-branch` points to the
commit `${sha}`.

In the current version of go-git, this results in an "everything is
up to date" error.

When a source reference is not found, check the object storage to find
the sha. If it is found, consider pushing this exact commit.

fixes: go-git#105
Taken from `git help push` and adapted to match the supported features
only.

Future iterations of this feature may include better support for git
"SHA-1 expression", documented in `git help push` as:

> any arbitrary "SHA-1 expression", such as master~4 or HEAD (see gitrevisions(7)).
@tjamet
Copy link
Contributor Author

tjamet commented Oct 28, 2021

hi @mcuadros I just rebased the branch, any chance we can move it forward?

@mcuadros mcuadros changed the title Add support to push commits per hashes Remote: Push, add support to push commits per hashes Nov 1, 2021
@mcuadros mcuadros merged commit ed3b10c into go-git:master Nov 1, 2021
@tjamet tjamet deleted the push/sha branch November 3, 2021 14:53
@tjamet tjamet restored the push/sha branch November 3, 2021 14:53
justinsb added a commit to justinsb/kpt that referenced this pull request Feb 2, 2022
justinsb added a commit to justinsb/kpt that referenced this pull request Feb 2, 2022
justinsb added a commit to justinsb/kpt that referenced this pull request Feb 2, 2022
justinsb added a commit to justinsb/kpt that referenced this pull request Feb 2, 2022
justinsb added a commit to justinsb/kpt that referenced this pull request Feb 2, 2022
justinsb added a commit to kptdev/kpt that referenced this pull request Feb 3, 2022
* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325
martinmaly pushed a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
…2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325
martinmaly pushed a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
…2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325
martinmaly pushed a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
…2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325
martinmaly pushed a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
…2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325
martinmaly pushed a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
…2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325
martinmaly pushed a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
…2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325
martinmaly pushed a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
…2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325
martinmaly pushed a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
…2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325
martinmaly pushed a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
…2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325
martinmaly pushed a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
…2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325
martinmaly added a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
Remove Placeholder kptlib (kptdev#2665)

* Fix Makefile Formatting

* Remove dependency on kptlib
* Tidy modules
* Delete kptlib
* Remove kptlib replace Clause

Add Porch Workflow

Implement Direct Package Fetch (kptdev#2667)

* Update VSCode Workspace
* Add launch.json
* Move Clone Logic Into Own File
* Implement Git pacakge fetch

Initial fn Interface (kptdev#2676)

Initial version of the function interfaces.

Upgrade go-containerregistry to v0.8.0 (kptdev#2674)

* Tidy Porch Modules
* Ignore Modules In .build Directory

Porch

git: handle resolution of per-package versions (kptdev#2681)

We can have a git tag that looks like `packageDir/version`, this
allows for independent versioning of packages that share a git repo.

We need to try both ref forms when resolving git packages.

PackageDraft interface should not inherit from Package (kptdev#2678)

In particular, some of the methods such as GetResources are ambiguous
until we finish the draft (do we want the in-progress resources or the
upstream resources?)

Minor fixups to better surface errors (kptdev#2680)

In general, we should always return the error, unless we actually want
to mask it e.g. for security reasons (and in that case, we would
normally expect to log the underlying error instead of wrapping).

Clean up Makefile (kptdev#2685)

* Remove init and deinit (no longer useful)
* Fix module discovery
* Clean up directory references

Render and Eval via Simple Memory FS (kptdev#2684)

* Render and Eval via Simple Memory FS
  For now the filesystem is inserted at lower level; In future changes
  the mutation Apply will accept the filesystem abstraction to avoid
  back-and-forth between filesystem and PackageResources.
* Clean up Function Evaluation to use new interface
* Remove unnecessary kpt module

Working towards applying packages from a repository (kptdev#2686)

First steps (with lots of hard-coding and hacks) towards applying from
a repository to a cluster.

Add priority and fairness to RBAC roles (kptdev#2692)

aggregated-apiservers seem to query these resources, and spam the logs
(at least) if they don't have permission.

Applying: publish MVP status (kptdev#2695)

We start to expose the status of the sync operation.

Fix Docker Build (kptdev#2696)

Remove kpt directory from Docker build.

Tidy Go Modules (kptdev#2699)

* Fix Go Modules

* Run Tidy in Porch Workflow

Add Roundtrip Tests (kptdev#2703)

Expose Renderer api with FileSystem abstraction (kptdev#2683)

* Expose Renderer api with FileSystem abstraction

* Merge Fs methods in pkg.go

* Update name

* Merge ReadKptfile and address changes

* Update porch go.sum

* Update results write

* Suggested changes

Porch

Create fix-all and verify-fix-all (kptdev#2702)

* Create fix-all and verify-fix-all

We run all the formatters / header makers etc.

In CI, we run them and make sure that the git checkout is still clean.

Ideally we would also run generate, but it is very slow, and it also
requires GOPATH to be set.  We can do that in CI later.

* Add missing headers

Fix few file headers (kptdev#2707)

Define a FunctionEvaluator gRPC Interface (kptdev#2700)

* Add install-protoc.sh script
* Define a FunctionEvaluator interface
* Create an empty server implementation

Integrate porch with renderer interface (kptdev#2710)

* Integrate porch with renderer interview

* Suggested changes

* Add implementation

Porch

Introduce applyset abstraction (kptdev#2697)

Replacing our very primitive apply logic with something better using
server-side apply.

Git repository test (kptdev#2706)

We create a simple git server, and we try round-tripping a package.

Some hacks/todos uncovered that we need to tackle.

Create Kptfile in config/deploy (kptdev#2708)

Our package logic requires a Kptfile, so adding one (for now).

Update FunctionRunner Interface (kptdev#2714)

And make names more consistent.

Simple gRPC kpt function runner service (kptdev#2711)

Several functions are built into the server Docker image and are exec'd
with input.
Added simple client which can be used (in ./func directory):

```
go run ./client \
  --address=192.168.8.202:9445 \
  --package=./config/ \
  --image=gcr.io/kpt-fn/set-namespace:v0.2.0 \
  -- \
  namespace=foo
```

Use simple evaluator in tests (kptdev#2717)

This avoids dependency on docker in unit tests.
The price is that the simple functions don't support full semantics,
but they also run much faster.

Fix os calls (kptdev#2718)

git: create ApprovePackageRevision method, remove draft hack (kptdev#2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325

Use apply-setters directly (kptdev#2719)

Upgrade kpt dependencies (kptdev#2727)

Use Lower-Level Function Runner Interface (kptdev#2730)

* Add capability to override function runner during fnrender
* Use Lower-Level Function Runner Interface
  The function framework operates at the level of IO streams so we need to
  use that in order to benefit from comment healing and other features.
* Fix tests to rely on files-on-disk.

Co-authored-by: droot <sunilarora@google.com>

Use kyaml In-Memory Filesystem (kptdev#2731)

Just noticed kyaml comes with in-memory filesystem implementation.
Use it instead of custom one.

Upgrade porch dependencies (kptdev#2726)

Remove direct dependency on deprecated kustomize/api package

Build Function Runner Docker Image (kptdev#2729)

tests: Fix test flake from timestamp sanitization (kptdev#2713) (kptdev#2742)

* Fix test flake from timestamp sanitization

When timestamps "overlap", sanitization did not work correctly.

For example:

in 1s ... in 2.1s

The first substitution would replace 1s => 0s

in 0s ... in 2.0s

The second substitution is predetermined, and replaces 2.1s => 0s, but
2.1s is no longer in the string.

* Use new sanitization function in tests, remove old function

Co-authored-by: Justin Santa Barbara <justinsb@google.com>

Porch

Create function-runner Deployment (kptdev#2733)

Use kpt Renderer in Porch (kptdev#2735)

* Use kpt Renderer in Porch
* Accept gRPC function runner endpoint

RemoteRootSyncSet: use specified OCI image (kptdev#2722)

Stop hard-coding and use the image the user specifies!

RemoteRootSyncSet: apply changes with force (kptdev#2723)

This lets us switch from client-side-applied to server-side-applied.

RemoteRootSyncSet: Remove hack where we set namespace (kptdev#2724)

It's now causing problems; we shouldn't need it and we should fix it
later in the logic anyway (with a default namespace).

Create push-images target to push all our images (kptdev#2721)

Also a few tweaks to make the porch image build faster.

Create dockerfile / makefile / manifest for pushing controllers to cluster (kptdev#2694)

This lets us start to run these on the server, instead of just locally.

Introduce mapTaskToMutation function (kptdev#2744)

This is a small refactor so that we can reuse this logic in future.

Fix kpt file system interactions (kptdev#2746)

* missing file.Close() call (filesys' memory filesystem doesn't support
  files opened multiple times)
* pass filesystem into newFnConfig (it reads fn config from file)

Porch

Pass Function Config to Eval (kptdev#2747)

* Move eval mutation into own file
* Pass Function Config to Eval
* Remove unused field (runner.fn)
* Move ConfigMap construction back to engine
* Eval preserves comments

Connect to gRPC function runner (kptdev#2745)

Fix crash (kptdev#2748)

If gRPC call fails, res is nill :(

Fix clone directory rewriting (kptdev#2749)

After changes to git cloning we return PackageResources with configs
at the "root directory". Therefore we don't need to rewrite config paths
anymore.

client generation: fix plural of packagerevisionresources (kptdev#2751)

The client was using packagerevisionresourceses (extra "es"), which
doesn't match the server name.

Update kpt dependencies (kptdev#2743)

* Upgrade dependencies
* Upgrade go to 1.17

Porch

Streamline Docker Image Building (kptdev#2752)

* Use the same naming pattern
* Enable nested Makefiles to inherit values from parent
* Enable explicit image tagging (i.e. using
  `IMAGE_TAG=$(git rev-parse --short HEAD) make build-images`
* Enable `make build-images` and `make push-images`

Run Porch With Consistent Working Dir (kptdev#2753)

`go run` doesn't support setting working directory; use `go build`
instead.

Add subpkgs test for porch (kptdev#2754)

* Add subpkgs test for porch

* Add runtime

Basic e2e Test (kptdev#2755)

* Basic e2e Test
* Simple harness to reduce some boilerplate
* Add a simple git repo test

Refactor Server Startup (kptdev#2770)

* Start background processing in Run function
* Shut down when stopCh is closed

Tidy in 1.17 compatible mode (kptdev#2769)

Occasionally `make tidy` fails complaining about 1.16 vs. 1.17 golang;
this should keep our mods 1.17 compatible with fewer `make tidy`
failures.

Create Engine using Options (kptdev#2771)

Create options for the common engine configuration options.

Support lazy credential resolution (kptdev#2772)

* Add CredentialResolver interface
* Add WithCredentialResolver engine option
* Use lazy credential resolution when interacting with Git

Pass Context to OpenRepository (kptdev#2773)

Use Context to Drive Server Shutdown (kptdev#2774)

Turns out k8s apiserver supports both and we can get the core context to
listen on instead of just getting the close channel.

Clean up Required/Optional API Fields (kptdev#2778)

Git branch and directory can be optional (defaulting to `main` and `/` respectively,
while `SecretRef.Name` is required since nameless secret reference is unhelpful.

Easier deployment onto GKE (kptdev#2776)

Support Creating Porch Deployment Config (kptdev#2777)

* Create `deployment-config` and `push-and-deploy` make targets
* Use kpt function to set images on the deployment config

Update Porch Deployment and Instructions (kptdev#2782)

* Set workload identity service accounts via set-annotations
* Simplify instructions
* Build at Git tag
* Combine Deployment Config in Same Directory
* Rename config files, assign 0 to CRDs.
* `kubectl apply` recursively just in case we add more config later

Use controller-gen v0.8.0 (kptdev#2780)

Use consistent version of controller-gen (v0.8.0)
crd:preserveUnknownFields marker has been removed (`false` was the
required value for v1 CRDs).

Set renderer when building CaDEngine (kptdev#2787)

Otherwise we crash when trying to render a package.

Fix missing error handling (kptdev#2784)

We weren't checking errors when building a CaDEngine.

Fix small typo (kptdev#2793)

Don't call into kpt render if we don't have a package (kptdev#2788)

When creating an empty package, we get an error otherwise (as kpt
render doesn't work if it doesn't have a package).

Porch

Split git_test To Use Git Server (kptdev#2797)

Enable e2e tests to use git server

Add CreatePackageRevision Test (kptdev#2800)

Simple test that creates a package by cloning from upstream repository.

Cache apply-setters:v0.1 function (kptdev#2799)

Some blueprints we encounter in tests use the older version of the function.

Return Git PackageRevisionResources Correctly (kptdev#2801)

Newly created Git package returned package resources at its old commit
SHA where no package contents existed, thus returning empty resources.
As package changes, advance the reference to return up-to-date package
revision contents.

Make Git Server hostable in cluster (kptdev#2798)

* Make Git Server hostable in cluster
* Add makefile targets to build and push its images

Add PackageRevision Approval API (kptdev#2810)

* Add PackageRevision .../approval subresource
* Generate client

Add Clone Package Test (kptdev#2807)

* Add Clone Package Test
* Fix issues with git server's reporting of symbolic references
martinmaly added a commit to martinmaly/kpt that referenced this pull request Feb 18, 2022
Remove Placeholder kptlib (kptdev#2665)

* Fix Makefile Formatting

* Remove dependency on kptlib
* Tidy modules
* Delete kptlib
* Remove kptlib replace Clause

Add Porch Workflow

Implement Direct Package Fetch (kptdev#2667)

* Update VSCode Workspace
* Add launch.json
* Move Clone Logic Into Own File
* Implement Git pacakge fetch

Initial fn Interface (kptdev#2676)

Initial version of the function interfaces.

Upgrade go-containerregistry to v0.8.0 (kptdev#2674)

* Tidy Porch Modules
* Ignore Modules In .build Directory

Porch

git: handle resolution of per-package versions (kptdev#2681)

We can have a git tag that looks like `packageDir/version`, this
allows for independent versioning of packages that share a git repo.

We need to try both ref forms when resolving git packages.

PackageDraft interface should not inherit from Package (kptdev#2678)

In particular, some of the methods such as GetResources are ambiguous
until we finish the draft (do we want the in-progress resources or the
upstream resources?)

Minor fixups to better surface errors (kptdev#2680)

In general, we should always return the error, unless we actually want
to mask it e.g. for security reasons (and in that case, we would
normally expect to log the underlying error instead of wrapping).

Clean up Makefile (kptdev#2685)

* Remove init and deinit (no longer useful)
* Fix module discovery
* Clean up directory references

Render and Eval via Simple Memory FS (kptdev#2684)

* Render and Eval via Simple Memory FS
  For now the filesystem is inserted at lower level; In future changes
  the mutation Apply will accept the filesystem abstraction to avoid
  back-and-forth between filesystem and PackageResources.
* Clean up Function Evaluation to use new interface
* Remove unnecessary kpt module

Working towards applying packages from a repository (kptdev#2686)

First steps (with lots of hard-coding and hacks) towards applying from
a repository to a cluster.

Add priority and fairness to RBAC roles (kptdev#2692)

aggregated-apiservers seem to query these resources, and spam the logs
(at least) if they don't have permission.

Applying: publish MVP status (kptdev#2695)

We start to expose the status of the sync operation.

Fix Docker Build (kptdev#2696)

Remove kpt directory from Docker build.

Tidy Go Modules (kptdev#2699)

* Fix Go Modules

* Run Tidy in Porch Workflow

Add Roundtrip Tests (kptdev#2703)

Expose Renderer api with FileSystem abstraction (kptdev#2683)

* Expose Renderer api with FileSystem abstraction

* Merge Fs methods in pkg.go

* Update name

* Merge ReadKptfile and address changes

* Update porch go.sum

* Update results write

* Suggested changes

Porch

Create fix-all and verify-fix-all (kptdev#2702)

* Create fix-all and verify-fix-all

We run all the formatters / header makers etc.

In CI, we run them and make sure that the git checkout is still clean.

Ideally we would also run generate, but it is very slow, and it also
requires GOPATH to be set.  We can do that in CI later.

* Add missing headers

Fix few file headers (kptdev#2707)

Define a FunctionEvaluator gRPC Interface (kptdev#2700)

* Add install-protoc.sh script
* Define a FunctionEvaluator interface
* Create an empty server implementation

Integrate porch with renderer interface (kptdev#2710)

* Integrate porch with renderer interview

* Suggested changes

* Add implementation

Porch

Introduce applyset abstraction (kptdev#2697)

Replacing our very primitive apply logic with something better using
server-side apply.

Git repository test (kptdev#2706)

We create a simple git server, and we try round-tripping a package.

Some hacks/todos uncovered that we need to tackle.

Create Kptfile in config/deploy (kptdev#2708)

Our package logic requires a Kptfile, so adding one (for now).

Update FunctionRunner Interface (kptdev#2714)

And make names more consistent.

Simple gRPC kpt function runner service (kptdev#2711)

Several functions are built into the server Docker image and are exec'd
with input.
Added simple client which can be used (in ./func directory):

```
go run ./client \
  --address=192.168.8.202:9445 \
  --package=./config/ \
  --image=gcr.io/kpt-fn/set-namespace:v0.2.0 \
  -- \
  namespace=foo
```

Use simple evaluator in tests (kptdev#2717)

This avoids dependency on docker in unit tests.
The price is that the simple functions don't support full semantics,
but they also run much faster.

Fix os calls (kptdev#2718)

git: create ApprovePackageRevision method, remove draft hack (kptdev#2712)

* git: create ApprovePackageRevision method, remove draft hack

Now that we can approve a package (in our tests at least), we can now
fetch the package on the non-draft ref.

* Update go-git to HEAD

We want to pick up go-git/go-git#325

Use apply-setters directly (kptdev#2719)

Upgrade kpt dependencies (kptdev#2727)

Use Lower-Level Function Runner Interface (kptdev#2730)

* Add capability to override function runner during fnrender
* Use Lower-Level Function Runner Interface
  The function framework operates at the level of IO streams so we need to
  use that in order to benefit from comment healing and other features.
* Fix tests to rely on files-on-disk.

Co-authored-by: droot <sunilarora@google.com>

Use kyaml In-Memory Filesystem (kptdev#2731)

Just noticed kyaml comes with in-memory filesystem implementation.
Use it instead of custom one.

Upgrade porch dependencies (kptdev#2726)

Remove direct dependency on deprecated kustomize/api package

Build Function Runner Docker Image (kptdev#2729)

tests: Fix test flake from timestamp sanitization (kptdev#2713) (kptdev#2742)

* Fix test flake from timestamp sanitization

When timestamps "overlap", sanitization did not work correctly.

For example:

in 1s ... in 2.1s

The first substitution would replace 1s => 0s

in 0s ... in 2.0s

The second substitution is predetermined, and replaces 2.1s => 0s, but
2.1s is no longer in the string.

* Use new sanitization function in tests, remove old function

Co-authored-by: Justin Santa Barbara <justinsb@google.com>

Porch

Create function-runner Deployment (kptdev#2733)

Use kpt Renderer in Porch (kptdev#2735)

* Use kpt Renderer in Porch
* Accept gRPC function runner endpoint

RemoteRootSyncSet: use specified OCI image (kptdev#2722)

Stop hard-coding and use the image the user specifies!

RemoteRootSyncSet: apply changes with force (kptdev#2723)

This lets us switch from client-side-applied to server-side-applied.

RemoteRootSyncSet: Remove hack where we set namespace (kptdev#2724)

It's now causing problems; we shouldn't need it and we should fix it
later in the logic anyway (with a default namespace).

Create push-images target to push all our images (kptdev#2721)

Also a few tweaks to make the porch image build faster.

Create dockerfile / makefile / manifest for pushing controllers to cluster (kptdev#2694)

This lets us start to run these on the server, instead of just locally.

Introduce mapTaskToMutation function (kptdev#2744)

This is a small refactor so that we can reuse this logic in future.

Fix kpt file system interactions (kptdev#2746)

* missing file.Close() call (filesys' memory filesystem doesn't support
  files opened multiple times)
* pass filesystem into newFnConfig (it reads fn config from file)

Porch

Pass Function Config to Eval (kptdev#2747)

* Move eval mutation into own file
* Pass Function Config to Eval
* Remove unused field (runner.fn)
* Move ConfigMap construction back to engine
* Eval preserves comments

Connect to gRPC function runner (kptdev#2745)

Fix crash (kptdev#2748)

If gRPC call fails, res is nill :(

Fix clone directory rewriting (kptdev#2749)

After changes to git cloning we return PackageResources with configs
at the "root directory". Therefore we don't need to rewrite config paths
anymore.

client generation: fix plural of packagerevisionresources (kptdev#2751)

The client was using packagerevisionresourceses (extra "es"), which
doesn't match the server name.

Update kpt dependencies (kptdev#2743)

* Upgrade dependencies
* Upgrade go to 1.17

Porch

Streamline Docker Image Building (kptdev#2752)

* Use the same naming pattern
* Enable nested Makefiles to inherit values from parent
* Enable explicit image tagging (i.e. using
  `IMAGE_TAG=$(git rev-parse --short HEAD) make build-images`
* Enable `make build-images` and `make push-images`

Run Porch With Consistent Working Dir (kptdev#2753)

`go run` doesn't support setting working directory; use `go build`
instead.

Add subpkgs test for porch (kptdev#2754)

* Add subpkgs test for porch

* Add runtime

Basic e2e Test (kptdev#2755)

* Basic e2e Test
* Simple harness to reduce some boilerplate
* Add a simple git repo test

Refactor Server Startup (kptdev#2770)

* Start background processing in Run function
* Shut down when stopCh is closed

Tidy in 1.17 compatible mode (kptdev#2769)

Occasionally `make tidy` fails complaining about 1.16 vs. 1.17 golang;
this should keep our mods 1.17 compatible with fewer `make tidy`
failures.

Create Engine using Options (kptdev#2771)

Create options for the common engine configuration options.

Support lazy credential resolution (kptdev#2772)

* Add CredentialResolver interface
* Add WithCredentialResolver engine option
* Use lazy credential resolution when interacting with Git

Pass Context to OpenRepository (kptdev#2773)

Use Context to Drive Server Shutdown (kptdev#2774)

Turns out k8s apiserver supports both and we can get the core context to
listen on instead of just getting the close channel.

Clean up Required/Optional API Fields (kptdev#2778)

Git branch and directory can be optional (defaulting to `main` and `/` respectively,
while `SecretRef.Name` is required since nameless secret reference is unhelpful.

Easier deployment onto GKE (kptdev#2776)

Support Creating Porch Deployment Config (kptdev#2777)

* Create `deployment-config` and `push-and-deploy` make targets
* Use kpt function to set images on the deployment config

Update Porch Deployment and Instructions (kptdev#2782)

* Set workload identity service accounts via set-annotations
* Simplify instructions
* Build at Git tag
* Combine Deployment Config in Same Directory
* Rename config files, assign 0 to CRDs.
* `kubectl apply` recursively just in case we add more config later

Use controller-gen v0.8.0 (kptdev#2780)

Use consistent version of controller-gen (v0.8.0)
crd:preserveUnknownFields marker has been removed (`false` was the
required value for v1 CRDs).

Set renderer when building CaDEngine (kptdev#2787)

Otherwise we crash when trying to render a package.

Fix missing error handling (kptdev#2784)

We weren't checking errors when building a CaDEngine.

Fix small typo (kptdev#2793)

Don't call into kpt render if we don't have a package (kptdev#2788)

When creating an empty package, we get an error otherwise (as kpt
render doesn't work if it doesn't have a package).

Porch

Split git_test To Use Git Server (kptdev#2797)

Enable e2e tests to use git server

Add CreatePackageRevision Test (kptdev#2800)

Simple test that creates a package by cloning from upstream repository.

Cache apply-setters:v0.1 function (kptdev#2799)

Some blueprints we encounter in tests use the older version of the function.

Return Git PackageRevisionResources Correctly (kptdev#2801)

Newly created Git package returned package resources at its old commit
SHA where no package contents existed, thus returning empty resources.
As package changes, advance the reference to return up-to-date package
revision contents.

Make Git Server hostable in cluster (kptdev#2798)

* Make Git Server hostable in cluster
* Add makefile targets to build and push its images

Add PackageRevision Approval API (kptdev#2810)

* Add PackageRevision .../approval subresource
* Generate client

Add Clone Package Test (kptdev#2807)

* Add Clone Package Test
* Fix issues with git server's reporting of symbolic references
andrewpollock pushed a commit to google/osv.dev that referenced this pull request Dec 5, 2022
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[cloud.google.com/go/datastore](https://togithub.com/googleapis/google-cloud-go)
| require | minor | `v1.8.0` -> `v1.10.0` |
|
[cloud.google.com/go/pubsub](https://togithub.com/googleapis/google-cloud-go)
| require | minor | `v1.24.0` -> `v1.27.1` |
|
[cloud.google.com/go/storage](https://togithub.com/googleapis/google-cloud-go)
| require | minor | `v1.24.0` -> `v1.28.1` |
| [github.com/go-git/go-git/v5](https://togithub.com/go-git/go-git) |
require | minor | `v5.4.2` -> `v5.5.0` |
| [github.com/google/go-cmp](https://togithub.com/google/go-cmp) |
require | patch | `v0.5.8` -> `v0.5.9` |
| [golang.org/x/sync](https://togithub.com/golang/sync) | require |
minor | `v0.0.0-20220601150217-0de741cfad7f` -> `v0.1.0` |
|
[google.golang.org/api](https://togithub.com/googleapis/google-api-go-client)
| require | minor | `v0.91.0` -> `v0.103.0` |

---

### Release Notes

<details>
<summary>go-git/go-git</summary>

### [`v5.5.0`](https://togithub.com/go-git/go-git/releases/tag/v5.5.0)

[Compare
Source](https://togithub.com/go-git/go-git/compare/v5.4.2...v5.5.0)

#### What's Changed

- \*: add collision resistent SHA1 implementation by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#618
- \*: replace go-homedir with os.UserHomeDir by
[@&#8203;mvdan](https://togithub.com/mvdan) in
[go-git/go-git#535
- Remote: add RemoteURL to {Fetch,Pull,Push}Options by
[@&#8203;noerw](https://togithub.com/noerw) in
[go-git/go-git#375
- Remote: Push, add support to push commits per hashes by
[@&#8203;tjamet](https://togithub.com/tjamet) in
[go-git/go-git#325
- Remote: Push, add ForceWithLease Push Option by
[@&#8203;john-cai](https://togithub.com/john-cai) in
[go-git/go-git#404
- Remote: PushOptions add push-options by
[@&#8203;S-Bohn](https://togithub.com/S-Bohn) in
[go-git/go-git#399
- Remote: Push, add atomic to push options by
[@&#8203;john-cai](https://togithub.com/john-cai) in
[go-git/go-git#406
- Remote: add FollowTags option for pushes by
[@&#8203;john-cai](https://togithub.com/john-cai) in
[go-git/go-git#385
- Worktree: use syscall.Timespec.Unix by
[@&#8203;tklauser](https://togithub.com/tklauser) in
[go-git/go-git#437
- Worktree: Checkout, simplified sparse checkout by
[@&#8203;john-cai](https://togithub.com/john-cai) in
[go-git/go-git#410
- Repository: don't crash accessing invalid pathinfo by
[@&#8203;muesli](https://togithub.com/muesli) in
[go-git/go-git#443
- storage: filesystem, switch from os.SEEK_\* to io.Seek\* by
[@&#8203;abhinav](https://togithub.com/abhinav) in
[go-git/go-git#421
- config: add branch description support by
[@&#8203;ninedraft](https://togithub.com/ninedraft) in
[go-git/go-git#409
- revision: fix endless looping in revision parser by
[@&#8203;michenriksen](https://togithub.com/michenriksen) in
[go-git/go-git#475
- pumbling: optimise zlib reader and consolidate sync.Pools by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#608
- pumbling: parse optimisations by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#602
- plumbing: object, rename calculation uses too much memory by
[@&#8203;jfontan](https://togithub.com/jfontan) in
[go-git/go-git#503
- plumbing: protocol/pakp and server, include the contents of
`GO_GIT_USER_AGENT_EXTRA`. Fixes
[#&#8203;529](https://togithub.com/go-git/go-git/issues/529) by
[@&#8203;stewing](https://togithub.com/stewing) in
[go-git/go-git#531
- plumbing: protocol/pakp, avoid duplicate encoding when overriding a
Capability value. by [@&#8203;tylerchr](https://togithub.com/tylerchr)
in
[go-git/go-git#521
- plumbing: protocol/pakp, update agent by
[@&#8203;caarlos0](https://togithub.com/caarlos0) in
[go-git/go-git#453
- plumbing: protocol/pakp: Actions should have type Action by
[@&#8203;abhinav](https://togithub.com/abhinav) in
[go-git/go-git#420
- plumbing: protocol/pakp: allow unsupported `multi_ack` capability by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#613
- plumbing: transport/ssh, auto-populate HostKeyAlgorithms. Fixes
[#&#8203;411](https://togithub.com/go-git/go-git/issues/411) by
[@&#8203;evanelias](https://togithub.com/evanelias) in
[go-git/go-git#548
- pumbling: format/packfile, resolve external reference delta by
[@&#8203;ga-paul-t](https://togithub.com/ga-paul-t) in
[go-git/go-git#392
- plumbing: format/packfile, prevent large objects from being read into
memory completely by [@&#8203;zeripath](https://togithub.com/zeripath)
in
[go-git/go-git#330
- plumbing: format/index, support v3 index by
[@&#8203;john-cai](https://togithub.com/john-cai) in
[go-git/go-git#407
- plumbing: format/gitignore, Read .git/info/exclude file too. by
[@&#8203;enisdenjo](https://togithub.com/enisdenjo) in
[go-git/go-git#402
- plumbing: format/gitattributes, Avoid index out of range by
[@&#8203;To1ne](https://togithub.com/To1ne) in
[go-git/go-git#598
- plumbing: format/config, Branch name with hash can be cloned. Fixes
[#&#8203;309](https://togithub.com/go-git/go-git/issues/309) by
[@&#8203;dowy](https://togithub.com/dowy) in
[go-git/go-git#354
- go.mod: update github.com/xanzy/ssh-agent to v0.3.1 by
[@&#8203;tklauser](https://togithub.com/tklauser) in
[go-git/go-git#403
- go.mod: update dependencies to remove supply chain CVEs by
[@&#8203;pjbgf](https://togithub.com/pjbgf) in
[go-git/go-git#620
- examples: added "tag find if head is tagged" by
[@&#8203;snebel29](https://togithub.com/snebel29) in
[go-git/go-git#374
- examples: remote fix typo by
[@&#8203;nep-0](https://togithub.com/nep-0) in
[go-git/go-git#408

**Full Changelog**:
go-git/go-git@v5.4.2...v5.5.0

</details>

<details>
<summary>google/go-cmp</summary>

### [`v0.5.9`](https://togithub.com/google/go-cmp/releases/tag/v0.5.9)

[Compare
Source](https://togithub.com/google/go-cmp/compare/v0.5.8...v0.5.9)

Reporter changes:

- ([#&#8203;299](https://togithub.com/google/go-cmp/issues/299)) Adjust
heuristic for line-based versus byte-based diffing
- ([#&#8203;306](https://togithub.com/google/go-cmp/issues/306)) Use
`value.TypeString` in `PathStep.String`

Code cleanup changes:

- ([#&#8203;297](https://togithub.com/google/go-cmp/issues/297)) Use
`reflect.Value.IsZero`
- ([#&#8203;304](https://togithub.com/google/go-cmp/issues/304)) Format
with Go 1.19 formatter
- ([#&#8203;300](https://togithub.com/google/go-cmp/issues/300) )Fix
typo in Result documentation
- ([#&#8203;302](https://togithub.com/google/go-cmp/issues/302))
Pre-declare global type variables
- ([#&#8203;309](https://togithub.com/google/go-cmp/issues/309)) Run
tests on Go 1.19

</details>

<details>
<summary>googleapis/google-api-go-client</summary>

###
[`v0.103.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.103.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.102.0...v0.103.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;1737](https://togithub.com/googleapis/google-api-go-client/issues/1737))
([de99200](https://togithub.com/googleapis/google-api-go-client/commit/de9920088db16562740c31183eca6651f669e582))
- **all:** Auto-regenerate discovery clients
([#&#8203;1739](https://togithub.com/googleapis/google-api-go-client/issues/1739))
([bbd4259](https://togithub.com/googleapis/google-api-go-client/commit/bbd42597f4710f527f83fd900cb7f9e6706bc195))
- **all:** Auto-regenerate discovery clients
([#&#8203;1743](https://togithub.com/googleapis/google-api-go-client/issues/1743))
([4248dc3](https://togithub.com/googleapis/google-api-go-client/commit/4248dc3db6b32d00720293980fb8e845b684fbd8))
- **googleapi:** Inject gax apierror.APIError into googleapi.Error
([#&#8203;1730](https://togithub.com/googleapis/google-api-go-client/issues/1730))
([ee25e29](https://togithub.com/googleapis/google-api-go-client/commit/ee25e29fd586cde25a006504d0059194a90f19ac))
- Rm hard dep on x/sys
([#&#8203;1742](https://togithub.com/googleapis/google-api-go-client/issues/1742))
([9695aa1](https://togithub.com/googleapis/google-api-go-client/commit/9695aa13a084c1ad9857db4a6c12d57e13fc00dc))

###
[`v0.102.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.102.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.101.0...v0.102.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;1725](https://togithub.com/googleapis/google-api-go-client/issues/1725))
([06360d8](https://togithub.com/googleapis/google-api-go-client/commit/06360d8f37b88e064a8a60788077f376b597d942))
- **all:** Auto-regenerate discovery clients
([#&#8203;1727](https://togithub.com/googleapis/google-api-go-client/issues/1727))
([1e1eab9](https://togithub.com/googleapis/google-api-go-client/commit/1e1eab98aac0e967a6c52b65fe9eb5a4d6d8a946))
- **all:** Auto-regenerate discovery clients
([#&#8203;1734](https://togithub.com/googleapis/google-api-go-client/issues/1734))
([ce57a67](https://togithub.com/googleapis/google-api-go-client/commit/ce57a67eddb98f3ccd21c1c01dfcb18df0d77009))
- Rely on new compute metadata module directly
([#&#8203;1736](https://togithub.com/googleapis/google-api-go-client/issues/1736))
([0528475](https://togithub.com/googleapis/google-api-go-client/commit/0528475d51393bb6e3244816d9c6ea8c16275677))

###
[`v0.101.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.101.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.100.0...v0.101.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;1718](https://togithub.com/googleapis/google-api-go-client/issues/1718))
([453b81a](https://togithub.com/googleapis/google-api-go-client/commit/453b81ac138e6572e9d6a3373c033c5abbcefbcc))
- **all:** Auto-regenerate discovery clients
([#&#8203;1720](https://togithub.com/googleapis/google-api-go-client/issues/1720))
([9140608](https://togithub.com/googleapis/google-api-go-client/commit/91406081538e06ab580f59d6fba001dc34f8574a))
- **all:** Auto-regenerate discovery clients
([#&#8203;1723](https://togithub.com/googleapis/google-api-go-client/issues/1723))
([f4788b3](https://togithub.com/googleapis/google-api-go-client/commit/f4788b325bd76337216a54e02e49cec4e3ee6987))

###
[`v0.100.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.100.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.99.0...v0.100.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;1712](https://togithub.com/googleapis/google-api-go-client/issues/1712))
([f9e15f2](https://togithub.com/googleapis/google-api-go-client/commit/f9e15f2159928974af1a2ec539e20f17f94aab4d))
- **all:** Auto-regenerate discovery clients
([#&#8203;1717](https://togithub.com/googleapis/google-api-go-client/issues/1717))
([f990a2a](https://togithub.com/googleapis/google-api-go-client/commit/f990a2af6cd6210c8764bbe273a575886ea97038))
- **internal/gensupport:** Remove DetermineContentType, use gax-go copy
([#&#8203;1716](https://togithub.com/googleapis/google-api-go-client/issues/1716))
([37f90e9](https://togithub.com/googleapis/google-api-go-client/commit/37f90e974e83f06962ac923c502cd1b405c7f0fb))

##### Bug Fixes

- **idtoken:** Allow missing age in http response header
([#&#8203;1715](https://togithub.com/googleapis/google-api-go-client/issues/1715))
([b235b1f](https://togithub.com/googleapis/google-api-go-client/commit/b235b1f8c718be6b8f361074d371768617a3da3a))

###
[`v0.99.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.99.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.98.0...v0.99.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;1701](https://togithub.com/googleapis/google-api-go-client/issues/1701))
([6b81c83](https://togithub.com/googleapis/google-api-go-client/commit/6b81c8355addd65f718bb9195e1c2356117e1a1b))

###
[`v0.98.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.98.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.97.0...v0.98.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;1696](https://togithub.com/googleapis/google-api-go-client/issues/1696))
([aa775b4](https://togithub.com/googleapis/google-api-go-client/commit/aa775b41d2e419002d4e7e7a390745dd2d07110a))
- **all:** Auto-regenerate discovery clients
([#&#8203;1699](https://togithub.com/googleapis/google-api-go-client/issues/1699))
([25b7450](https://togithub.com/googleapis/google-api-go-client/commit/25b7450d0d9efc46d4095d827f597ac85bb8b5b4))

###
[`v0.97.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.97.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.96.0...v0.97.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;1693](https://togithub.com/googleapis/google-api-go-client/issues/1693))
([a87400b](https://togithub.com/googleapis/google-api-go-client/commit/a87400be9341608f73e9ae1b5dbbecc7adfbf609))
- **all:** Auto-regenerate discovery clients
([#&#8203;1695](https://togithub.com/googleapis/google-api-go-client/issues/1695))
([b8f2556](https://togithub.com/googleapis/google-api-go-client/commit/b8f25561a76841c7549a358925eb7bfc2236465e))
- **internal/gensupport:** Wrap retry failures with context and prev
error
([#&#8203;1684](https://togithub.com/googleapis/google-api-go-client/issues/1684))
([f427ee3](https://togithub.com/googleapis/google-api-go-client/commit/f427ee3edede981524c2ffb57fd2d8981f8cf8b4)),
refs
[#&#8203;1685](https://togithub.com/googleapis/google-api-go-client/issues/1685)

##### Bug Fixes

- Build script bash error
([#&#8203;1697](https://togithub.com/googleapis/google-api-go-client/issues/1697))
([6b0515b](https://togithub.com/googleapis/google-api-go-client/commit/6b0515bf05d8c62007748827eed486c607af483b))
- **gensupport:** Allow initial request for resumable uploads to retry
w/ non-nil getBody
([#&#8203;1690](https://togithub.com/googleapis/google-api-go-client/issues/1690))
([2c3e863](https://togithub.com/googleapis/google-api-go-client/commit/2c3e8638afc6702dcba732a1aa07ccb33eb9304b))

###
[`v0.96.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.96.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.95.0...v0.96.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;1686](https://togithub.com/googleapis/google-api-go-client/issues/1686))
([ce5ed41](https://togithub.com/googleapis/google-api-go-client/commit/ce5ed411756019b79c77e580670fccc8c08cccca))
- **all:** Auto-regenerate discovery clients
([#&#8203;1688](https://togithub.com/googleapis/google-api-go-client/issues/1688))
([bc29a6b](https://togithub.com/googleapis/google-api-go-client/commit/bc29a6b8a0489e88796d5a00d4c06769793ace0d))
- **all:** Auto-regenerate discovery clients
([#&#8203;1689](https://togithub.com/googleapis/google-api-go-client/issues/1689))
([e801e10](https://togithub.com/googleapis/google-api-go-client/commit/e801e1051020e6721f2217f5aa3a4064399115e1))

##### Bug Fixes

- Upgrade version of golang.org/x/net
([#&#8203;1692](https://togithub.com/googleapis/google-api-go-client/issues/1692))
([0f7c1ed](https://togithub.com/googleapis/google-api-go-client/commit/0f7c1ed65ca2c6212f21e7fce20aa5ab9952bdbc)),
refs
[#&#8203;1691](https://togithub.com/googleapis/google-api-go-client/issues/1691)

###
[`v0.95.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.95.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.94.0...v0.95.0)

##### Features

- **all:** Auto-regenerate discovery clients
([#&#8203;1677](https://togithub.com/googleapis/google-api-go-client/issues/1677))
([8757dbf](https://togithub.com/googleapis/google-api-go-client/commit/8757dbf5811cc9f4092a8259d859c35ad3cc6442))
- **all:** Auto-regenerate discovery clients
([#&#8203;1680](https://togithub.com/googleapis/google-api-go-client/issues/1680))
([8c72fb3](https://togithub.com/googleapis/google-api-go-client/commit/8c72fb345fb6e377fa984053ca9c00aa0c3a0985))
- **option:** Officially deprecate ImpersonateCredentials
([#&#8203;1683](https://togithub.com/googleapis/google-api-go-client/issues/1683))
([9a84077](https://togithub.com/googleapis/google-api-go-client/commit/9a84077014f9a37335d29132e373b92adf49f904))

###
[`v0.94.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.94.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.93.0...v0.94.0)

##### Features

- **all:** auto-regenerate discovery clients, refs
[#&#8203;1676](https://togithub.com/googleapis/google-api-go-client/issues/1676)
[#&#8203;1673](https://togithub.com/googleapis/google-api-go-client/issues/1673)
[#&#8203;1672](https://togithub.com/googleapis/google-api-go-client/issues/1672)
[#&#8203;1671](https://togithub.com/googleapis/google-api-go-client/issues/1671)
[#&#8203;1667](https://togithub.com/googleapis/google-api-go-client/issues/1667)

##### Bug Fixes

- **storage:** \*int64 instead of int64 for Age cond
([#&#8203;1598](https://togithub.com/googleapis/google-api-go-client/issues/1598))
([9ea025d](https://togithub.com/googleapis/google-api-go-client/commit/9ea025dcfe9b67a95e08f4ec94ed4fb6a9767b8c))

##### Documentation

- **option:** clarify behavior of WithScopes
([#&#8203;1670](https://togithub.com/googleapis/google-api-go-client/issues/1670))
([07ceb9d](https://togithub.com/googleapis/google-api-go-client/commit/07ceb9d607c85ffaa5bea97be66cf9d426ec55bb)),
refs
[#&#8203;1644](https://togithub.com/googleapis/google-api-go-client/issues/1644)

###
[`v0.93.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.93.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.92.0...v0.93.0)

##### Features

- **all:** auto-regenerate discovery clients, refs
[#&#8203;1664](https://togithub.com/googleapis/google-api-go-client/issues/1664)
[#&#8203;1662](https://togithub.com/googleapis/google-api-go-client/issues/1662)
[#&#8203;1661](https://togithub.com/googleapis/google-api-go-client/issues/1661)
[#&#8203;1652](https://togithub.com/googleapis/google-api-go-client/issues/1652)
- **google-api-go-generator:** Change field PaymentState to pointer
([#&#8203;1663](https://togithub.com/googleapis/google-api-go-client/issues/1663))
([d6ee425](https://togithub.com/googleapis/google-api-go-client/commit/d6ee425a65668ee28ff97c6fb70f3497865d6572)),
refs
[#&#8203;727](https://togithub.com/googleapis/google-api-go-client/issues/727)

###
[`v0.92.0`](https://togithub.com/googleapis/google-api-go-client/releases/tag/v0.92.0)

[Compare
Source](https://togithub.com/googleapis/google-api-go-client/compare/v0.91.0...v0.92.0)

##### Features

- **all:** auto-regenerate discovery clients, refs
[#&#8203;1649](https://togithub.com/googleapis/google-api-go-client/issues/1649)
[#&#8203;1646](https://togithub.com/googleapis/google-api-go-client/issues/1646)
[#&#8203;1645](https://togithub.com/googleapis/google-api-go-client/issues/1645)
[#&#8203;1643](https://togithub.com/googleapis/google-api-go-client/issues/1643)
[#&#8203;1641](https://togithub.com/googleapis/google-api-go-client/issues/1641)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 6am on monday" in timezone
Australia/Sydney, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/google/osv.dev).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC45LjEiLCJ1cGRhdGVkSW5WZXIiOiIzNC40OC4xIn0=-->
zydou pushed a commit to zydou/tea that referenced this pull request Sep 25, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) | require | minor | `v5.4.2` -> `v5.8.1` |

---

### ⚠ Dependency Lookup Warnings ⚠

Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.

---

### Release Notes

<details>
<summary>go-git/go-git (github.com/go-git/go-git/v5)</summary>

### [`v5.8.1`](https://github.com/go-git/go-git/releases/tag/v5.8.1)

[Compare Source](go-git/go-git@v5.8.0...v5.8.1)

#### What's Changed

-   \*: Bump dependencies by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#815

**Full Changelog**: go-git/go-git@v5.8.0...v5.8.1

### [`v5.8.0`](https://github.com/go-git/go-git/releases/tag/v5.8.0)

[Compare Source](go-git/go-git@v5.7.0...v5.8.0)

#### What's Changed

-   git: Fix fetching after shallow clone. Fixes [#&#8203;305](go-git/go-git#305) by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#778
-   git: enable fetch with unqualified references by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#762
-   git: don't add to want if exists, shallow and depth 1 by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#763
-   git: Clone HEAD should not force master. Fixes [#&#8203;363](go-git/go-git#363) by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#758
-   git: fix the issue with submodules having the SCP style URL fail due to the wrong URL parsing by [@&#8203;matejrisek](https://github.com/matejrisek) in go-git/go-git#756
-   git: add a clone option to allow for shallow cloning of submodules by [@&#8203;matejrisek](https://github.com/matejrisek) in go-git/go-git#765
-   worktree: minor speedup for `doAddDirectory` by [@&#8203;ThinkChaos](https://github.com/ThinkChaos) in go-git/go-git#702
-   \_examples: Remove wrong comment by [@&#8203;pascal-hofmann](https://github.com/pascal-hofmann) in go-git/go-git#357
-   \*: Handle paths starting with tilde by [@&#8203;ricci2511](https://github.com/ricci2511) in go-git/go-git#808
-   \*: Handle paths starting with ~Username by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#809
-   storage: filesystem/dotgit, add support for tmp_objdir prefix by [@&#8203;L11R](https://github.com/L11R) in go-git/go-git#812
-   plumbing: gitignore, replace user dir in path by [@&#8203;Jleagle](https://github.com/Jleagle) in go-git/go-git#772
-   plumbing: gitignore, fix incorrect parsing. Fixes [#&#8203;500](go-git/go-git#500) by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#781
-   plumbing: http, Fix empty repos on Git v2.41+ by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#802
-   plumbing: packp, A request is not empty if it contains shallows. Fixes [#&#8203;328](go-git/go-git#328) by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#792
-   plumbing: blame, Complete rewrite. Fixes [#&#8203;603](go-git/go-git#603) by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#789
-   plumbing: gitignore, Allow gitconfig to contain a gitignore relative to any user home. Fixes [#&#8203;578](go-git/go-git#578) by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#785

#### New Contributors

-   [@&#8203;Jleagle](https://github.com/Jleagle) made their first contribution in go-git/go-git#772
-   [@&#8203;pascal-hofmann](https://github.com/pascal-hofmann) made their first contribution in go-git/go-git#357
-   [@&#8203;ricci2511](https://github.com/ricci2511) made their first contribution in go-git/go-git#808
-   [@&#8203;L11R](https://github.com/L11R) made their first contribution in go-git/go-git#812

**Full Changelog**: go-git/go-git@v5.7.0...v5.7.1

### [`v5.7.0`](https://github.com/go-git/go-git/releases/tag/v5.7.0)

[Compare Source](go-git/go-git@v5.6.1...v5.7.0)

#### What's Changed

-   \*: Add support for initializing SHA256 repositories by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#707
-   git: add mirror clone option by [@&#8203;aymanbagabas](https://github.com/aymanbagabas) in go-git/go-git#735
-   git: Add support to ls-remote with peeled references. Fixes [#&#8203;749](go-git/go-git#749) by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#750
-   git: fix cloning with branch name by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#755
-   git: Worktree, add check to see if file already checked in. Fixes [#&#8203;718](go-git/go-git#718) by [@&#8203;cbbm142](https://github.com/cbbm142) in go-git/go-git#719
-   git: Worktree, git grep bare repositories by [@&#8203;aymanbagabas](https://github.com/aymanbagabas) in go-git/go-git#728
-   git: Add Depth to SubmoduleUpdateOptions by [@&#8203;matejrisek](https://github.com/matejrisek) in go-git/go-git#754
-   git: Testing, Fix tests not cleaning temp folders by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#769
-   git: remote, add support for a configurable timeout. by [@&#8203;andrewpollock](https://github.com/andrewpollock) in go-git/go-git#753
-   git: Allow Initial Branch to be configurable by [@&#8203;techknowlogick](https://github.com/techknowlogick) in go-git/go-git#764
-   storage: filesystem/dotgit, Improve load packed-refs by [@&#8203;fcharlie](https://github.com/fcharlie) in go-git/go-git#743
-   storage: filesystem, Populate index before use. Fixes [#&#8203;148](go-git/go-git#148) by [@&#8203;AriehSchneier](https://github.com/AriehSchneier) in go-git/go-git#722
-   plumbing: resolve non-external delta references by [@&#8203;ZauberNerd](https://github.com/ZauberNerd) in go-git/go-git#485
-   plumbing/transport: fix regression in scp-like match by [@&#8203;jotadrilo](https://github.com/jotadrilo) in go-git/go-git#715
-   plumbing/transport: Add support for custom proxy settings by [@&#8203;aryan9600](https://github.com/aryan9600) in go-git/go-git#744
-   \*: small fixes across the codebase by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#770
-   \*: bump github.com/cloudflare/circl from 1.1.0 to 1.3.3 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#776
-   \*: bump dependencies by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#748
-   \*: bump Go version to 1.18 on go.mod by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#774
-   \*: add Codeql workflow and bump dependencies by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#775
-   ci: fix upstream git build for master branch by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#739

#### New Contributors

-   [@&#8203;ZauberNerd](https://github.com/ZauberNerd) made their first contribution in go-git/go-git#485
-   [@&#8203;jotadrilo](https://github.com/jotadrilo) made their first contribution in go-git/go-git#715
-   [@&#8203;fcharlie](https://github.com/fcharlie) made their first contribution in go-git/go-git#743
-   [@&#8203;AriehSchneier](https://github.com/AriehSchneier) made their first contribution in go-git/go-git#755
-   [@&#8203;cbbm142](https://github.com/cbbm142) made their first contribution in go-git/go-git#719
-   [@&#8203;aryan9600](https://github.com/aryan9600) made their first contribution in go-git/go-git#744
-   [@&#8203;matejrisek](https://github.com/matejrisek) made their first contribution in go-git/go-git#754
-   [@&#8203;andrewpollock](https://github.com/andrewpollock) made their first contribution in go-git/go-git#753
-   [@&#8203;techknowlogick](https://github.com/techknowlogick) made their first contribution in go-git/go-git#764

**Full Changelog**: go-git/go-git@v5.6.1...v5.7.0

### [`v5.6.1`](https://github.com/go-git/go-git/releases/tag/v5.6.1)

[Compare Source](go-git/go-git@v5.6.0...v5.6.1)

#### What's Changed

-   plumbing/transport: don't use the `firstErrLine` when it is empty by [@&#8203;ThinkChaos](https://github.com/ThinkChaos) in go-git/go-git#682
-   plumbing/transport: ssh, unable to pass a custom HostKeyCallback func by [@&#8203;aymanbagabas](https://github.com/aymanbagabas) in go-git/go-git#655
-   storage/filesystem: dotgit: fix a filesystem race in Refs/walkReferencesTree by [@&#8203;MichaelMure](https://github.com/MichaelMure) in go-git/go-git#659
-   \*: bump golang.org/x/net from 0.2.0 to 0.7.0 by [@&#8203;dependabot](https://github.com/dependabot) in go-git/go-git#684
-   \*: bump dependencies by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#697
-   \*: fix panic for empty revisions by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#696
-   ci: bump GitHub actions, enable go test race detection and stop using developer's GPG keys during test execution by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#701

**Full Changelog**: go-git/go-git@v5.6.0...v5.6.1

### [`v5.6.0`](https://github.com/go-git/go-git/releases/tag/v5.6.0)

[Compare Source](go-git/go-git@v5.5.2...v5.6.0)

#### What's Changed

-   Worktree, check for empty parent dirs during Reset (Fixes [#&#8203;670](go-git/go-git#670)) by [@&#8203;mbohy](https://github.com/mbohy) in go-git/go-git#671
-   \*: remove need to build with CGO by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#688
-   plumbing: support SSH/X509 signed tags by [@&#8203;hiddeco](https://github.com/hiddeco) in go-git/go-git#690

**Full Changelog**: go-git/go-git@v5.5.2...v5.6.0

### [`v5.5.2`](https://github.com/go-git/go-git/releases/tag/v5.5.2)

[Compare Source](go-git/go-git@v5.5.1...v5.5.2)

#### What's Changed

-   \*: update go-billy v5.4.0, removes data races. Fixes [#&#8203;629](go-git/go-git#629) by [@&#8203;mcuadros](https://github.com/mcuadros) in go-git/go-git#653
-   Worktree: Add, fix add removed files. Fixes [#&#8203;223](go-git/go-git#223) by [@&#8203;tfujiwar](https://github.com/tfujiwar) in go-git/go-git#652

**Full Changelog**: go-git/go-git@v5.5.1...v5.5.2

### [`v5.5.1`](https://github.com/go-git/go-git/releases/tag/v5.5.1)

[Compare Source](go-git/go-git@v5.5.0...v5.5.1)

#### What's Changed

-   \*: fix error when building with `CGO_ENABLED=0` by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#625
-   plumbing: transport/ssh: fix panic on Windows 10 with paegent as ssh-agent by [@&#8203;doxsch](https://github.com/doxsch) in go-git/go-git#617
-   CommitOptions: AllowEmptyCommits, return an error instead of creating empty commits by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#623

**Full Changelog**: go-git/go-git@v5.5.0...v5.5.1

### [`v5.5.0`](https://github.com/go-git/go-git/releases/tag/v5.5.0)

[Compare Source](go-git/go-git@v5.4.2...v5.5.0)

#### What's Changed

-   \*: add collision resistent SHA1 implementation by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#618
-   \*: replace go-homedir with os.UserHomeDir by [@&#8203;mvdan](https://github.com/mvdan) in go-git/go-git#535
-   Remote: add RemoteURL to {Fetch,Pull,Push}Options by [@&#8203;noerw](https://github.com/noerw) in go-git/go-git#375
-   Remote: Push, add support to push commits per hashes by [@&#8203;tjamet](https://github.com/tjamet) in go-git/go-git#325
-   Remote: Push, add ForceWithLease Push Option by [@&#8203;john-cai](https://github.com/john-cai) in go-git/go-git#404
-   Remote: PushOptions add push-options by [@&#8203;S-Bohn](https://github.com/S-Bohn) in go-git/go-git#399
-   Remote: Push, add atomic to push options by [@&#8203;john-cai](https://github.com/john-cai) in go-git/go-git#406
-   Remote: add FollowTags option for pushes by [@&#8203;john-cai](https://github.com/john-cai) in go-git/go-git#385
-   Worktree: use syscall.Timespec.Unix by [@&#8203;tklauser](https://github.com/tklauser) in go-git/go-git#437
-   Worktree: Checkout, simplified sparse checkout by [@&#8203;john-cai](https://github.com/john-cai) in go-git/go-git#410
-   Repository: don't crash accessing invalid pathinfo by [@&#8203;muesli](https://github.com/muesli) in go-git/go-git#443
-   storage: filesystem, switch from os.SEEK_\* to io.Seek\* by [@&#8203;abhinav](https://github.com/abhinav) in go-git/go-git#421
-   config: add branch description support by [@&#8203;ninedraft](https://github.com/ninedraft) in go-git/go-git#409
-   revision: fix endless looping in revision parser by [@&#8203;michenriksen](https://github.com/michenriksen) in go-git/go-git#475
-   pumbling: optimise zlib reader and consolidate sync.Pools by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#608
-   pumbling: parse optimisations by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#602
-   plumbing: object, rename calculation uses too much memory by [@&#8203;jfontan](https://github.com/jfontan) in go-git/go-git#503
-   plumbing: protocol/pakp and server, include the contents of `GO_GIT_USER_AGENT_EXTRA`. Fixes [#&#8203;529](go-git/go-git#529) by [@&#8203;stewing](https://github.com/stewing) in go-git/go-git#531
-   plumbing: protocol/pakp, avoid duplicate encoding when overriding a Capability value. by [@&#8203;tylerchr](https://github.com/tylerchr) in go-git/go-git#521
-   plumbing: protocol/pakp, update agent by [@&#8203;caarlos0](https://github.com/caarlos0) in go-git/go-git#453
-   plumbing: protocol/pakp: Actions should have type Action by [@&#8203;abhinav](https://github.com/abhinav) in go-git/go-git#420
-   plumbing: protocol/pakp: allow unsupported `multi_ack` capability by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#613
-   plumbing: transport/ssh, auto-populate HostKeyAlgorithms. Fixes [#&#8203;411](go-git/go-git#411) by [@&#8203;evanelias](https://github.com/evanelias) in go-git/go-git#548
-   pumbling: format/packfile, resolve external reference delta by [@&#8203;ga-paul-t](https://github.com/ga-paul-t) in go-git/go-git#392
-   plumbing: format/packfile, prevent large objects from being read into memory completely by [@&#8203;zeripath](https://github.com/zeripath) in go-git/go-git#330
-   plumbing: format/index, support v3 index by [@&#8203;john-cai](https://github.com/john-cai) in go-git/go-git#407
-   plumbing: format/gitignore, Read .git/info/exclude file too. by [@&#8203;enisdenjo](https://github.com/enisdenjo) in go-git/go-git#402
-   plumbing: format/gitattributes, Avoid index out of range  by [@&#8203;To1ne](https://github.com/To1ne) in go-git/go-git#598
-   plumbing: format/config, Branch name with hash can be cloned. Fixes [#&#8203;309](go-git/go-git#309) by [@&#8203;dowy](https://github.com/dowy) in go-git/go-git#354
-   go.mod: update github.com/xanzy/ssh-agent to v0.3.1 by [@&#8203;tklauser](https://github.com/tklauser) in go-git/go-git#403
-   go.mod: update dependencies to remove supply chain CVEs by [@&#8203;pjbgf](https://github.com/pjbgf) in go-git/go-git#620
-   examples: added "tag find if head is tagged" by [@&#8203;snebel29](https://github.com/snebel29) in go-git/go-git#374
-   examples: remote fix typo by [@&#8203;nep-0](https://github.com/nep-0) in go-git/go-git#408

**Full Changelog**: go-git/go-git@v5.4.2...v5.5.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi43OS4xIiwidXBkYXRlZEluVmVyIjoiMzYuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Reviewed-on: https://gitea.com/gitea/tea/pulls/578
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
Co-committed-by: Renovate Bot <renovate-bot@gitea.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pushing a hash to a branch is not working?
2 participants