Skip to content

[168 Blocker] Fix query-watchman hook installation#359

Closed
derrickstolee wants to merge 3 commits intomicrosoft:masterfrom
derrickstolee:mac-root-hooks-path
Closed

[168 Blocker] Fix query-watchman hook installation#359
derrickstolee wants to merge 3 commits intomicrosoft:masterfrom
derrickstolee:mac-root-hooks-path

Conversation

@derrickstolee
Copy link
Contributor

@derrickstolee derrickstolee commented Mar 27, 2020

In #349, we updated where the hooks were being copied from. Instead of
the local .git/hooks directory, we copy from the installed templates
directory. This allowws us to grab the latest hook associated with our
Git version.

However, I neglected testing thoroughly on Mac, and the path was not
rooted. This causes the config step to log an error because the path
starts at the current working directory, not from root.

Adjust the ConfigStep to return a 'false' result when this step fails,
which will cause the RunVerbTests to fail if we cannot set the hook as
expected.

The test does not verify the hook is placed because we only place it if
Watchman is installed.

But that's not all! It turns out that our Git installer on Mac does
not update the templates directory with the new hook! So we must
rely on the raw data being shipped with Scalar instead.

In microsoft#349, we updated where the hooks were being copied from. Instead of
the local .git/hooks directory, we copy from the installed templates
directory. This allowws us to grab the latest hook associated with our
Git version.

However, I neglected testing thoroughly on Mac, and the path was not
rooted. This causes the config step to log an error because the path
starts at the current working directory, not from root.

Adjust the ConfigStep to return a 'false' result when this step fails,
which will cause the RunVerbTests to fail if we cannot set the hook as
expected.

The test does not verify the hook is placed because we only place it if
Watchman is installed.

However, we still have an issue with this approach, because our Git
installer does not update the templates directory correctly! We do not
include the v2 fsmonitor hook. Instead, use the raw hook data.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
We appear to have an issue where we are not updating the installed
templates on Mac. That can be resolved separately, but it is safest to
be completely in control of our hook data.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
@derrickstolee derrickstolee changed the title [M168 Blocker] Mac: fully root path to '/usr/local' for hook location [168 Blocker] Fix query-watchman hook installation Mar 27, 2020
@derrickstolee
Copy link
Contributor Author

/azp run microsoft.scalar

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
@derrickstolee
Copy link
Contributor Author

After digging in a LOT I found the correct PATH for the templates. Closing this for now and will open a new one.

derrickstolee added a commit that referenced this pull request Mar 28, 2020
…k location

In #349, we updated where the hooks were being copied from. Instead of
the local .git/hooks directory, we copy from the installed templates
directory. This allowws us to grab the latest hook associated with our
Git version.

However, I neglected testing thoroughly on Mac, and the path was not
rooted. This causes the config step to log an error because the path
starts at the current working directory, not from root.

Adjust the ConfigStep to return a 'false' result when this step fails,
which will cause the RunVerbTests to fail if we cannot set the hook as
expected.

The test does not verify the hook is placed because we only place it if
Watchman is installed.

Also, I noticed that the templates directory was wrong! Our installer
puts the templates in a different place than another version of Git.
Perhaps that version was installed by XCode or something, but that
caused the confusion.

(Replaced #359)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant