forked from git-for-windows/git
-
Notifications
You must be signed in to change notification settings - Fork 92
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
We actually only need the FSMonitor... Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
- Loading branch information
Showing
99 changed files
with
13,909 additions
and
268 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,10 @@ | ||
Thanks for taking the time to contribute to Git! | ||
|
||
Those seeking to contribute to the Git for Windows fork should see | ||
http://gitforwindows.org/#contribute on how to contribute Windows specific | ||
enhancements. | ||
|
||
If your contribution is for the core Git functions and documentation | ||
please be aware that the Git community does not use the github.com issues | ||
or pull request mechanism for their contributions. | ||
|
||
Instead, we use the Git mailing list (git@vger.kernel.org) for code and | ||
documentation submissions, code reviews, and bug reports. The | ||
mailing list is plain text only (anything with HTML is sent directly | ||
to the spam folder). | ||
|
||
Nevertheless, you can use GitGitGadget (https://gitgitgadget.github.io/) | ||
to conveniently send your Pull Requests commits to our mailing list. | ||
|
||
For a single-commit pull request, please *leave the pull request description | ||
empty*: your commit message itself should describe your changes. | ||
|
||
Please read the "guidelines for contributing" linked above! | ||
This fork contains changes specific to monorepo scenarios. If you are an | ||
external contributor, then please detail your reason for submitting to | ||
this fork: | ||
|
||
* [ ] This is an early version of work already under review upstream. | ||
* [ ] This change only applies to interactions with Azure DevOps and the | ||
GVFS Protocol. | ||
* [ ] This change only applies to the virtualization hook and VFS for Git. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
name: Update Homebrew Tap | ||
on: | ||
release: | ||
types: [released] | ||
|
||
jobs: | ||
release: | ||
runs-on: ubuntu-latest | ||
environment: release | ||
steps: | ||
- id: version | ||
name: Compute version number | ||
run: | | ||
echo "result=$(echo $GITHUB_REF | sed -e "s/^refs\/tags\/v//")" >>$GITHUB_OUTPUT | ||
- id: hash | ||
name: Compute release asset hash | ||
uses: mjcheetham/asset-hash@v1.1 | ||
with: | ||
asset: /git-(.*)\.pkg/ | ||
hash: sha256 | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Update scalar Cask | ||
uses: mjcheetham/update-homebrew@v1.3 | ||
with: | ||
token: ${{ secrets.HOMEBREW_TOKEN }} | ||
tap: microsoft/git | ||
name: microsoft-git | ||
type: cask | ||
version: ${{ steps.version.outputs.result }} | ||
sha256: ${{ steps.hash.outputs.result }} | ||
alwaysUsePullRequest: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
name: "release-winget" | ||
on: | ||
release: | ||
types: [released] | ||
|
||
workflow_dispatch: | ||
inputs: | ||
release: | ||
description: 'Release Id' | ||
required: true | ||
default: 'latest' | ||
|
||
jobs: | ||
release: | ||
runs-on: windows-latest | ||
environment: release | ||
steps: | ||
- name: Publish manifest with winget-create | ||
run: | | ||
# Get correct release asset | ||
$github = Get-Content '${{ github.event_path }}' | ConvertFrom-Json | ||
$asset = $github.release.assets | Where-Object -Property name -match '64-bit.exe$' | ||
# Remove 'v' and 'vfs' from the version | ||
$github.release.tag_name -match '\d.*' | ||
$version = $Matches[0] -replace ".vfs","" | ||
# Download wingetcreate and create manifests | ||
Invoke-WebRequest https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe | ||
.\wingetcreate.exe update Microsoft.Git -u $asset.browser_download_url -v $version -o manifests | ||
# Manually substitute the name of the default branch in the License | ||
# and Copyright URLs since the tooling cannot do that for us. | ||
$shortenedVersion = $version -replace ".{4}$" | ||
$manifestPath = dir -Path ./manifests -Filter Microsoft.Git.locale.en-US.yaml -Recurse | %{$_.FullName} | ||
sed -i "s/vfs-[.0-9]*/vfs-$shortenedVersion/g" "$manifestPath" | ||
# Submit manifests | ||
$manifestDirectory = Split-Path "$manifestPath" | ||
.\wingetcreate.exe submit -t "${{ secrets.WINGET_TOKEN }}" $manifestDirectory | ||
shell: powershell |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
Branches used in this repo | ||
========================== | ||
|
||
The document explains the branching structure that we are using in the VFSForGit repository as well as the forking strategy that we have adopted for contributing. | ||
|
||
Repo Branches | ||
------------- | ||
|
||
1. `vfs-#` | ||
|
||
These branches are used to track the specific version that match Git for Windows with the VFSForGit specific patches on top. When a new version of Git for Windows is released, the VFSForGit patches will be rebased on that windows version and a new gvfs-# branch created to create pull requests against. | ||
|
||
#### Examples | ||
|
||
``` | ||
vfs-2.27.0 | ||
vfs-2.30.0 | ||
``` | ||
|
||
The versions of git for VFSForGit are based on the Git for Windows versions. v2.20.0.vfs.1 will correspond with the v2.20.0.windows.1 with the VFSForGit specific patches applied to the windows version. | ||
|
||
2. `vfs-#-exp` | ||
|
||
These branches are for releasing experimental features to early adopters. They | ||
should contain everything within the corresponding `vfs-#` branch; if the base | ||
branch updates, then merge into the `vfs-#-exp` branch as well. | ||
|
||
Tags | ||
---- | ||
|
||
We are using annotated tags to build the version number for git. The build will look back through the commit history to find the first tag matching `v[0-9]*vfs*` and build the git version number using that tag. | ||
|
||
Full releases are of the form `v2.XX.Y.vfs.Z.W` where `v2.XX.Y` comes from the | ||
upstream version and `Z.W` are custom updates within our fork. Specifically, | ||
the `.Z` value represents the "compatibility level" with VFS for Git. Only | ||
increase this version when making a breaking change with a released version | ||
of VFS for Git. The `.W` version is used for minor updates between major | ||
versions. | ||
|
||
Experimental releases are of the form `v2.XX.Y.vfs.Z.W.exp`. The `.exp` | ||
suffix indicates that experimental features are available. The rest of the | ||
version string comes from the full release tag. These versions will only | ||
be made available as pre-releases on the releases page, never a full release. | ||
|
||
Forking | ||
------- | ||
|
||
A personal fork of this repository and a branch in that repository should be used for development. | ||
|
||
These branches should be based on the latest vfs-# branch. If there are work in progress pull requests that you have based on a previous version branch when a new version branch is created, you will need to move your patches to the new branch to get them in that latest version. | ||
|
||
#### Example | ||
|
||
``` | ||
git clone <personal fork repo URL> | ||
git remote add ms https://github.com/Microsoft/git.git | ||
git checkout -b my-changes ms/vfs-2.20.0 --no-track | ||
git push -fu origin HEAD | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
gvfs.cache-server:: | ||
TODO | ||
|
||
gvfs.sharedcache:: | ||
TODO |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.