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

Merge milestones/M158 to releases/shipped #1515

Merged
merged 236 commits into from
Sep 13, 2019
Merged

Commits on Jul 1, 2019

  1. Updating README.md

    Now, that local cache path defaults to `$HOME/.gvfsCache`, there's no need to specify --local-cache-path explicitly.
    turbonaitis authored Jul 1, 2019
    Configuration menu
    Copy the full SHA
    2fb3368 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2019

  1. Actionable notifications

    Native notifications can now have actions associated with them.
    When user clicks on the action button on a notification bubble,
    VFSForGit will run a Command in response.
    Example: Mount_Failure notification can specifiy the gvfs command
    "gvfs mount <path>" as its associated action. Actionable
    notifications also have an actionTitle, which get displayed as
    text in a Button control on the Notification bubble.
    
    Other details
    - Commands are run using Terminal app.
    - Terminal is launched using Applescript.
    - Only UpgradeAvailable and Mount_Failure notifications are
    actionable now.
    - VFSForGitNotification class now confirms to NSCoding protocol.
      VFSForGitNotification object holds details of the notification
      including associated commands. It is archived and sent to the
      OS notification center. When user clicks the notification
      bubble, the archived VFSForGitNotification is retrieved from
      the native notification, its associated Command is read and
      executed.
    alameenshah committed Jul 18, 2019
    Configuration menu
    Copy the full SHA
    6e5e390 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2019

  1. Merge pull request #1303: GVFS Health Feature

    Initial cut of Health Feature
    Halterer authored Jul 30, 2019
    Configuration menu
    Copy the full SHA
    4a4d9bb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    419f782 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    880cfd6 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2019

  1. Setup.iss: use {sys} variable when calling sc.exe

    Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
    derrickstolee committed Jul 31, 2019
    Configuration menu
    Copy the full SHA
    7ea06cc View commit details
    Browse the repository at this point in the history
  2. Increasing precision of timestamps being logged

    Tomas Urbonaitis committed Jul 31, 2019
    Configuration menu
    Copy the full SHA
    924fc1e View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1393: Setup.iss: use {sys} variable when calling …

    …sc.exe
    
    The [InnoSetup constants documentation](http://www.jrsoftware.org/ishelp/index.php?topic=consts) lists `{sys}` as the way to expand to what is typically `C:\Windows\System32`. This _should_ reduce issues with `PATH` modifications or system drive swaps.
    
    I manually tested upgrade to see that these paths were expanded correctly.
    derrickstolee authored Jul 31, 2019
    Configuration menu
    Copy the full SHA
    d0336e0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a0656ed View commit details
    Browse the repository at this point in the history
  5. No longer set PATH for git process and remove use of gvfs hooks root

    The git process was launched using a PATH environment variable with the
    gvfs hooks path to make sure that when a path in the repo was included in
    the user's PATH environment variable that it would only search outside
    the repo.  This was when the code was using git cat-file to hydrate files
    and searching for gvfs hooks would cause it to hydrate files which would
    cause it to search for hooks and it would be in a loop.
    
    This is no longer the case, the code is using libgit2 and the hooks are not
    called.  Since the gvfs hooks root was only used for setting the PATH for
    the git process, all references to it can be removed.
    Kevin Willford committed Jul 31, 2019
    Configuration menu
    Copy the full SHA
    e9cb9e6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    abbe0de View commit details
    Browse the repository at this point in the history
  7. Changes for PR feedback:

    - Add comments where needed
    - Stop creating BlobSizeConnections in OnEnumerateDirectory
    - Remove populateSizes parameter from GetProjectedItems
    wilbaker committed Jul 31, 2019
    Configuration menu
    Copy the full SHA
    37a1f6c View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2019

  1. Merge pull request #1388: Proper error message for 'git gui' on Mac

    Proper error message for 'git gui' on Mac
    jeschu1 authored Aug 1, 2019
    Configuration menu
    Copy the full SHA
    c277178 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cbf6350 View commit details
    Browse the repository at this point in the history
  3. Add SetupFixture for teardown to get the test results at the end

    Currently the output for running functional tests put the service logs
    and the run times for each of the tests at the end after the actual test
    summary results. This makes finding the actual results of failures harder
    to find since you have to scroll up an indeterminate amount to get to
    the results.
    
    This change will move the test run summary to the bottom of the output.
    So you can go straight to the bottom to see any failures.
    Kevin Willford committed Aug 1, 2019
    Configuration menu
    Copy the full SHA
    751f5ee View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1394 Increasing precision of timestamps being logged

    Increasing precision of timestamps being logged
    Kevin Willford authored Aug 1, 2019
    Configuration menu
    Copy the full SHA
    1d5afb2 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #1398 Mac: Don't download file sizes as part of On…

    …EnumerateDirectory
    
    Mac: Don't download file sizes as part of OnEnumerateDirectory
    wilbaker authored Aug 1, 2019
    Configuration menu
    Copy the full SHA
    a882d4c View commit details
    Browse the repository at this point in the history
  6. Merge pull request #1399 Add SetupFixture for teardown to get the tes…

    …t results at the end
    
    Add SetupFixture for teardown to get the test results at the end
    Kevin Willford authored Aug 1, 2019
    Configuration menu
    Copy the full SHA
    9763355 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    840c7ab View commit details
    Browse the repository at this point in the history
  8. Merge pull request #1384: [Mac] Don't allow cloning or mounting on ca…

    …se sensitive volumes
    
    [Mac] Don't allow cloning or mounting on case sensitive volumes
    jeschu1 authored Aug 1, 2019
    Configuration menu
    Copy the full SHA
    eae30e8 View commit details
    Browse the repository at this point in the history
  9. Merge pull request #1308: Updating README.md

    Now, that local cache path defaults to $HOME/.gvfsCache, there's no need to specify --local-cache-path explicitly.
    derrickstolee authored Aug 1, 2019
    Configuration menu
    Copy the full SHA
    409adda View commit details
    Browse the repository at this point in the history
  10. GeneratePrjFSXCConfig.sh should exit early if it fails to determine B…

    …UNDLE_VERSION. Additionally, make BUNDLE_VERSION Major.Minor
    wilbaker committed Aug 1, 2019
    Configuration menu
    Copy the full SHA
    f58718b View commit details
    Browse the repository at this point in the history
  11. Remove unused code

    Kevin Willford committed Aug 1, 2019
    Configuration menu
    Copy the full SHA
    ed150e2 View commit details
    Browse the repository at this point in the history
  12. Merge pull request #1392 Mac: Add version information to kext and Prj…

    …FS logging daemon
    
    Mac: Add version information to kext and PrjFS logging daemon
    wilbaker authored Aug 1, 2019
    Configuration menu
    Copy the full SHA
    e315c6c View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2019

  1. Merge pull request #1351 No longer set PATH for git process and remov…

    …e use of gvfs hooks root
    
    No longer set PATH for git process and remove use of gvfs hooks root
    Kevin Willford authored Aug 2, 2019
    Configuration menu
    Copy the full SHA
    34ed486 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2a45471 View commit details
    Browse the repository at this point in the history
  3. Implemented SubDirectoryInfo object

    Some organizational improvements to the code, since the SubDirectoryInfo
    object has named fields. Sub directory list now shows the fraction
    of files which are hydrated, sorting remains by number of hydrated files
    Added unit tests for the newly available information, the total number
    of files per sub directory.
    Halterer committed Aug 2, 2019
    Configuration menu
    Copy the full SHA
    7b46f37 View commit details
    Browse the repository at this point in the history
  4. Updated functional tests

    Halterer committed Aug 2, 2019
    Configuration menu
    Copy the full SHA
    27ef05b View commit details
    Browse the repository at this point in the history
  5. Merge pull request #1363: Handle corrupt objects on Mac

    Handle corrupt objects on Mac
    jeschu1 authored Aug 2, 2019
    Configuration menu
    Copy the full SHA
    aa786f9 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2019

  1. Configuration menu
    Copy the full SHA
    f3527b6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7b52897 View commit details
    Browse the repository at this point in the history
  3. Add Include Verb

    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    0800b48 View commit details
    Browse the repository at this point in the history
  4. Update projection to use the included folders

    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    73a5772 View commit details
    Browse the repository at this point in the history
  5. Force untracked files to be shown when running status for Dehydrate a…

    …nd Include verbs
    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    b8af57a View commit details
    Browse the repository at this point in the history
  6. Add path to included folders when folder created that is in the index…

    … but not in the included list
    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    5ab7bcc View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e873b0a View commit details
    Browse the repository at this point in the history
  8. Add some parenthesis to make code more readable

    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    873a07e View commit details
    Browse the repository at this point in the history
  9. Fix unit tests using include folders

    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    ced731a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    2a94e1e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    aaf9afc View commit details
    Browse the repository at this point in the history
  12. Add and clean up functional tests for included folders

    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    4e8f295 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    57de5e9 View commit details
    Browse the repository at this point in the history
  14. Handle folder created adding to included folder for Mac

    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    2f348d3 View commit details
    Browse the repository at this point in the history
  15. Adding more functional tests for included folders

    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    05dbb8f View commit details
    Browse the repository at this point in the history
  16. Fix issues when a file is read or modified before changing included f…

    …olders
    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    92ce5cc View commit details
    Browse the repository at this point in the history
  17. Add comments for more information

    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    0039614 View commit details
    Browse the repository at this point in the history
  18. Check return code when trying to add new folder to include

    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    b8b6ca2 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    ec64afb View commit details
    Browse the repository at this point in the history
  20. Default include verb to show list of folders when no arguments are pa…

    …ssed
    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    7fa910d View commit details
    Browse the repository at this point in the history
  21. Extend GitRepoTests to allow include mode (#1331)

    * Extend GitRepoTests to allow include mode
    
    The GitRepoTests can be initialized with a ValidateWorkingTree
    mode that is currently a boolean. If enabled, we will add extra
    checks to make sure the working tree of our virtual enlistment
    matches the enlistment from a vanilla Git repo.
    
    To extend this to the "include" mode, we need to first modify
    this boolean into an enum and add it as an extra option.
    
    Second, we need to be very careful about what we are comparing.
    We will no longer virtualize outside of the included folders.
    Be careful to include files in the root directory.
    
    The functional tests can then be run with "--partial-mode" to
    exercise only this option, which will isolate the test failures
    to this setting AND keep the test suite from getting too slow.
    
    Currently, the partial mode space is probably wider than
    necessary and can be reduced in later iterations. This
    does provide _some_ coverage.
    
    Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
    
    * Use enum for passing into all tests instead of an int
    
    * Clean up functional tests file system should extensions
    
    * Rename argument to --include-mode to match the feature
    
    * Add included folders below top level
    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    9728561 View commit details
    Browse the repository at this point in the history
  22. Some suggested cleanup for included folders (#1346)

    * Add unit tests, comments, and renamed variables to make code more understandable
    
    * Update include verb to give more information to the user
    
    * Change OnFolderCreated to have an out parameter instead of return value
    
    * Add comment for when there is an EIOError and why OnFileConvertedToFull is called
    
    * Log warning when TryAddIncludedFolder gets an exception from the database
    
    * Remove isDirectory parameter from MarkDirectoryAsPlaceholder since it is not used
    
    * Rename IncludedFoldersList to GetIncludedFolders
    
    * Revert changes to the GitIndexProjection constructor
    
    * Add test for mac creating a folder and file that are excluded
    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    f6cd3f5 View commit details
    Browse the repository at this point in the history
  23. Rename include to sparse throughout the code to more closely match gi…

    …t and it's sparse (#1348)
    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    a6243ad View commit details
    Browse the repository at this point in the history
  24. More cleanup sparse (#1368)

    * Normalize paths that are saved in the sparse table
    
    * Add comment for how the IsRecursive for a sparse folder is set
    
    * Add verification for mockCommand3 in GVFSDatabaseTests
    
    * Rename sparse test
    
    * Add some validation to sparse folder test
    
    * Rename method that validate folders to ValidateFoldersInSparseList
    
    * Add to and update the sparse tests
    
    * Add tests for various paths for the sparse verb and trim spaces
    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    2f23e65 View commit details
    Browse the repository at this point in the history
  25. Add unit tests for SparseTable and pull out some common code to base …

    …class (#1379)
    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    4264554 View commit details
    Browse the repository at this point in the history
  26. Use IsIncluded only on folder entries (#1345)

    * Use IsIncluded only on folder entries
    
    * Add more tests for SortedFolderEntries
    
    * Add comments for better understanding of the code
    
    * Remove call to GetFolderSparseState in UpdateOrDeleteFilePlaceholder
    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    67b89b0 View commit details
    Browse the repository at this point in the history
  27. Cleanup Sparse code from PR feedback

    Kevin Willford committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    9586d47 View commit details
    Browse the repository at this point in the history
  28. Merge pull request #1330 Add sparse verb for allowing projection of o…

    …nly specific folders
    
    Add sparse verb for allowing projection of only specific folders
    Kevin Willford authored Aug 5, 2019
    Configuration menu
    Copy the full SHA
    a1053d2 View commit details
    Browse the repository at this point in the history
  29. use WorkingDirectoryBackingRoot in RepairJobs

    Repair jobs run while the GVFS enlistment is not mounted,
    which on Linux requires us to use the backing root in order
    to access the .git contents.
    chrisd8088 committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    93f9811 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    6cd45c3 View commit details
    Browse the repository at this point in the history
  31. MountTests fixes

    kivikakk authored and chrisd8088 committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    f1c7422 View commit details
    Browse the repository at this point in the history
  32. Mac ProjFS Kext: Minor macro tweak

    This protects the vnodeType parameter of the KextLog_VnodeOp() macro from bugs due to operator precedence in expanded expressions.
    pmj committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    0975125 View commit details
    Browse the repository at this point in the history
  33. Mac ProjFS kext: Adds system for registering processes for offline ro…

    …ot I/O
    
    This change is in preparation for enabling I/O protection for offline virtualization roots.
    
     * Processes which must access the contents of offline roots, such as VFSForGit's own, may register with the kext to be granted permission by opening a new type of user client connection to the kext's service. There is no restriction on this mechanism, it simply prevents accidental untracked changes.
     * There are new unit tests covering the new functionality.
    pmj committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    f3e964d View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    2494534 View commit details
    Browse the repository at this point in the history
  35. Mac ProjFS kext: Preparation for denying access to offline roots.

    This change rearranges the TryGetVirtualizationRoot() and HandleVnodeOperation() logic to include decision points to deny or allow certain file operations if the root's provider is offline, to protect the integrity of the repository. All the new logic is added, but operations are not yet denied.
    
    Some new tests for HandleVnodeOperation are also added to cover the new code paths.
    pmj committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    8ecfa36 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    06f173a View commit details
    Browse the repository at this point in the history
  37. Mac ProjFS kext: Denies access when provider does not respond

    If for some reason the provider does not respond to a kernel request originating from an authorisation check callback, we now deny that authorisation.
    pmj committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    a30c92b View commit details
    Browse the repository at this point in the history
  38. Mac ProjFS kext: Denies write access to empty files in offline root

    Writes of any kind to empty files in an offline root should be denied to prevent data loss when the provider comes back online. File deletions meanwhile must be allowed so that the user may recursively delete the entire repository even if it is not mounted.
    
    A test has been added to verify that write access to empty files is indeed denied.
    pmj committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    5314a6b View commit details
    Browse the repository at this point in the history
  39. Mac ProjFS Kext: Denies write access to placeholder files in offline …

    …root
    
    Placeholder (non-full) files, although hydrated, should not be modified while the provider is offline, as the provider would miss the PreConvertToFull/FileModified events. This change enforces this and updates the tests to reflect this new expected behaviour.
    pmj committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    2b377fb View commit details
    Browse the repository at this point in the history
  40. Mac ProjFS Kext: Disallows file/directory renames in offline roots

    Renaming a file or directory in an offline virtualisation root should not be permitted. This change implements that functionality on OS versions which enable us to distinguish between KAUTH_VNODE_DELETE operations that are caused by a rename operation versus not. Older OSes necessarily must allow any KAUTH_VNODE_DELETE operation.
    pmj committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    82be28a View commit details
    Browse the repository at this point in the history
  41. Mac ProjFS kext: Unit test for rename blocking on offline roots

    This adds a unit test for disallowing file renames in offline roots on Mojave or newer, while also testing that on High Sierra, the rename is not blocked.
    pmj committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    98d117b View commit details
    Browse the repository at this point in the history
  42. Mac ProjFS kext: Blocks renaming files in offline roots at the hydrat…

    …ion stage
    
    This causes the offline root check to block the file renaming operation at the hydration stage for empty files. The unit test is updated to check both the empty and hydrated scenarios.
    pmj committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    bf90ffa View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    3357459 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    1663653 View commit details
    Browse the repository at this point in the history
  45. Mac ProjFS kext: Hardcodes offline I/O process array to fixed length …

    …of 128
    
    Some reduction in code complexity, as 128 ought to be enough for anyone.
    pmj committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    975c1a3 View commit details
    Browse the repository at this point in the history
  46. Mac kext: Drop lock for allocating virtualization root array memory

    Performing a blocking memory allocation while holding a lock in a vnode listener callback is not necessarily safe. (There is potential for a deadlock in low-memory situations.) When growing the virtualization root array, this was exactly what the existing code was doing. This change restructures the virtualization root insertion logic so that the lock can be dropped for allocating the larger memory block. Dropping the lock means it must be re-checked whether an insertion is necessary, which was not readily possible with the old code structure.
    pmj committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    3ab3209 View commit details
    Browse the repository at this point in the history
  47. Merge pull request #1403 Mac: Do not lookup or download file sizes wh…

    …en updating placeholders
    
    Mac: Do not lookup or download file sizes when updating placeholders
    wilbaker authored Aug 5, 2019
    Configuration menu
    Copy the full SHA
    aff5bb1 View commit details
    Browse the repository at this point in the history
  48. Some smaller cleanup

    Stop passing around KeyValuePairs instead of data objects
    Update unit tests accordingly
    Halterer committed Aug 5, 2019
    Configuration menu
    Copy the full SHA
    943b422 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    d4223ec View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2019

  1. Merge pull request #1415: Update Git to include octopus merge bugfix

    See microsoft/git#167 for details.
    
    This package also includes a Linux installer, since we have updated the build definition since the last Git update.
    derrickstolee authored Aug 6, 2019
    Configuration menu
    Copy the full SHA
    a7df389 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1280 from pmj/mac-kext-resize-roots

    Mac kext: Drop lock for allocating virtualization root array memory
    
    Performing a blocking memory allocation while holding a lock in a vnode listener callback is not necessarily safe. (There is potential for a deadlock in low-memory situations.) When growing the virtualization root array, this was exactly what the existing code was doing. This change restructures the virtualization root insertion logic so that the lock can be dropped for allocating the larger memory block. Dropping the lock means it must be re-checked whether an insertion is still necessary, which was not readily possible with the old code structure.
    pmj authored Aug 6, 2019
    Configuration menu
    Copy the full SHA
    e547846 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1208 from pmj/mac-kext-182-no-writes-on-offline-r…

    …oots
    
    Mac ProjFS: Deny I/O on offline roots, with exceptions, part 1
    
    This is the first stage of implementing #182 - the kext now blocks write I/O to empty or placeholder files on offline roots.
    
    I/O needs to be blocked when:
    
    1. A message failed to deliver to the provider.
    2. A process attempts to write to an empty file in an offline root (this file would subsequently be overwritten by a hydration event)
    3. A process attempts to write to a placeholder (hydrated unmodified) file when the provider is offline. The file would not show up in git status and could be overwritten by a subsequent checkout/rebase/merge.
    4. A process attempts to rename a file in an offline root.
    5. A process attempts to read/execute an empty file in an offline root. The result of the read would be bad data, so failing with denied authorisation is preferable to letting the bad data propagate.
    6. A process attempts to create files or directories in an offline root.
    
    This change implements cases 1-4. Cases 5-6 will be covered in a future change.
    
    At first glance this seems like it would be a very simple change, but in practice, some processes must be allowed unfettered access to files in offline roots. So a large part of this patch set is dedicated to implementing a system for allowing exceptions - there is a new type of IOKit user client for processes which need unrestricted access to offline roots, and this needed to be implemented all the way through from kext, via native lib, to (managed) VFS4G code proper.
    
    Next, the vnode handler, which is in the actual business of denying or allowing file access, has been expanded to allow returning different results based on whether the root's provider is offline.
    
    Finally, "deny" results are actually returned for a number of different cases - so far, this only includes writes. Even this caused some test failures, so the test process itself needs to register as an exception with unrestricted offline root access.
    pmj authored Aug 6, 2019
    Configuration menu
    Copy the full SHA
    1d9b7ae View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2019

  1. add MoveIndexFileFails() functional test

    On some platforms (notably Linux), we may receive only a pre-rename
    notification event rather than a pre-delete event, so the
    virtualization instance's OnPreRename() handler becomes responsible
    for ensuring that, outside of a GVFS lock, the .git/index file can
    not be renamed or renamed over.
    
    The BasicFileSystemTests.DeleteIndexFileFails() test handles
    the case of a true delete of .git/index, as well as platforms
    which deliver a pre-delete event on the source path prior to
    a rename action.
    
    As well, several GVFSLockTests tests such as
    LockPreventsRenameFromInsideWorkingTreeOnTopOfIndex() test the
    case of a file being renamed to .git/index, but no existing test
    checks for the case of .git/index being renamed to another path
    (although DeleteIndexFileFails() suffices on platforms which
    send a pre-delete event).
    
    Therefore we add an explicit MoveIndexFileFails() functional test
    to cover this case.
    chrisd8088 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    0dd7284 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1421: Update Git, drop MIDX writes

    This PR does two things:
    
    Updates Git to include the slow commit-graph write fix from microsoft/git#168. Also see #1420 for the M153 hotfix.
    
    Removes the multi-pack-index writes from the PostFetchStep and instead only writes the multi-pack-index during the PackfileMaintenanceStep. In order to get the most out of the step, we need to ensure we have a multi-pack-index before running the expire and repack steps. Also, we can only expire the packs from that day if they are contained in the multi-pack-index.
    
    If we agree that we should send (2) as a hotfix to the M155 release (in addition to (1), which is necessary), then I'll create a hotfix PR to that branch.
    derrickstolee authored Aug 7, 2019
    Configuration menu
    Copy the full SHA
    cd42bbd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    885fe79 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1313af0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    096226b View commit details
    Browse the repository at this point in the history
  6. Update NUnit dependencies

    Update the following dependencies:
    
      NUnit:              3.10.1 -> 3.12.0
      NUnitLite:          3.10.1 -> 3.12.0
      NUnite3TestAdapter: 3.10.1 -> 3.13.0
    
    This update includes a fix for the following issue we have have observed
    in our CI builds, where tests fail with the following exception:
    
      System.InvalidOperationException: Stack empty.
    
    Which appears to be this issue #2772 in https://github.com/nunit/nunit
    
    which indicates it is fixed in NUnit 3.12.
    jamill committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    425e8cd View commit details
    Browse the repository at this point in the history
  7. Merge pull request #1416 Mac: Fix and enable remaining dehydrate func…

    …tional tests
    
    Mac: Fix and enable remaining dehydrate functional tests
    wilbaker authored Aug 7, 2019
    Configuration menu
    Copy the full SHA
    d6d7b3e View commit details
    Browse the repository at this point in the history
  8. Merge pull request #1425: update NUnit dependencies

    Update NUnit dependencies
    jamill authored Aug 7, 2019
    Configuration menu
    Copy the full SHA
    051e36f View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2019

  1. Update mac uninstall script to remove GVFS service directory

    The mac uninstall script did not remove the GVFS service directory, resulting
    in GVFS artifacts being left around. This change updates the uninstall script
    to also remove the GVFS service directory. This brings the behavior of the mac
    uninstall script to match the Windows uninstall script in
    src/Scripts/UninstallGVFS.bat.
    
    One motivation for this change was that the Mac Functional test machines were
    gathering cruft from repeated test runs, such as the list of registered
    repositories in the repo-registry growing. This apparently caused the GVFS
    service start up time to grow, resulting in test failures.
    jamill committed Aug 8, 2019
    Configuration menu
    Copy the full SHA
    41c4d44 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1417: Update mac uninstall script to remove GVFS …

    …service directory
    
    Update mac uninstall script to remove GVFS service directory
    jamill authored Aug 8, 2019
    Configuration menu
    Copy the full SHA
    09b0c7c View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1409 from Halterer/SubDirectoryInfoObject

    SubDirectoryInfo Object
    Halterer authored Aug 8, 2019
    Configuration menu
    Copy the full SHA
    46118a9 View commit details
    Browse the repository at this point in the history
  4. Add lock around writes to SQLite database tables

    Kevin Willford committed Aug 8, 2019
    Configuration menu
    Copy the full SHA
    9f3cbd5 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #1431 Add lock around writes to SQLite database ta…

    …bles
    
    Add lock around writes to SQLite database tables
    Kevin Willford authored Aug 8, 2019
    Configuration menu
    Copy the full SHA
    1e9c5ec View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2019

  1. Allow privileged system service 'amfid' to hydrate

    - When amfid is invoked to check the code signature of a library which has not been hydrated,
      blocking hydration would cause the launch of an application which depends on the library to fail,
      so amfid should always be allowed to hydrate.
    jeschu1 committed Aug 9, 2019
    Configuration menu
    Copy the full SHA
    c5c3907 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1408: Include panic logs for vfs in diagnose

    Include panic logs for vfs in diagnose
    jeschu1 authored Aug 9, 2019
    Configuration menu
    Copy the full SHA
    467fdc7 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2019

  1. Merge pull request #1337: [Mac Kext] Remove '/System/Volumes/Data' wh…

    …en only in path
    
    Remove '/System/Volumes/Data' when only in path
    jeschu1 authored Aug 12, 2019
    Configuration menu
    Copy the full SHA
    da48fb0 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1436: [Mac kext] Allow privileged system service …

    …'amfid' to hydrate
    
    Allow privileged system service 'amfid' to hydrate
    jeschu1 authored Aug 12, 2019
    1 Configuration menu
    Copy the full SHA
    bf53ae9 View commit details
    Browse the repository at this point in the history
  3. Use default file length for MockGVFSGitObjects

    Kevin Willford committed Aug 12, 2019
    Configuration menu
    Copy the full SHA
    b61b859 View commit details
    Browse the repository at this point in the history
  4. Use default content id for VirtualizerTests

    Kevin Willford committed Aug 12, 2019
    Configuration menu
    Copy the full SHA
    58b76f9 View commit details
    Browse the repository at this point in the history
  5. Use static placeholder version variable

    Kevin Willford committed Aug 12, 2019
    Configuration menu
    Copy the full SHA
    5fcb0f8 View commit details
    Browse the repository at this point in the history
  6. Create classes for testing the FileSystemVirtualizers

    Kevin Willford committed Aug 12, 2019
    Configuration menu
    Copy the full SHA
    dd4cfa0 View commit details
    Browse the repository at this point in the history
  7. Add InvokeGetFileDataCallback for tester and use in tests

    Kevin Willford committed Aug 12, 2019
    Configuration menu
    Copy the full SHA
    1239360 View commit details
    Browse the repository at this point in the history
  8. Add MacFileSystemVirtualizerTester to use for Mac tests

    Kevin Willford committed Aug 12, 2019
    Configuration menu
    Copy the full SHA
    6a98f69 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2019

  1. Use the MacFileSystemVirtualizerTester for tests

    Kevin Willford committed Aug 13, 2019
    Configuration menu
    Copy the full SHA
    304fb27 View commit details
    Browse the repository at this point in the history
  2. Add unit tests to cover sparse in MacFileSystemVirtualizer

    Kevin Willford committed Aug 13, 2019
    Configuration menu
    Copy the full SHA
    1c13b1a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6b068b6 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2019

  1. use DirectorySeparatorChar in repair job messages

    Avoid hard-coding the Windows backslash path separator
    in messages printed by the repair jobs.
    chrisd8088 committed Aug 14, 2019
    Configuration menu
    Copy the full SHA
    ec88022 View commit details
    Browse the repository at this point in the history
  2. avoid hydrating .git dir in cache tests on Mac

    Fix the path matching in the HydrateEntireRepo() helper
    for MultiEnlistmentTests.SharedCacheTests, which was not
    excluding "{repoRoot}/.git/" paths on Mac (or Linux) due to
    hard-coded Windows path separators.
    chrisd8088 committed Aug 14, 2019
    Configuration menu
    Copy the full SHA
    72f20f5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e51e823 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1449 Don't log errors when MaintenanceSteps fail …

    …due to the repo being deleted
    
    Don't log errors when MaintenanceSteps fail due to the repo being deleted
    wilbaker authored Aug 14, 2019
    Configuration menu
    Copy the full SHA
    6d0e889 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2019

  1. Configuration menu
    Copy the full SHA
    48ae854 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1446 Cleanup virtualizer tests

    Cleanup virtualizer tests
    Kevin Willford authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    bb2091f View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1450 Add information for when lock is release by …

    …process not owning the lock
    
    Add information for when lock is release by process not owning the lock
    Kevin Willford authored Aug 15, 2019
    Configuration menu
    Copy the full SHA
    9c733e5 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2019

  1. Merge pull request #1448 from github/use-dir-sep-char

    [POSIX] Use platform-specific path separators in repair jobs and cache tests
    
    Avoid hard-coding the Windows backslash path separator in messages
    printed by the repair jobs.
    
    Per @kewillford's suggestion, we use GVFSConstants.DotGit.* properties
    throughout.
    
    Also fix the path matching in the HydrateEntireRepo() helper for MultiEnlistmentTests.SharedCacheTests, which was not excluding
    {repoRoot}/.git/ paths on Mac (or Linux) due to hard-coded Windows
    path separators.
    chrisd8088 authored Aug 16, 2019
    Configuration menu
    Copy the full SHA
    acee8df View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2019

  1. align CmdRunner access-denied messages with others

    Per PR suggestion from wilbaker, we can align the
    messages and tests in the AccessShouldBeDenied versions
    of the DeleteFile and ReplaceFile methods with those
    found in the other runner classes.
    chrisd8088 committed Aug 17, 2019
    Configuration menu
    Copy the full SHA
    427c3f6 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1428 from github/move-index-test

    add MoveIndexFileFails() functional test
    
    On some platforms (notably Linux), we receive only a pre-rename
    permission request rather than a pre-delete permission request
    during a rename(2) operation, so the virtualization instance's
    OnPreRename() handler becomes responsible for ensuring that,
    outside of a GVFS lock, the .git/index file can not be renamed or
    overwritten.
    
    The BasicFileSystemTests.DeleteIndexFileFails() test handles the
    case of a true delete of .git/index, as well as platforms which deliver
    a pre-delete event on the source path prior to a rename action.
    
    As well, several GVFSLockTests tests such as the
    LockPreventsRenameFromInsideWorkingTreeOnTopOfIndex() test
    the case of a file being renamed to .git/index, but no existing test
    checks for the case of .git/index being renamed to another path
    (although DeleteIndexFileFails() likely suffices on platforms which
    send a pre-delete event).
    
    Therefore we add an explicit MoveIndexFileFails() functional test
    to cover this case.  Note that we use System.IO.File.Replace() in
    the SystemIORunner because File.Move() is implemented on
    Unix/POSIX systems such that it actually performs a copy or hard link
    first, then a delete, not a true rename(2).  The effect on a platform
    where pre-rename but not pre-delete events are delivered on
    rename operations is that the link succeeds, then the delete fails
    (since that does send a pre-delete permission request, which is
    denied as the path is .git/index), leaving behind a spurious extra
    file link.  So we want to trigger a true rename(2), which is what
    File.Replace() does.
    chrisd8088 authored Aug 17, 2019
    Configuration menu
    Copy the full SHA
    c9fd09f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8ffeee2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    702cc77 View commit details
    Browse the repository at this point in the history
  5. Mac PrjFSLib: Makes offline I/O registration thread safe and refcounted

    Calling PrjFS_RegisterForOfflineIO() twice and then PrjFS_UnregisterForOfflineIO() twice no longer causes a failed assertion, is more efficient (only one shared user client instance) and is now thread-safe.
    pmj committed Aug 17, 2019
    Configuration menu
    Copy the full SHA
    8ef11d8 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2019

  1. Mac ProjFS Kext: Prevents creation of new files & dirs in offline roots

    Also adds a kext unit test for blocking file/directory creation in offline roots.
    
    This further access restriction to offline roots causes problems in the CheckoutBranchWithOpenHandleBlockingProjectionDeleteAndRepoMetdataUpdate functional test, so this test now registers for offline I/O as well.
    pmj committed Aug 19, 2019
    Configuration menu
    Copy the full SHA
    55dfe47 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1429 from pmj/mac-kext-182-block-offline-empty-fi…

    …le-access
    
    Mac ProjFS kext: Deny I/O on offline roots, with exceptions, part 2
    
    This is a continuation of the work on issue #182. The remaining operations to block are:
    
     * A process attempts to read/execute an empty file in an offline root. The result of the read would be bad data, so failing with denied authorisation is preferable to letting the bad data propagate.
     * A process attempts to create files or directories in an offline root.
    
    The commits implementing those 2 changes are fairly straightforward, however they did cause some knock-on effects:
    
     * During gvfs clone, the git subprocess itself wants to create files/directories in the offline root, so we need it to inherit the parent gvfs process's entitlement to access offline roots. The exception check therefore now walks up the process hierarchy.
     * One of the functional tests, CheckoutBranchWithOpenHandleBlockingProjectionDeleteAndRepoMetdataUpdate needs to mess with the repo while it's not mounted, so I've registered the test runner for offline I/O for the duration of that test.
     * To avoid weird edge cases, I've made the offline I/O registration in the native userlib thread-safe and reference counted, so registering multiple times is fine, and we only actually deregister once it's been matched with an equal number of unregister calls.
    pmj authored Aug 19, 2019
    Configuration menu
    Copy the full SHA
    0da681c View commit details
    Browse the repository at this point in the history
  3. Auto-unmount repos in pre-install

    Mac installer pkg would now automatically unmount all repositories
    registered for auto mount
    
    Fixes #1124
    alameenshah committed Aug 19, 2019
    Configuration menu
    Copy the full SHA
    6a4485d View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1411 from github/backing-root-fixes

    [Linux] Convert tests and repair jobs to use backing root
    
    Convert all relevant uses of RepoRoot and WorkingDirectoryRoot in
    the GVFS provider and functional tests to use the backing root, to ensure
    these tests will pass on systems where they are distinct (e.g., Linux).
    
    For example, repair jobs run while the GVFS enlistment is not mounted,
    which on Linux requires us to use the backing root in order to access the
    ".git" contents; similarly, the MountTests are adjusted to ensure they
    don't expect file contents within an unmounted repository.
    chrisd8088 authored Aug 19, 2019
    Configuration menu
    Copy the full SHA
    e073946 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2019

  1. Update Git to v2.23.0 [PR Build]

    Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
    derrickstolee committed Aug 20, 2019
    Configuration menu
    Copy the full SHA
    0db47b6 View commit details
    Browse the repository at this point in the history
  2. Drop extra newline that was dropped in Git v2.23.0

    Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
    derrickstolee committed Aug 20, 2019
    Configuration menu
    Copy the full SHA
    de02ac3 View commit details
    Browse the repository at this point in the history
  3. Make rebase validation use -q, check tree after

    The output is strangely off by some whitespace, so instead of
    worrying about that, make sure the resulting tree is the same.
    
    Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
    derrickstolee committed Aug 20, 2019
    Configuration menu
    Copy the full SHA
    561e4fb View commit details
    Browse the repository at this point in the history
  4. Use GIT_QUIET to make tests more robust

    Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
    derrickstolee committed Aug 20, 2019
    Configuration menu
    Copy the full SHA
    9bc43d9 View commit details
    Browse the repository at this point in the history
  5. Add 'restore' and 'switch' to list of known git commands

    Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
    derrickstolee committed Aug 20, 2019
    Configuration menu
    Copy the full SHA
    9f41716 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5e883e3 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b19d2a5 View commit details
    Browse the repository at this point in the history
  8. Update IsCheckoutWithFilePaths for 'switch' and 'restore'

    Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
    derrickstolee committed Aug 20, 2019
    Configuration menu
    Copy the full SHA
    98befd6 View commit details
    Browse the repository at this point in the history
  9. Merge pull request #1440: Add LogInfo / LogWarning messages to PrjFSLib

    Add LogInfo / LogWarning messages to PrjFSLib
    jeschu1 authored Aug 20, 2019
    Configuration menu
    Copy the full SHA
    5222875 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2019

  1. - Updated Apple Event usage description string to be generic.

    - New text: `$(PRODUCT_NAME)` uses `Terminal` app to run `gvfs`
      commands.
    alameenshah committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    37fda70 View commit details
    Browse the repository at this point in the history
  2. Check for new Panic Logs where PrjFSKextLogDaemon is started

    - A time file is used to differentiate the last sweep
    - The name of the panic file is sent to telemetry
    jeschu1 committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    e2c45c6 View commit details
    Browse the repository at this point in the history
  3. Enabling Service verb Functional tests

    - Removed Category.MacTODO.NeedsServiceVerb
    - Updated the category of SharedCacheTests::CloneCleansUpStaleMetadataLock
      to TestNeedsToLockFile. The test case assumes Windows style file
      locking behavior; causing it to fail on the Mac.
    
    Fixes #1217
    alameenshah committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    75c61c0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0a78824 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #1445: Check for new Panic Logs where PrjFSKextLog…

    …Daemon is started
    
    Check for new Panic Logs where PrjFSKextLogDaemon is started
    jeschu1 authored Aug 21, 2019
    Configuration menu
    Copy the full SHA
    d286a9b View commit details
    Browse the repository at this point in the history
  6. Add a global setup when using a --test= option

    Kevin Willford committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    19867a3 View commit details
    Browse the repository at this point in the history
  7. Update Git to include 'git checkout -b' fix

    Includes updates from microsoft/git#183.
    
    Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
    derrickstolee committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    ae53240 View commit details
    Browse the repository at this point in the history
  8. Merge pull request #1467 Add a global setup class when using a --test…

    …= option
    
    Add a global setup class when using a --test= option
    Kevin Willford authored Aug 21, 2019
    Configuration menu
    Copy the full SHA
    f358148 View commit details
    Browse the repository at this point in the history
  9. Mac: Add mdworker_shared to the IsFileSystemCrawler block list

    mdworker_shared is part of the Spotlight indexing service and should
    not be allowed to hydrate files.
    wilbaker committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    bcf608d View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2019

  1. Merge pull request #1389: Update Git to v2.23.0

    See microsoft/git#165 for the rebase onto v2.23.0.windows.1.
    
    This PR has a few reactions to that update:
    
    A newline was dropped in a message. Remove it from our expectation in a test.
    Rebase now has unpredictable extra line of whitespace sometimes. However, -q doesn't work in tandem with --merge, but using GIT_QUIET=true makes the output quiet on Windows. Still doesn't work on OSX for some reason, so also ignore the error output and focus on the end-result. Use git rev-parse HEAD^{tree} to ensure we got the same resulting working directory.
    FileContentsShouldMatch() used to fail if both of the files didn't exist. Something changed in v2.23.0 such that a cherry-pick loses a file in both vanilla Git and VFS for Git, so the test started failing on that path. Relax the condition, since the files do match.
    KnownGitCommands needs to include restore and switch, resolving #1463.
    Includes the performance fix for git checkout -b from microsoft/git#183.
    derrickstolee authored Aug 22, 2019
    Configuration menu
    Copy the full SHA
    9b38d16 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fa5b4c4 View commit details
    Browse the repository at this point in the history
  3. Mark MoveIndexFileFails as MacOnly because CmdRunner on Windows is fa…

    …iling
    Kevin Willford committed Aug 22, 2019
    Configuration menu
    Copy the full SHA
    bfbbd53 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1473 Mac: Add mdworker_shared to the IsFileSystem…

    …Crawler block list
    
    Mac: Add mdworker_shared to the IsFileSystemCrawler block list
    wilbaker authored Aug 22, 2019
    Configuration menu
    Copy the full SHA
    a648ad0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fed1f5f View commit details
    Browse the repository at this point in the history
  6. Merge pull request #1476 Mark MoveIndexFileFails as MacOnly because C…

    …mdRunner on Windows failing
    
    Mark MoveIndexFileFails as MacOnly because CmdRunner on Windows failing
    Kevin Willford authored Aug 22, 2019
    Configuration menu
    Copy the full SHA
    e336ef7 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #1452: Correct Upgrade Messages for Mac

    Correct Upgrade Messages for Mac
    jeschu1 authored Aug 22, 2019
    Configuration menu
    Copy the full SHA
    e534dfc View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2019

  1. use platform-specific property for case matching

    This only applies to on-disk operations like locating the ".git"
    directory or ".idx" files, etc. -- the repository contents remain
    case-insensitive.
    
    Co-authored-by: Chris Darroch <chrisd8088@github.com>
    kivikakk and chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    e6eb054 View commit details
    Browse the repository at this point in the history
  2. add case-sensitive matching/sorting on repo paths

    Introduce case-sensitive file path matching and sorting
    of file and folder names within the repository as well as
    the modified paths and placeholder list databases, but only
    on Linux and other case-sensitive file systems, while
    retaining existing case-insensitive behaviour on Windows
    and Mac platforms.
    
    Also make sure to exclude the case-sensitive filesystem
    unit tests when running on Windows or Mac platforms.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    abd8a62 View commit details
    Browse the repository at this point in the history
  3. use platform-based case comparisons in DiffHelper

    Includes filename case corrections in PrefetchVerbTests to
    prevent test case regressions on Linux.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    5c78902 View commit details
    Browse the repository at this point in the history
  4. use platform-specific path matching in func tests

    Use filesystem-specific case matching when comparing path
    throughout the functional test suite.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    66e3e21 View commit details
    Browse the repository at this point in the history
  5. toggle path case-sensitivity in hydrate func tests

    We divide the HydratingFileUsesNameCaseFromRepo() and
    HydratingNestedFileUsesNameCaseFromRepo() functional tests
    into pairs, one for case-sensitive filesystems such as Linux,
    and one for case-insensitive filesystems like Mac and Windows.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    f59a3b9 View commit details
    Browse the repository at this point in the history
  6. toggle path case-sensitivity in folder tests

    We divide the
    FolderContentsProjectedAfterFolderCreateAndCheckout()
    functional test into a pair, one for case-sensitive
    filesystems such as Linux, and one for case-insensitive
    filesystems like Mac and Windows.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    cac1316 View commit details
    Browse the repository at this point in the history
  7. toggle path case-sensitivity in UTF8 tests

    We divide the FilterNonUTF8FileName() functional test
    into a pair, one for case-sensitive filesystems such as
    Linux, and one for case-insensitive filesystems like
    Mac and Windows.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    17c85f9 View commit details
    Browse the repository at this point in the history
  8. always lowercase SHA1 filenames for Linux

    On Linux, file paths are case-sensitive, so we always use
    lowercase paths generated from SHA1 values because that
    ensures consistency with Git's own naming scheme for
    files under .git/objects.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    7b7d581 View commit details
    Browse the repository at this point in the history
  9. use mixed-case FastFetch.dll in functional tests

    Make sure to use the exact case-sensitive name of
    FastFetch.dll in the test suite.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    8c05870 View commit details
    Browse the repository at this point in the history
  10. use FileSystemHelpers in additional func tests

    Simplify a few more platform-specific case-sensitivity
    checks in the functional tests and CmdRunner by using
    FileSystemHelpers, as suggested by kewillford on PR review.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    6067f04 View commit details
    Browse the repository at this point in the history
  11. add case-sensitive filesystem DiffHelperTests test

    Per PR suggestion from kewillford.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    124b6b7 View commit details
    Browse the repository at this point in the history
  12. Add case-differing-only SortedFolderEntriesTests

    Per PR suggestion from kewillford.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    2886081 View commit details
    Browse the repository at this point in the history
  13. hoist case-sensitivity check out of compare loop

    Per PR suggestion from wilbaker, we hoist the check
    on whether to perform a case-sensitive string comparison
    or not out of the core loop of the LazyUTF8String.Compare()
    method in GitIndexProjection.  This should reduce the
    number of additional conditional tests to just one per
    Compare() invocation, as opposed to one per compared byte.
    
    (We could, if need be, further reduce the overhead by
    creating two independent Compare() methods and not passing
    in a bool flag, and then hoisting the comparsion-mode check
    higher in SortedFolderEntries.GetSortedEntriesIndexOfName()
    so that different versions of that method were executed
    depending on the mode.  However, we reserve this option
    for now, depending on the results of performance tests.)
    
    We also add labels to the bool flags used in some of
    the helper methods used by the unit tests, per PR advice.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    ef2af6f View commit details
    Browse the repository at this point in the history
  14. only down-case SHA1s on case-sensitive filesystems

    Per PR advice from wilbaker.
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    d4c8260 View commit details
    Browse the repository at this point in the history
  15. fix abd8a62

    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    e1ef0c1 View commit details
    Browse the repository at this point in the history
  16. restore common func tests but add case-sensitivity

    As wilbaker noted in PR review, we really don't need the
    Case[In]SensitiveFileSystem functional test categories because
    we've now created the public boolean flag in FileSystemHelpers,
    so we can just toggle case-sensitive behaviour on that flag
    instead of duplicating tests and moving code around.  Nice catch!
    chrisd8088 committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    7100179 View commit details
    Browse the repository at this point in the history
  17. Mac ProjFS userlib: Fixes resource leaks from shadowed variables

    Variables were re-declared instead of simply assigned, potentially causing resource leaks and incorrect return codes on error control flow paths.
    pmj committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    e7d370f View commit details
    Browse the repository at this point in the history
  18. Mac ProjFS: Enable warning for shadowed local variables, fix instances

    To avoid bugs resulting from shadowed variables in future, the corresponding compiler warning is now turned on across the entire project. A few benign instances discovered by the setting are resolved as well.
    pmj committed Aug 23, 2019
    Configuration menu
    Copy the full SHA
    222087f View commit details
    Browse the repository at this point in the history
  19. Merge pull request #1412 from github/case-sensitive-repos

    [Linux] Support case-sensitive filesystems
    
    Introduce case-sensitive file path matching and sorting of
    file and folder names within the repository as well as the
    modified paths and placeholder list databases, but only on
    Linux and other case-sensitive file systems, while retaining
    existing case-insensitive behaviour on Windows and Mac
    platforms.
    
    We use filesystem-specific case matching when comparing path
    throughout the functional test suite, and also make sure to
    exclude the case-sensitive filesystem unit tests when running on
    Windows or Mac platforms.
    
    We include some filename case corrections to prevent test case
    regressions on case-sensitive filesystems, and use lowercase
    paths generated from SHA1 values because that ensures
    consistency with Git's own naming scheme for files under
    .git/objects on case-sensitive filesystems.
    chrisd8088 authored Aug 23, 2019
    Configuration menu
    Copy the full SHA
    4736473 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    024f195 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2019

  1. Merge pull request #1483 from pmj/mac-projfs-shadowed-variable-bugfixes

    Mac ProjFS: shadowed variable bugfixes
    
    This fixes a few subtle bugs caused by accidentally shadowed variables, and enables a compiler warning to prevent the class of bug in future.
    pmj authored Aug 24, 2019
    Configuration menu
    Copy the full SHA
    993b69d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    33d723c View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1487: Use the full path to GVFS.Hooks executable …

    …in the hook configuration
    jrbriggs authored Aug 24, 2019
    Configuration menu
    Copy the full SHA
    6446823 View commit details
    Browse the repository at this point in the history
  4. Mac ProjFS kext: Vnode access error logging improvements

     * The KextLog_File* macros are extended to output the vnode type as well as path.
     * Failures on vnode_lookup() will now only generate an "error" level log event if the path lies within an active root, otherwise the default log level is used.
    pmj committed Aug 24, 2019
    Configuration menu
    Copy the full SHA
    9138c33 View commit details
    Browse the repository at this point in the history
  5. Mac ProjFS userlib: Consistently don't follow symlinks for metadata I/O

    The code previously used a mixture of symlink-following and non-symlink following function calls. As ProjFS operates on symlinks as well, all such calls must be non-following.
    pmj committed Aug 24, 2019
    Configuration menu
    Copy the full SHA
    a9894fb View commit details
    Browse the repository at this point in the history
  6. Mac ProjFS kext: Consistently don't follow symlinks on vnode_lookup

    As ProjFS operates on symlinks themselves, vnode lookups must not follow symlinks.
    pmj committed Aug 24, 2019
    Configuration menu
    Copy the full SHA
    47901cd View commit details
    Browse the repository at this point in the history
  7. Mac ProjFS kext test: Use switch fall-through to make coverage happy

    For some reason the test coverage check fails when we return from the default: switch case. Removing the default: case and returning after the switch block instead seems to make it happy.
    pmj committed Aug 24, 2019
    Configuration menu
    Copy the full SHA
    feb70fb View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2019

  1. Configuration menu
    Copy the full SHA
    49e79e0 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2019

  1. Merge pull request #1482 from pmj/mac-projfs-1479-1480-no-follow-syml…

    …inks
    
    Mac ProjFS: Don't follow symlinks in kext & userlib, logging improvements
    pmj authored Aug 27, 2019
    Configuration menu
    Copy the full SHA
    e9b5836 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1485: Mark panic strings as 'public' so they appe…

    …ar in Console
    
    Mark panic strings as 'public' so they appear in Console
    jeschu1 authored Aug 27, 2019
    Configuration menu
    Copy the full SHA
    4b6bfdb View commit details
    Browse the repository at this point in the history
  3. Clean up Register/Unregister for OfflineIO

    - Add a call from MountSetsCoreHooksPath
    - Ensure we check Register is successful when starting up
    - Have verbs explicitly unregister
    jeschu1 committed Aug 27, 2019
    Configuration menu
    Copy the full SHA
    553f9bb View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2019

  1. Merge pull request #1486: Clean up Register/Unregister for OfflineIO

    Clean up Register/Unregister for OfflineIO
    jeschu1 authored Aug 28, 2019
    Configuration menu
    Copy the full SHA
    0445f9e View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2019

  1. Fix mac installer/upgrader failure

    VFSForGit installer fails in postinstall script while trying to
    launch Service and UserNotification agents in GUI context of
    logged in users. To determine users logged into the GUI context,
    postinstall script looks for loginwindow commands and the user
    running the command. When Fast User switching is enabled, then
    loginwindow can be running as root user, even though root user
    is Not logged in. In such cases, postinstall tries to launch
    Service and UserNotifcation agents in GUI context of root user
    (that does not exist) resulting in failure. This commit makes
    postinstall look for Finder command (which only runs after a
    user has successfully logged into GUI context and is therefore
    more reliably associated with GUI session) rather than
    loginwindow.
    
    Also Updated launchd plist for Service and Notification agents,
    added LimitLoadToSessionType = Aqua, just to make sure the
    agents get launched into the GUI context only.
    
    Fixes #1444
    alameenshah committed Aug 29, 2019
    Configuration menu
    Copy the full SHA
    eae1d32 View commit details
    Browse the repository at this point in the history
  2. [macOS] Capture installer log on upgrade failure

    - Save last 100KB of /var/log/installer.log immediately after
      an upgrade failure.
    - Installer logs would be available through `gvfs diagnose`.
    - Added new platform property SupportsSystemInstallLog. This will be
      set to true for Platforms(macOS) that keep system wide installer log
      (vs custom logs specific to VFSForGit installer package).
    alameenshah committed Aug 29, 2019
    Configuration menu
    Copy the full SHA
    c0c8c3f View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2019

  1. Configuration menu
    Copy the full SHA
    a47b4cf View commit details
    Browse the repository at this point in the history
  2. Add method of running the full dehydrate

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    9cba0f5 View commit details
    Browse the repository at this point in the history
  3. Add folders option to the dehydrate verb

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    d211816 View commit details
    Browse the repository at this point in the history
  4. Add method to remove all entries that start with a path

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    df7931e View commit details
    Browse the repository at this point in the history
  5. Add method to remove all entries for a folder

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    8df5cf6 View commit details
    Browse the repository at this point in the history
  6. Add method to dehydrate a folder

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    213091b View commit details
    Browse the repository at this point in the history
  7. Add dehydrate message to named pipe messages

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    92c98db View commit details
    Browse the repository at this point in the history
  8. Add functional tests for dehydrating folders

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    3951c2a View commit details
    Browse the repository at this point in the history
  9. Add some error handling to dehydrate folders

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    1cf8a81 View commit details
    Browse the repository at this point in the history
  10. Only create placeholder on mac if folder is included

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    5b03bf6 View commit details
    Browse the repository at this point in the history
  11. Cleanup some error messages

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    b8b4f4e View commit details
    Browse the repository at this point in the history
  12. Move NormalizePath to GVFSDatabase class so it can be used in table c…

    …lasses
    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    7a29d3d View commit details
    Browse the repository at this point in the history
  13. Remove unused method

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    0946cdf View commit details
    Browse the repository at this point in the history
  14. Add functional tests and address some PR feedback

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    78118fb View commit details
    Browse the repository at this point in the history
  15. Error handling and comment when creating the placeholder on Mac when …

    …included
    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    0b83e87 View commit details
    Browse the repository at this point in the history
  16. Update output for status when using folders option

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    84555ba View commit details
    Browse the repository at this point in the history
  17. Separate copy and delete in dehydrate folders to give better error me…

    …ssages
    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    6e8175c View commit details
    Browse the repository at this point in the history
  18. Update message for failed folders during dehydrate

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    84c2433 View commit details
    Browse the repository at this point in the history
  19. Update dehydrate folder tests

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    8729f92 View commit details
    Browse the repository at this point in the history
  20. Allow multiple strings in DehydrateShouldSucceed method

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    28d64e5 View commit details
    Browse the repository at this point in the history
  21. Update some messge wording

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    eca4491 View commit details
    Browse the repository at this point in the history
  22. Add unit tests for the RemoveAllEntriesForFolder method

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    66e46df View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    4b59f1e View commit details
    Browse the repository at this point in the history
  24. Add logging when adding a modified path fails

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    0e2505e View commit details
    Browse the repository at this point in the history
  25. Parent dehydrated means cannot create placeholder for child

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    4e4b2d8 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    5435742 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    ba80222 View commit details
    Browse the repository at this point in the history
  28. Use fullDehydrate variable in all places

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    5bc364d View commit details
    Browse the repository at this point in the history
  29. Show parent folder that needs to be dehydrated

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    672cde7 View commit details
    Browse the repository at this point in the history
  30. Mac ProjFS: Don't perform user/kernel version validation for offline I/O

    Offline I/O registration uses a trivial user/kernel API which is not sensitive to version differences, and there have been instances where gvfs upgrade has failed and left VFS4G in an unusable state because version validation failed mid-upgrade.
    
    This change disables validation for offline I/O registration only.
    pmj committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    3516e95 View commit details
    Browse the repository at this point in the history
  31. Add more functional tests for dehydrate

    Kevin Willford committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    7956bd9 View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2019

  1. Mac installer preinstall failure

    All registered repositories should be unmounted before unloading
    the PrjFS Kext.
    alameenshah committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    23e09da View commit details
    Browse the repository at this point in the history
  2. Check the disposing flag in Dispose methods

    When implementing Dispose the disposing flag needs to be checked so that
    objects that may have already been disposed of through gc will not be used
    and cause a ObjectDisposedException.
    Kevin Willford committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    26da1a7 View commit details
    Browse the repository at this point in the history
  3. Remove NormalizePath from SparseTable

    Kevin Willford committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    e522aed View commit details
    Browse the repository at this point in the history
  4. Update messages to be more consistent

    Kevin Willford committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    65fb064 View commit details
    Browse the repository at this point in the history
  5. Rename methods to be more descriptive

    Kevin Willford committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    536b017 View commit details
    Browse the repository at this point in the history
  6. Merge pull request #1507 Check the disposing flag in Dispose methods

    Check the disposing flag in Dispose methods
    Kevin Willford authored Sep 4, 2019
    Configuration menu
    Copy the full SHA
    3511453 View commit details
    Browse the repository at this point in the history
  7. Method name cleaup, string comparison fix, and add const for folder s…

    …eparator
    Kevin Willford committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    98e2a19 View commit details
    Browse the repository at this point in the history
  8. Rename DehydrateFolder to TryDehydrateFolders indicating there is a r…

    …eturn value
    Kevin Willford committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    fae268b View commit details
    Browse the repository at this point in the history
  9. diff: use csharp driver for better function headers in .cs files

    Update .gitattributes to use the csharp pattern for hunk headers in *.cs files.
    This will result in the csharp function name that a change occurs in to be
    included in the hunk header.
    jamill committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    c4f21f3 View commit details
    Browse the repository at this point in the history
  10. Update tests to match new messages

    Kevin Willford committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    22de908 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2019

  1. Merge pull request #1499 from pmj/mac-projfs-offline-io-registration-…

    …no-kext-user-version-validation
    
    Mac ProjFS: Don't perform user/kernel version validation for offline I/O
    pmj authored Sep 5, 2019
    Configuration menu
    Copy the full SHA
    e9f1a21 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1508: diff: use csharp driver for better function…

    … headers in .cs files
    
    diff: use csharp driver for better function headers in .cs files
    jamill authored Sep 5, 2019
    Configuration menu
    Copy the full SHA
    7b5056f View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1323 Dehydrate folders

    Dehydrate folders
    Kevin Willford authored Sep 5, 2019
    Configuration menu
    Copy the full SHA
    d19e39a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    213d8a2 View commit details
    Browse the repository at this point in the history
  5. Hydrate executables

    -  This fixes the failure when a Phython Executable is called before hydration.
    jeschu1 committed Sep 5, 2019
    Configuration menu
    Copy the full SHA
    f666c33 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2019

  1. Merge pull request #1498: Don't allow Executables to be Placeholder

    Don't allow Executables to be Placeholders
    jeschu1 authored Sep 6, 2019
    Configuration menu
    Copy the full SHA
    e2dcb91 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    29ca1f5 View commit details
    Browse the repository at this point in the history
  3. Update user message when no folders in sparse list

    Kevin Willford committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    e863f8c View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2019

  1. Merge pull request #1513 Sparse UI cleanup

    Sparse ui cleanup
    Kevin Willford authored Sep 9, 2019
    Configuration menu
    Copy the full SHA
    72b2c5a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c126571 View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2019

  1. Configuration menu
    Copy the full SHA
    7cf9194 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1518 [Merge to M158] Call multi-pack-index with -…

    …-no-progress
    
    [Merge to M158] Call multi-pack-index with --no-progress
    wilbaker authored Sep 10, 2019
    Configuration menu
    Copy the full SHA
    603c90e View commit details
    Browse the repository at this point in the history