Code

Merge branch 'js/forkexec'
authorJunio C Hamano <gitster@pobox.com>
Thu, 1 Nov 2007 20:47:47 +0000 (13:47 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 1 Nov 2007 20:47:47 +0000 (13:47 -0700)
* js/forkexec:
  Use the asyncronous function infrastructure to run the content filter.
  Avoid a dup2(2) in apply_filter() - start_command() can do it for us.
  t0021-conversion.sh: Test that the clean filter really cleans content.
  upload-pack: Run rev-list in an asynchronous function.
  upload-pack: Move the revision walker into a separate function.
  Use the asyncronous function infrastructure in builtin-fetch-pack.c.
  Add infrastructure to run a function asynchronously.
  upload-pack: Use start_command() to run pack-objects in create_pack_file().
  Have start_command() create a pipe to read the stderr of the child.
  Use start_comand() in builtin-fetch-pack.c instead of explicit fork/exec.
  Use run_command() to spawn external diff programs instead of fork/exec.
  Use start_command() to run content filters instead of explicit fork/exec.
  Use start_command() in git_connect() instead of explicit fork/exec.
  Change git_connect() to return a struct child_process instead of a pid_t.

Conflicts:

builtin-fetch-pack.c

1  2 
builtin-archive.c
builtin-fetch-pack.c
diff.c
send-pack.c

Simple merge
index 8753840a825d35249fa74ee80867f2dfd542708b,51d8a32791df1c5fe04e0e69fbfe91887e026536..862652be92f65c50aaa900fd9983f8c54840d672
@@@ -774,10 -746,8 +747,8 @@@ struct ref *fetch_pack(struct fetch_pac
                        st.st_mtime = 0;
        }
  
-       pid = git_connect(fd, (char *)dest, args.uploadpack,
 -      conn = git_connect(fd, (char *)dest, uploadpack,
++      conn = git_connect(fd, (char *)dest, args.uploadpack,
                            args.verbose ? CONNECT_VERBOSE : 0);
-       if (pid < 0)
-               return NULL;
        if (heads && nr_heads)
                nr_heads = remove_duplicates(nr_heads, heads);
        ref = do_fetch_pack(fd, nr_heads, heads, pack_lockfile);
diff --cc diff.c
Simple merge
diff --cc send-pack.c
Simple merge