chiark / gitweb /
dgit: rpush: Do argument parsing and chdir in pre_...
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 8 Jul 2017 17:46:18 +0000 (18:46 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 8 Jul 2017 17:54:00 +0000 (18:54 +0100)
commit7ad5d889f402e47dba2e51bb1907a505d93c8f38
treebaf0186d22898b39b112eeb1e7b6b8172d1671ea
parent3c25f09fe6a6787011c2a16e12e54da264a881e0
dgit: rpush: Do argument parsing and chdir in pre_...

The only thing in between pre_... and cmd_... os git_slurp_config.

The code now in pre_... does the following things, all of these should
be done before git_slurp_config:

 * Sets some global variables affecting debugging and logging output.
   If git_slurp_config is told to print debugging, it should be
   affected by these changes.

 * Rearranges its file descriptors so that stdin/stdout are as the
   rest of dgit expects, and the protocol is on PI/PO.  If
   git_slurp_config were to use stdin/stdout, it ought to use the
   "normal" versions, and not access the protocol streams.

 * Checks and calculates the negotiated protocol version.  This is not
   affected by the config, only by the arguments form the caller and
   our own idea of the protocol versions we support.

 * Changes to the appropriate working tree.  Doing this before
   slurping the config arranges to honour the local git config from
   build host working tree.  (It also avoids rpush failing on newer
   git due to asking for git config --local in the wrong place.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
debian/changelog
dgit