Subject: RE: [Question] format-patch along a specific path

From: "Randall S. Becker" <[email-masked]>
Date: Thu, 18 Jan 2018 17:38:12 -0500

On January 18, 2018 2:17 PM, I wrote:
> What I’m trying to do is to format a patch based on a single commit from
> 2.16.0 representing the NonStop port, for review and comments to the team.
> Here is a partial (somewhat familiar) tree:
> 
> *   f1a482cd8 (HEAD -> randall_2.16, ituglib_release) NonStop port changes
> for git 2.16.0.
> |\
> | | * b2a06dcfb (refs/stash) WIP on randall: 5653e94 Removed unnecessary
> void* from hashmap.h that caused compile warnings
> | |/
> | * 5653e943a (randall) Removed unnecessary void* from hashmap.h that
> | caused
> compile warnings
> | *   b318de9ca Merge branch 'ituglib_devel' into 2.16.0-rc1
> | |\
> | | * a4cdf025d (randall_2.13.5) Replaced read with xread in
> transport-helper.c to fix SSIZE_MAX overun in t5509
> | | | * b72dbd7fa (origin/pu) Merge branch 'ds/use-get-be64' into pu
> | |_|/
> |/| |
> | | | * 896df04e4 (origin/next) Sync with 2.16
> | |_|/
> |/| |
> * | | 2512f1544 (tag: v2.16.0, origin/master, origin/HEAD) Git 2.16
> |/ /
> * | c6c75c93a (tag: v2.16.0-rc2) Git 2.16-rc2
> 
> Trying the intuitive approach of git format-patch -1 f1a482cd8, I end up
with
> a patch for c6c75c93a, which I assume is a backtrack. If I use
> 2512f1544..f1a482cd8, I end up with a whole bunch of commits along the
> long path rather than the short single hop path, (I actually want the
short
> path). The --base=2512f1544 option complains that the base commit
> shouldn't be in revision list, which I also assume is an artifact of
backtracking.
> Is there a clean way in 2.16.0 to do this or should I redo the commit as a
> squash and disconnect it from the other path?

I decided to go down the squash route figuring that the eventual fix will
have to be squashed anyway. The RFC patch will follow.

I'm still curious how to do this, and if it's not possible, perhaps we need
a --via:commit-ish option to format-patch to force a path.

Cheers,
Randall

-- Brief whoami:
  NonStop developer since approximately NonStop(211288444200000000)
  UNIX developer since approximately 421664400
-- In my real life, I talk too much.