Re: my git problem
- From
- Andrew Morton <akpm@linux-foundation.org>
- Date
- Apr 28, 2008, 19:33 UTC
- Message-ID
- <20080428123300.f5406ca9.akpm@linux-foundation.org>
- In-Reply-To
- <alpine.DEB.1.00.0804282012140.19187@eeepc-johanness>
On Mon, 28 Apr 2008 20:13:43 +0100 (BST) Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 8 quoted lines
> > Oh well. Can you suggest how I can extract the changelogs for the > > patches which `git-diff origin...git-ia64' will print out? > > I think you get what you want with > > $ git-log --cherry-pick origin...git-ia64 > > (although I might be wrong on the order of origin and git-ia64).
Nope, that still generates thousands of lines of wrongness.
It's also very slow, for a non-empty tree:
git-log --cherry-pick origin...git-audit-master > /dev/null 50.47s user 0.56s system 99% cpu 51.043 total
git-diff origin...git-audit-master > /dev/null 0.35s user 0.02s system 100% cpu 0.369 total
weird that it's hundreds of times slower than the corresponding git-diff. he-who-pulls-75-trees would be unhappy.
Back to my original problem...
>From my old script:
doit()
{
tree=$1
upstream=$2cd $GIT_TREE git reset --hard "$upstream" git fetch "$tree" || exit 1 git merge --no-commit 'test merge' HEAD FETCH_HEAD > /dev/null
{
git_header "$tree"
git log --no-merges ORIG_HEAD..FETCH_HEAD
git diff --patch-with-stat ORIG_HEAD
} >$PULL/$tree.patch
{
echo DESC
echo $tree.patch
echo EDESC
git_header "$tree"
git log --no-merges ORIG_HEAD..FETCH_HEAD
} >$PULL/$tree.txt
git reset --hard "$upstream"
}the `git log' here does what I want.
The new version:
doit()
{
tree=$1
upstream=$2cd $GIT_TREE git reset --hard "$upstream" git fetch "$tree" || exit 1
{
git_header "$tree"
git log --no-merges $upstream...$tree
git diff -p --stat --no-merges $upstream...$tree
} >$PULL/$tree.patch
{
echo DESC
echo $tree.patch
echo EDESC
git_header "$tree"
# git log --no-merges $upstream...$tree
} >$PULL/$tree.txt
git reset --hard "$upstream"
}loses the changelogs :(