Esempio n. 1
0
 "ref-discovery": function (message) {
   if (message === null) {
     console.log({refs:refs,caps:caps});
     var clientCaps = [
       // "multi_ack_detailed",
       // "side-band-64k",
       // "thin-pack",
       // "ofs-delta",
       "agent=js-git/0.0.0"
       // "agent=git/1.8.1.2"
     ];
     emit(null, pktLine.encode(["want", refs.HEAD].concat(clientCaps)));
     // emit(null, pktLine.encode(["want", refs["refs/heads/master"]]));
     emit(null, null);
     emit(null, pktLine.encode(["done"]));
     state = "pack";
     return;
   }
   message = pktLine.decode(message);
   if (message.caps) {
     caps = message.caps;
     delete message.caps;
   }
   refs[message[1]] = message[0];
 },
Esempio n. 2
0
  function app(emit) {
    var state = "ref-discovery";
    var refs = {};
    var caps;
    var states = {
      "ref-discovery": function (message) {
        if (message === null) {
          console.log({refs:refs,caps:caps});
          var clientCaps = [
            // "multi_ack_detailed",
            // "side-band-64k",
            // "thin-pack",
            // "ofs-delta",
            "agent=js-git/0.0.0"
            // "agent=git/1.8.1.2"
          ];
          emit(null, pktLine.encode(["want", refs.HEAD].concat(clientCaps)));
          // emit(null, pktLine.encode(["want", refs["refs/heads/master"]]));
          emit(null, null);
          emit(null, pktLine.encode(["done"]));
          state = "pack";
          return;
        }
        message = pktLine.decode(message);
        if (message.caps) {
          caps = message.caps;
          delete message.caps;
        }
        refs[message[1]] = message[0];
      },
      "pack": function (message) {

      }
    };
    emit(null, pktLine.encode(["git-upload-pack", path], {host: host}, true));
    return function (err, item) {
      if (item === undefined) return emit(err);
      console.log(state, item);
      states[state](item);
    };
  }