Re: Is anybody actually using git-cherry.sh?
- From
Jeff King <peff@peff.net>
- Date
- Jun 23, 2006, 18:06 UTC
- Message-ID
- <20060623180658.GA24022@coredump.intra.peff.net>
- In-Reply-To
- <Pine.LNX.4.63.0606231818140.29667@wbgn013.biozentrum.uni-wuerzburg.de>
On Fri, Jun 23, 2006 at 06:22:05PM +0200, Johannes Schindelin wrote:
Show 17 quoted lines
> from git-cherry.sh: > > -- snip -- > for c in $inup > do > git-diff-tree -p $c > done | git-patch-id | > while read id name > do > echo $name >>$patch/$id > done > -- snap -- > > AFAICS this _must_ be broken. git-diff-tree -p <ent> does not emit > "diff-tree <sha1>", and neither "commit <sha1>" lines. So this code > would yield just one file, treating all diffs as one huge diff. A > quick fix would be this change (without the patch I sent out earlier):
Maybe I don't understand what you're saying, but it works fine here (using latest head of master): $ for c in origin origin^; do git-diff-tree -p $c; done | git-patch-id 1511e4e276ccc98ecf0ea31dad1bc9010869fdaf f60349aa786d519368938d7b6e5bb2006eccb0cf 86ce7eeedd87a78cd8cac79adb6d4d968ece9e53 50f575fc9836704d45a5f732125b8f58103425a4
It looks like patch-id does a flush whenever a sha1 is found at the beginning of a line; diff-tree lines simply have the 'diff-tree ' part ignored.
-Peff