code: def do_diff(self, params):
          
          count = 0
          for count, (diff, path) in enumerate(self._zk.diff(params.path_a, params.path_b), 1):
              if diff == -1:
                  self.show_output("-- %s", path)
              elif diff == 0:
                  self.show_output("-+ %s", path)
              elif diff == 1:
                  self.show_output("++ %s", path)
  
          if count == 0:
              self.show_output("Branches are equal.")
docs: \x1b[1mNAME\x1b[0m
          diff - Display the differences between two paths
  
  \x1b[1mSYNOPSIS\x1b[0m
          diff <src> <dst>
  
  \x1b[1mDESCRIPTION\x1b[0m
          The output is interpreted as:
            -- means the znode is missing in /new-configs
            ++ means the znode is new in /new-configs
            +- means the znode's content differ between /configs and /new-configs
  
  \x1b[1mEXAMPLES\x1b[0m
          > diff /configs /new-configs
          -- service-x/hosts
          ++ service-x/hosts.json
          +- service-x/params