+ if (read(fd_in, &remote, 1) < 1)
+ return -1;
+ if (remote < 0)
+ return remote;
+ ret = write_sha1_from_fd(sha1, fd_in);
+ if (!ret)
+ pull_say("got %s\n", sha1_to_hex(sha1));
+ return ret;
+}
+
+int get_version(void)
+{
+ char type = 'v';
+ write(fd_out, &type, 1);
+ write(fd_out, &local_version, 1);
+ if (read(fd_in, &remote_version, 1) < 1) {
+ return error("Couldn't read version from remote end");
+ }
+ return 0;