Since this is Windows-specific and @meteorcloudy is in the Windows subteam, can we label this as "team-Windows"? This is not entirely Windows specific, we will also enable native patch on other platforms. But since we are doing the work, I don't mind labeling it as "team-Windows" Is this on track for 1.0? Yes, waiting to be released in 0.29, then we can try to flip this flag. Will be default in 1.0.
incompatible_use_native_patch: Use native patch in http_archive and git_repository rules
# Description
Bazel's [repository rules](https://github.com/bazelbuild/bazel/tree/master/tools/build_defs/repo) depends on `patch` and bash tools on all platforms. This requires users to install MSYS2 on Windows. We need to break the bash dependency from repository rule.

To break the dependency on the patch command line tool from repository rules, we implement patch in Bazel-native code and expose `repository_ctx.patch` API. Repository rules can use this API to apply patch file, but at the same time, we also allow fallback to patch command line tool in `http_archive` and `git_repository` rules.

Documentation: https://docs.bazel.build/versions/master/repo/http.html

A subtask of https://github.com/bazelbuild/bazel/issues/4319

# Migration plan
If your project is broken by this flag, it's probably because you're trying to apply an inaccurate patch file. To migrate your project, there are two ways:

- Fix your patch file to match the exact content you want to patch.
- Specify `patch_tool` attribute to `patch` (or a path to the patch tool you want to use), Bazel will fall back to use the patch command line tool instead of the native patch. But in this case, please make sure you have `patch` in PATH (or exist at the path you specified).

# Rollout plan

- Bazel 0.29.0 is expected to support this flag, with default value being false.
- Bazel 1.0 is expected to support this flag, with default value being true.
src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java
src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java
index 8081d54484d4bc..ce2ad4afdabd76 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java
@@ -135,7 +135,7 @@ public class RepositoryOptions extends OptionsBase {
 
   @Option(
       name = "incompatible_use_native_patch",
-      defaultValue = "false",
+      defaultValue = "true",
       documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
       effectTags = {OptionEffectTag.LOADING_AND_ANALYSIS},
       metadataTags = {
