[PATCH 3 of 5] chg: decouple hgclient from setuppager
Jun Wu
quark at fb.com
Mon Jan 2 10:09:25 EST 2017
# HG changeset patch
# User Jun Wu <quark at fb.com>
# Date 1483366232 0
# Mon Jan 02 14:10:32 2017 +0000
# Node ID b2a4d87a091c271868720be8cc51bb2b5988d1c2
# Parent a8f21835ad4f31aa1c34f7f3eadb0f2a147af6bd
# Available At https://bitbucket.org/quark-zju/hg-draft
# hg pull https://bitbucket.org/quark-zju/hg-draft -r b2a4d87a091c
chg: decouple hgclient from setuppager
procutil should not depend on hgclient. This patch makes the pager handling
part independent from hgclient.
diff --git a/contrib/chg/chg.c b/contrib/chg/chg.c
--- a/contrib/chg/chg.c
+++ b/contrib/chg/chg.c
@@ -431,5 +431,8 @@ int main(int argc, const char *argv[], c
setupsignalhandler(hgc_peerpid(hgc), hgc_peerpgid(hgc));
- pagerpid = setuppager(hgc, argv + 1, argc - 1);
+ const char *pagercmd = hgc_getpager(hgc, argv + 1, argc - 1);
+ pagerpid = setuppager(pagercmd);
+ if (pagerpid)
+ hgc_attachio(hgc); /* reattach to pager */
int exitcode = hgc_runcommand(hgc, argv + 1, argc - 1);
restoresignalhandler();
diff --git a/contrib/chg/procutil.c b/contrib/chg/procutil.c
--- a/contrib/chg/procutil.c
+++ b/contrib/chg/procutil.c
@@ -158,8 +158,6 @@ error:
/* This implementation is based on hgext/pager.py (post 369741ef7253)
* Return 0 if pager is not started, or pid of the pager */
-static pid_t setuppager(hgclient_t *hgc, const char *const args[],
- size_t argsize)
+static pid_t setuppager(const char *pagercmd)
{
- const char *pagercmd = hgc_getpager(hgc, args, argsize);
if (!pagercmd)
return 0;
@@ -180,5 +178,4 @@ static pid_t setuppager(hgclient_t *hgc,
}
close(pipefds[1]);
- hgc_attachio(hgc); /* reattach to pager */
return pid;
} else {
More information about the Mercurial-devel
mailing list