-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Create new release including "alpha" Linux support #173
Commits on Jun 29, 2020
-
git: split out IGit and IGitConfiguration files
Split out the IGit and IGitConfiguration interfaces and extension methods in to their own files.
Configuration menu - View commit details
-
Copy full SHA for 56d161c - Browse repository at this point
Copy the full SHA 56d161cView commit details
Commits on Jul 7, 2020
-
which: add ability to locate executables via which
Add ability to locate executables on the current PATH by shelling out to `which` on UNIX platforms, and `where.exe` on Windows.
Configuration menu - View commit details
-
Copy full SHA for dc3ece0 - Browse repository at this point
Copy the full SHA dc3ece0View commit details -
git: implement IGit/Config using the Git CLI
Implement IGit and IGitConfiguration components using the Git CLI executable, rather than libgit2.
Configuration menu - View commit details
-
Copy full SHA for 34ef9c6 - Browse repository at this point
Copy the full SHA 34ef9c6View commit details -
install: update usage of Git config
Update the use of the Git configuration components in the configuration service and configurable components; used to set up a system during install.
Configuration menu - View commit details
-
Copy full SHA for 314499e - Browse repository at this point
Copy the full SHA 314499eView commit details -
Configuration menu - View commit details
-
Copy full SHA for edf4794 - Browse repository at this point
Copy the full SHA edf4794View commit details
Commits on Jul 9, 2020
-
linux: add IFileSystem impl for Linux
Add an implementation of the IFileSystem component for Linux distributions. We just simply assume that all file systems are case-sensitive at the moment. Also introduce a (empty) PosixFileSystem class shared between macOS and Linux.
Configuration menu - View commit details
-
Copy full SHA for 100148c - Browse repository at this point
Copy the full SHA 100148cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 19555a7 - Browse repository at this point
Copy the full SHA 19555a7View commit details -
linux: implement stub Linux ISystemPrompts component
Implement a stub ISystemPrompts component that just throws. The component is currently not used on any platform that's not Windows anyway so this won't be hit.
Configuration menu - View commit details
-
Copy full SHA for 9486edd - Browse repository at this point
Copy the full SHA 9486eddView commit details -
linux: add libsecret based ICredentialStore for Linux
Implement a credential store for Linux platforms that use the libsecret Secret Service API.
Configuration menu - View commit details
-
Copy full SHA for 70e64fc - Browse repository at this point
Copy the full SHA 70e64fcView commit details -
versioning: update Nerdbank.GitVersioning to latest
Update the Nerdbank.GitVersioning package to the latest to fix a bug where the package would fail to execute due to libgit2 dependency issues.
Configuration menu - View commit details
-
Copy full SHA for 097f7ab - Browse repository at this point
Copy the full SHA 097f7abView commit details -
linux: add x86_64 Linux build (Ubuntu 18.04)
Extend the PR and CI build to produce a tarball of binaries for Linux x86_64 platforms; building on Ubuntu 18.04 LTS. The release build does not publish anything currently as we need to get signing working.
Configuration menu - View commit details
-
Copy full SHA for ab661f5 - Browse repository at this point
Copy the full SHA ab661f5View commit details
Commits on Jul 13, 2020
-
linux: rewrite libsecret/glib interop
Rewrite the libsecret and glib interop code for the Linux ICredentialStore implementation to be more thorough.
Configuration menu - View commit details
-
Copy full SHA for 522ac11 - Browse repository at this point
Copy the full SHA 522ac11View commit details -
Configuration menu - View commit details
-
Copy full SHA for cf5155f - Browse repository at this point
Copy the full SHA cf5155fView commit details
Commits on Jul 14, 2020
-
linux: add stub CredStore to select the best cred store API
Introduce a credential store for Linux that passes through to a backing store that is selected based on user preference and session features. Currently this is a stub that just uses LibsecretCollection (which only works in a GUI environment).
Configuration menu - View commit details
-
Copy full SHA for 9eccd25 - Browse repository at this point
Copy the full SHA 9eccd25View commit details -
Configuration menu - View commit details
-
Copy full SHA for dd0ac1a - Browse repository at this point
Copy the full SHA dd0ac1aView commit details -
libsecret/secretservice: rename libsecret -> secretservice
Rename the LibsecretCollection type to SecretService API to more accurately reflect the API we're using.
Configuration menu - View commit details
-
Copy full SHA for 2928312 - Browse repository at this point
Copy the full SHA 2928312View commit details
Commits on Jul 17, 2020
-
actions/workflows: fix workflows and builds
Ensure the PR build is triggered on PRs into master or release. Also now that we're making real releases of GCM Core on GitHub and not just pre-releases, move to the simpler syntax/API calls for the Action that creates and updated the Homebrew cask on release publish.
Configuration menu - View commit details
-
Copy full SHA for 622bd3c - Browse repository at this point
Copy the full SHA 622bd3cView commit details
Commits on Jul 20, 2020
-
Merge pull request #150 from mjcheetham/fixworkflows
Fix workflows and builds
Configuration menu - View commit details
-
Copy full SHA for cdc0dee - Browse repository at this point
Copy the full SHA cdc0deeView commit details
Commits on Jul 21, 2020
-
homebrew: automatically update Homebrew Cask on release
On release, automatically update the Homebrew Cask in the microsoft/git Tap.
Configuration menu - View commit details
-
Copy full SHA for 08863a6 - Browse repository at this point
Copy the full SHA 08863a6View commit details -
Merge pull request #152 from mjcheetham/homebrew-auto
Automatically update Homebrew Cask on release
Configuration menu - View commit details
-
Copy full SHA for 5e57e79 - Browse repository at this point
Copy the full SHA 5e57e79View commit details
Commits on Jul 27, 2020
-
github: make OAuth the default auth mode
Make OAuth the default authentication mode.
Configuration menu - View commit details
-
Copy full SHA for 8a7eef8 - Browse repository at this point
Copy the full SHA 8a7eef8View commit details -
github: move OAuth option to top of Windows dialog
Move the OAuth/login with browser option to the top of the Windows GitHub login dialog when both user/pass and OAuth options are available.
Configuration menu - View commit details
-
Copy full SHA for d3fefff - Browse repository at this point
Copy the full SHA d3fefffView commit details -
github: replace link with button for OAuth login
Replace the "login using browser" link with a button on the Windows GitHub login dialog.
Configuration menu - View commit details
-
Copy full SHA for 0fdae3b - Browse repository at this point
Copy the full SHA 0fdae3bView commit details
Commits on Jul 30, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 525d448 - Browse repository at this point
Copy the full SHA 525d448View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2abe96d - Browse repository at this point
Copy the full SHA 2abe96dView commit details -
Merge pull request #153: Use OAuth by default on GitHub
Make OAuth the default authentication mechanism for GitHub provider
Configuration menu - View commit details
-
Copy full SHA for 8014b46 - Browse repository at this point
Copy the full SHA 8014b46View commit details
Commits on Aug 6, 2020
-
Kyle Rader committed
Aug 6, 2020 1Configuration menu - View commit details
-
Copy full SHA for 4f3ddcd - Browse repository at this point
Copy the full SHA 4f3ddcdView commit details -
Kyle Rader committed
Aug 6, 2020 Configuration menu - View commit details
-
Copy full SHA for a0a222a - Browse repository at this point
Copy the full SHA a0a222aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4fcc005 - Browse repository at this point
Copy the full SHA 4fcc005View commit details -
Kyle Rader committed
Aug 6, 2020 Configuration menu - View commit details
-
Copy full SHA for 6b72a6a - Browse repository at this point
Copy the full SHA 6b72a6aView commit details -
Copy in default dotnet core workflow template steps
Kyle Rader committedAug 6, 2020 Configuration menu - View commit details
-
Copy full SHA for 4b7a5d9 - Browse repository at this point
Copy the full SHA 4b7a5d9View commit details
Commits on Aug 7, 2020
-
Add fetch-depth: 0 so that Github actions clones with full history so…
… the versioning task works
Configuration menu - View commit details
-
Copy full SHA for a9e53b3 - Browse repository at this point
Copy the full SHA a9e53b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 578413b - Browse repository at this point
Copy the full SHA 578413bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b05b47 - Browse repository at this point
Copy the full SHA 0b05b47View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a26025 - Browse repository at this point
Copy the full SHA 9a26025View commit details -
Configuration menu - View commit details
-
Copy full SHA for fff72ef - Browse repository at this point
Copy the full SHA fff72efView commit details -
Configuration menu - View commit details
-
Copy full SHA for 44651b8 - Browse repository at this point
Copy the full SHA 44651b8View commit details -
Merge pull request #157: GitHub Actions Workflow
Starting the creation of a Github Actions CI workflow, specifically including Linux.
Configuration menu - View commit details
-
Copy full SHA for 33b45a3 - Browse repository at this point
Copy the full SHA 33b45a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 55403c8 - Browse repository at this point
Copy the full SHA 55403c8View commit details
Commits on Aug 14, 2020
-
Merge pull request #159 from microsoft/linux
Add initial Ubuntu & Secret Service support
Configuration menu - View commit details
-
Copy full SHA for 2e9919d - Browse repository at this point
Copy the full SHA 2e9919dView commit details
Commits on Sep 10, 2020
-
SettingsTests: drop unused variables
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Configuration menu - View commit details
-
Copy full SHA for 090d3c4 - Browse repository at this point
Copy the full SHA 090d3c4View commit details -
GitConfiguration: be careful about key-value pairs
For some situations, the key-value pairs we split from the response of 'git config' do not have two elements. Be careful to check the length before returning the value. If the length is not two, then this is an invalid key-value pair so skip that entry. Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Configuration menu - View commit details
-
Copy full SHA for 4c43d7b - Browse repository at this point
Copy the full SHA 4c43d7bView commit details -
GitConfiguration: be careful about arguments and exit codes
1. When we re-set the configuration, we pass an empty value to clear the existing values. However, that only works if we quote around the empty value. Otherwise, Git does not "see" a value argument. 2. If there is no configuration for a given key, the exit codes for 'git config' change. See the documentation [1] for full details. For now, be careful about exit codes 1 and 5, when appropriate. [1] https://git-scm.com/docs/git-config Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Configuration menu - View commit details
-
Copy full SHA for 7c3a055 - Browse repository at this point
Copy the full SHA 7c3a055View commit details -
Start a build-installers GH workflow
Kyle Rader committedSep 10, 2020 Configuration menu - View commit details
-
Copy full SHA for 9f9f8d4 - Browse repository at this point
Copy the full SHA 9f9f8d4View commit details -
Kyle Rader committed
Sep 10, 2020 Configuration menu - View commit details
-
Copy full SHA for 099b350 - Browse repository at this point
Copy the full SHA 099b350View commit details -
Configuration menu - View commit details
-
Copy full SHA for e03468b - Browse repository at this point
Copy the full SHA e03468bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d67e3f - Browse repository at this point
Copy the full SHA 9d67e3fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f2f90a - Browse repository at this point
Copy the full SHA 2f2f90aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 57c30d9 - Browse repository at this point
Copy the full SHA 57c30d9View commit details -
Configuration menu - View commit details
-
Copy full SHA for af514c7 - Browse repository at this point
Copy the full SHA af514c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7278801 - Browse repository at this point
Copy the full SHA 7278801View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5aea589 - Browse repository at this point
Copy the full SHA 5aea589View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3cc63f3 - Browse repository at this point
Copy the full SHA 3cc63f3View commit details
Commits on Sep 11, 2020
-
Merge pull request #163: Fix errors with 'git-credential-manager-core…
… configure' with empty config Resolves #161. The failures were due to subtleties when working without any `credential.helper` values in any level of config. This is typical for a fresh install on a Linux machine, but never happens with Git for Windows. Git on macOS might also come pre-loaded with this config.
Configuration menu - View commit details
-
Copy full SHA for 51089a2 - Browse repository at this point
Copy the full SHA 51089a2View commit details -
CI: update configuration to build native bits
The build configuration "Release" only builds the managed portions of GCM Core. However, on macOS and Windows we have UI bits that are native to each platform. Update the --configuration build option to include these native bits by casing on the "os" variable in the matrix build. Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Configuration menu - View commit details
-
Copy full SHA for eb8807b - Browse repository at this point
Copy the full SHA eb8807bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a813f1 - Browse repository at this point
Copy the full SHA 2a813f1View commit details -
Only remove Payloud as Payload.Linux is built by the parent cs proj a…
…nd we need that output.
Configuration menu - View commit details
-
Copy full SHA for 3e56e9a - Browse repository at this point
Copy the full SHA 3e56e9aView commit details
Commits on Sep 14, 2020
-
Merge pull request #166 from derrickstolee/actions-native
CI: update configuration to build native bits
Configuration menu - View commit details
-
Copy full SHA for 1ceeb7b - Browse repository at this point
Copy the full SHA 1ceeb7bView commit details -
Merge pull request #164 from kyle-rader/user/kyrader/linux-installer
Add a Linux .deb installer CI workflow
Kyle W. Rader authoredSep 14, 2020 Configuration menu - View commit details
-
Copy full SHA for f93dee0 - Browse repository at this point
Copy the full SHA f93dee0View commit details
Commits on Sep 17, 2020
-
credstore: update credstore API to allow better search
Update the ICredentialStore and ICredential API to allow for smarter searching of stored credentials. The new API exposes filtering by "service name" and "account" separately. Service name will typically be the URL the credential is stored against, and the account will be the username associated with the credential.
Configuration menu - View commit details
-
Copy full SHA for 1425412 - Browse repository at this point
Copy the full SHA 1425412View commit details -
macoskeychain: update macOS Keychain to match new interface
Update the macOS Keychain component implementation to match the new ICredentialStore interface. We now use the `SecItemCopyMatching` to perform a general query for items, and return a specialised credential object including all relevant attributes.
Configuration menu - View commit details
-
Copy full SHA for 469a453 - Browse repository at this point
Copy the full SHA 469a453View commit details -
wincredmgr: update Windows CredManager to impl new interface
Update the Windows Credential Manager component to implement the new ICredentialStore interface, including credential enumeration and matching by account/user as well as 'service name' (target).
Configuration menu - View commit details
-
Copy full SHA for bf9f51d - Browse repository at this point
Copy the full SHA bf9f51dView commit details -
wincredmgr: recover the correct service name
Recover the correct service name from the target name. Since the target name may contain a userinfo component (for example https://alice_domain.com@example.com/path), and the only place we store the service name is in the target name, we need to strip out any userinfo component. We do this by looking for the "://" and the first '@' character before the first '/', which act as the start and end of the userinfo component.
Configuration menu - View commit details
-
Copy full SHA for 094ab39 - Browse repository at this point
Copy the full SHA 094ab39View commit details -
libsecret: update libsecret interop to match new interface
Update the SecretServiceCollection credential store (backed by libsecret) to match the new ICredentialStore interface and access model.
Configuration menu - View commit details
-
Copy full SHA for d4a1696 - Browse repository at this point
Copy the full SHA d4a1696View commit details -
inputargs: update remote URI generation to support ports
Update the remote URI generation from the program InputArguments to support port numbers, and special characters in usernames.
Configuration menu - View commit details
-
Copy full SHA for bac549c - Browse repository at this point
Copy the full SHA bac549cView commit details -
hostprovider: update host prvdr base to use service name
Update the HostProvider base class to use the new 'service name' abstraction rather than the simple 'unique credential key' one. With this model we can better issue credential storage queries where the username may not be specified explicitly in a get request (often the case as the username is not always included in the remote URL for many services).
Configuration menu - View commit details
-
Copy full SHA for a8e2125 - Browse repository at this point
Copy the full SHA a8e2125View commit details -
genericprovider: update the generic provider for new APIs
Update the generic host provider to support the new credential storage model and HostProvider base class APIs.
Configuration menu - View commit details
-
Copy full SHA for 9ab036d - Browse repository at this point
Copy the full SHA 9ab036dView commit details -
basic: update basic auth to match new cred interface
Update the Basic authentication component to match the new ICredential interface.
Configuration menu - View commit details
-
Copy full SHA for 860ec54 - Browse repository at this point
Copy the full SHA 860ec54View commit details -
bitbucket: update BB provider to implement new cred APIs
Update the BitBucket provider to support and implement the new credential storage/recall model and APIs.
Configuration menu - View commit details
-
Copy full SHA for e925512 - Browse repository at this point
Copy the full SHA e925512View commit details -
github: update GitHub provider to impl new cred model
Update the GitHub provider to implement and follow the new credential storage/recall/matching model and ICredentialStore APIs.
Configuration menu - View commit details
-
Copy full SHA for f8cd76e - Browse repository at this point
Copy the full SHA f8cd76eView commit details -
azrepos: update azrepos to new credential model/APIs
Update the Azure Repos provider to support the new credential storage API/model, as well as support remote URLs with explicit port numbers.
Configuration menu - View commit details
-
Copy full SHA for fada973 - Browse repository at this point
Copy the full SHA fada973View commit details -
azrepos: workaround org@ user hackery
Now that we support multiple user accounts for each host/service/remote, we have hit an interesting issue with Azure Repos. With the introduction of the dev.azure.com-style URLs for Azure Repos there was an unfortunate hack or workaround invented to add the AzDevOps org name to the userinfo part of the remote URL, for example: org@dev.azure.com/org/blah. Since GCM for Windows (and older versions of GCM Core that initially followed the same model) always uses the value "PersonalAccessToken" for the username field when storing credentials it was free to ignore the user part of the input. The problem now is that since we support multiple user accounts, and will perform an exact match against the credential (with user) if a username is specified in the remote URL, we never find the credential we now store (we now always store with the actual, real users' UPN). To workaround this workaround (yuck) we ignore the username IF AND ONLY IF the host is dev.azure.com, and return the first matching dev.azure.com/org credential. The upshot of this is that dev.azure.com-style URLs do NOT support multiple users OR full paths, however vs.com-style URLs will.
Configuration menu - View commit details
-
Copy full SHA for 05b04ba - Browse repository at this point
Copy the full SHA 05b04baView commit details -
credstore: add support for custom cred namespaces
Add support for customising the namespace/prefix used to store credentials in the OS credential store. By default we use "git:{service}". Users can use GCM_NAMESPACE or credential.namespace to set this to something different. These configuration options are the same as in GCM for Windows to help with migration.
Configuration menu - View commit details
-
Copy full SHA for 43e0f4d - Browse repository at this point
Copy the full SHA 43e0f4dView commit details -
docs: update documentation to reflect changes
Update the GCM Core Host Provider spec document and architecture document to reflect the changes made to the abstract HostProvider class; replacing GetCredentialKey with GetServiceName.
Configuration menu - View commit details
-
Copy full SHA for 2e631df - Browse repository at this point
Copy the full SHA 2e631dfView commit details -
environment: fix environment process locator
Fix a bug in the WindowsEnvironment implementation of the LocateExectuable method. On .NET Core the UseShellExecute property of ProcessStartInfo defaults to false, whereas on .NET Framework (the runtime that we target on Windows) defaults to true. You must set this to false if you want to redirect standard streams (which we want to do). The .NET Framework-targeting build on Windows was throwing an exception here(!)
Configuration menu - View commit details
-
Copy full SHA for fd6df7c - Browse repository at this point
Copy the full SHA fd6df7cView commit details -
Merge pull request #162 from mjcheetham/newcred2
Revamp credential storage system to allow for smarter searching
Configuration menu - View commit details
-
Copy full SHA for c883429 - Browse repository at this point
Copy the full SHA c883429View commit details
Commits on Sep 18, 2020
-
github: remove user/pass auth for github.com
Now that we have the GCM OAuth application in the allow-list for GitHub apps, we no longer need to offer username/password authentication for github.com!
Configuration menu - View commit details
-
Copy full SHA for 809a050 - Browse repository at this point
Copy the full SHA 809a050View commit details
Commits on Sep 21, 2020
-
github: fix a typo in "DotCom" (- "DotDom")
Fix a typo in a constant variable indicating the available authentication modes for github.com.
Configuration menu - View commit details
-
Copy full SHA for 4a5f54f - Browse repository at this point
Copy the full SHA 4a5f54fView commit details -
Merge pull request #171 from mjcheetham/gh-oauthonly
Remove username/password authentication for github.com
Configuration menu - View commit details
-
Copy full SHA for 368d65a - Browse repository at this point
Copy the full SHA 368d65aView commit details -
credstore: change contruction of existing credstores
Change how we construct the existing credential stores by simply new-ing them up, rather than calling a static `Open` method.
Configuration menu - View commit details
-
Copy full SHA for 02b6f43 - Browse repository at this point
Copy the full SHA 02b6f43View commit details -
plaintext-credstore: add plaintext credstore
Add a plaintext credential store option for Linux. Credentials are stored in plaintext files, by default in ~/.gcm/store, but configurable by settings/environment variables. Users can select between the Secret Service API and plaintext-based credential storage using the GCM_CREDENTIAL_STORE setting.
Configuration menu - View commit details
-
Copy full SHA for 094896e - Browse repository at this point
Copy the full SHA 094896eView commit details -
tests: introduce "Posix" and "All" PlatformFact support
Refactor the PlatformFact attribute to support a flags enum, such that compound platforms can be specified (e.g., Posix = Linux | Mac).
Configuration menu - View commit details
-
Copy full SHA for b582f0c - Browse repository at this point
Copy the full SHA b582f0cView commit details -
gpg-credstore: add GPG/pass based credential store
Add a `pass` compatible credential store that uses GPG to store encrypted credentials in files on disk. Defaults to the default `pass` password store, but can be overriden using standard `pass` envars.
Configuration menu - View commit details
-
Copy full SHA for 233d2e1 - Browse repository at this point
Copy the full SHA 233d2e1View commit details -
docs: add docs for configuring Linux cred stores
Add a document outlining the different credential stores available on Linux.
Configuration menu - View commit details
-
Copy full SHA for e69aeaa - Browse repository at this point
Copy the full SHA e69aeaaView commit details -
linux-credstore: extract credstore option constants
Extract the Linux Credential Store option constant values.
Configuration menu - View commit details
-
Copy full SHA for 68d94a2 - Browse repository at this point
Copy the full SHA 68d94a2View commit details -
Merge pull request #172 from mjcheetham/linux-credstores
Add a variety of credential stores on Linux
Configuration menu - View commit details
-
Copy full SHA for b360730 - Browse repository at this point
Copy the full SHA b360730View commit details -
Configuration menu - View commit details
-
Copy full SHA for f973308 - Browse repository at this point
Copy the full SHA f973308View commit details -
Merge pull request #174 from microsoft/linux-release-build
Add Linux Azure Pipelines release
Configuration menu - View commit details
-
Copy full SHA for 221fe61 - Browse repository at this point
Copy the full SHA 221fe61View commit details