visortelle commented on code in PR #824:
URL: https://github.com/apache/pulsar-site/pull/824#discussion_r1512909507


##########
contribute/setup-mergetool.md:
##########
@@ -90,6 +90,78 @@ sudo apt install git-gui
 
 There are many tools available for this purpose, but `git gui` is one of the 
simplest and most effective.
 
+### Additional Git tuning
+
+#### Git configuration
+
+Increase default renamed file detection limit with mergetool and difftool
+```shell
+git config --global merge.renameLimit 2048
+git config --global diff.renameLimit 2048
+```
+
+Enable [rerere](https://git-scm.com/book/en/v2/Git-Tools-Rerere), "reuse 
recorded resolution" for Git.
+```shell
+git config --global rerere.enabled true

Review Comment:
   I also thought about using Nix for all the dev tools and configuration.
   
   We use it for our small projects without any issues. Same environment on the 
local machine and CI, and no need to install the proper versions of tools for 
each developer.
   
   But probably it's overkill if all you need is proper Java version.
   
   The configuration file looks like:
   
   ```nix
   {
     description = "Tools needed for X-Ray development.";
     inputs = {
       nixpkgs = {
         url = "nixpkgs/nixos-unstable";
       };
       flake-compat = {
         url = "github:edolstra/flake-compat";
         flake = false;
       };
       flake-utils = {
         url = "github:numtide/flake-utils";
       };
     };
     outputs =
       { self
       , nixpkgs
       , flake-compat
       , flake-utils
       ,
       } @ inputs:
       flake-utils.lib.eachSystem
         [
           flake-utils.lib.system.x86_64-linux
           flake-utils.lib.system.x86_64-darwin
           flake-utils.lib.system.aarch64-linux
           flake-utils.lib.system.aarch64-darwin
         ]
         (
           system:
           let
             inherit (nixpkgs) lib;
   
             pkgs = import nixpkgs {
               system = system;
               config.allowBroken = true;
             };
   
             protoc-gen-grpc-web = pkgs.callPackage 
./nix/protoc-gen-grpc-web.nix { };
             protoc-gen-scala = pkgs.callPackage ./nix/protoc-gen-scala.nix { };
   
             missingSysPkgs =
               if pkgs.stdenv.isDarwin then
                 [
                   pkgs.darwin.apple_sdk.frameworks.Foundation
                   pkgs.darwin.libiconv
                 ]
               else
                 [ ];
   
             runtimeLibraryPath = lib.makeLibraryPath ([ pkgs.zlib ]);
   
             pulsar-ui-dev = pkgs.mkShell {
               shellHook = ''
                 export JAVA_HOME=$(echo "$(which java)" | sed 
's/\/bin\/java//g' )
                 export GRAAL_HOME=$JAVA_HOME
                 export NODE_OPTIONS=--max-old-space-size=4096
   
                 export LD_LIBRARY_PATH="${runtimeLibraryPath}"
   
                 source ./dev-env.sh
               '';
   
               packages = [
                 pkgs.gnumake
                 pkgs.coreutils
                 pkgs.nodejs-18_x
   
                 pkgs.graalvm-ce
                 pkgs.dotty
                 pkgs.scalafmt
                 pkgs.scalafix
                 pkgs.sbt
                 pkgs.maven
   
                 pkgs.protobuf3_20
                 pkgs.buf
                 protoc-gen-grpc-web
                 protoc-gen-scala
   
                 pkgs.pulumi-bin
                 pkgs.kubectl
                 pkgs.kubernetes-helm
                 pkgs.awscli2
                 pkgs.aws-iam-authenticator
   
                 pkgs.git
                 pkgs.git-lfs
                 pkgs.unzip
               ] ++ missingSysPkgs;
             };
           in
           rec {
             packages = { };
             packages.default = pulsar-ui-dev;
             devShells.default = pulsar-ui-dev;
             devShell = devShells.default;
           }
         );
   }
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to