From: Jeff Garzik <jgarzik@pobox.com>
To: Git Mailing List <git@vger.kernel.org>
Subject: 'git commit' duplicates parents?
Date: Sun, 19 Jun 2005 12:27:35 -0400 [thread overview]
Message-ID: <42B59CF7.3080509@pobox.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1447 bytes --]
I just checked in a change with 'git commit' (no arguments). Two
strange things occurred:
1) git-whatchanged does not list the change at all. However,
a) I verified that my change is indeed top-of-tree
b) git-changes-script (attached) does show the change
2) git-changes-script shows the parents in a readable fashion, and it
shows two duplicate parent entries. In contrast, other changes do not
have two parents:
my change:
> commit 4864989199fa62c7044be2258550ddc561411ab6
^^^ top of tree aka .git/HEAD
> tree b40996c7a0a5446875aa3664045af7e377451bf6
> parent 7df551254add79a445d2e47e8f849cef8fee6e38
> parent 7df551254add79a445d2e47e8f849cef8fee6e38
> author Jeff Garzik <jgarzik@pretzel.yyz.us> Sun, 19 Jun 2005 20:06:28 -0400
> committer Jeff Garzik <jgarzik@pobox.com> Sun, 19 Jun 2005 20:06:28 -0400
>
> fc4/fc: fix warnings/errors caused by recent changes
a random change not committed by 'git commit':
> commit 7df551254add79a445d2e47e8f849cef8fee6e38
> tree 468a43ac3f94b9bf8618b102a7d609e29d3900f5
> parent f7d7fc0322c1770fe7ee836ca2732c2f88e2e1a4
> author David S. Miller <davem@davemloft.net> Sun, 19 Jun 2005 13:01:10 -0700
> committer David S. Miller <davem@davemloft.net> Sun, 19 Jun 2005 13:01:10 -0700
>
> [TCP]: Fix sysctl_tcp_low_latency
>
> When enabled, this should disable UCOPY prequeue'ing altogether,
> but it does not due to a missing test.
>
> Signed-off-by: David S. Miller <davem@davemloft.net>
[-- Attachment #2: git-changes-script --]
[-- Type: text/plain, Size: 2373 bytes --]
#!/bin/bash
#
# Make a log of changes in a GIT branch.
#
# This script was originally written by (c) Ross Vandegrift.
# Adapted to his scripts set by (c) Petr Baudis, 2005.
# Major optimizations by (c) Phillip Lougher.
# Rendered trivial by Linus Torvalds.
# Added -L|-R option by James Bottomley
#
# options:
# script [-L <dir> | -R <dir> |-r <from_sha1> [ -r <to_sha1] ] [<sha1>]
#
# With no options shows all the revisions from HEAD to the root
# -L shows all the changes in the local tree compared to the tree at <dir>
# -R shows all the changes in the remote tree at <dir> compared to the local
# -r shows all the changes in one commit or between two
tmpfile=/tmp/git_changes.$$
r1=
r2=
showcommit() {
commit="$1"
echo commit ${commit%:*};
git-cat-file commit $commit | \
while read key rest; do
case "$key" in
"author"|"committer")
date=(${rest#*> })
sec=${date[0]}; tz=${date[1]}
dtz=${tz/+/+ }; dtz=${dtz/-/- }
pdate="$(date -Rud "1970-01-01 UTC + $sec sec $dtz" 2>/dev/null)"
if [ "$pdate" ]; then
echo $key $rest | sed "s/>.*/> ${pdate/+0000/$tz}/"
else
echo $key $rest
fi
;;
"")
echo; cat
;;
*)
echo $key $rest
;;
esac
done
}
while true; do
case "$1" in
-R) shift;
diffsearch=+
remote="$1"
shift;;
-L) shift;
diffsearch=-
remote="$1"
shift;;
-r) shift;
if [ -z "$r1" ]; then
r1="$1"
else
r2="$1"
fi
shift;;
*) base="$1"
break;;
esac
done
if [ -n "$r1" ]; then
if [ -z "$r2" ]; then
showcommit $r1
exit 0
fi
diffsearch=+
remote=`pwd`;
tobase="$r2";
base="$r1"
fi
if [ -z "$base" ]; then
base=$(cat .git/HEAD) || exit 1
fi
git-rev-tree $base | sort -rn > ${tmpfile}.base
if [ -n "$remote" ]; then
[ -d $remote/.git ] || exit 1
if [ -z "$tobase" ]; then
tobase=$(cat $remote/.git/HEAD) || exit 1
fi
pushd $remote > /dev/null
git-rev-tree $tobase | sort -rn > ${tmpfile}.remote
diff -u ${tmpfile}.base ${tmpfile}.remote | grep "^${diffsearch}[^${diffsearch}]" | cut -c 1- > ${tmpfile}.diff
rm -f ${tmpfile}.base ${tmpfile}.remote
mv ${tmpfile}.diff ${tmpfile}.base
if [ $diffsearch = "-" ]; then
popd > /dev/null
fi
fi
[ -s "${tmpfile}.base" ] || exit 0
cat ${tmpfile}.base | while read time commit parents; do
showcommit $commit
echo -e "\n--------------------------"
done
rm -f ${tmpfile}.base
next reply other threads:[~2005-06-19 16:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-19 16:27 Jeff Garzik [this message]
2005-06-19 16:32 ` 'git commit' duplicates parents? Jeff Garzik
2005-06-20 2:24 ` Linus Torvalds
2005-06-20 2:28 ` Jeff Garzik
2005-06-20 2:33 ` Linus Torvalds
2005-06-20 2:40 ` Jeff Garzik
2005-06-20 3:00 ` Linus Torvalds
2005-06-20 9:48 ` Dan Holmsand
2005-06-20 15:11 ` Linus Torvalds
2005-06-20 17:20 ` Dan Holmsand
2005-06-20 17:44 ` Linus Torvalds
2005-06-20 18:52 ` Dan Holmsand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=42B59CF7.3080509@pobox.com \
--to=jgarzik@pobox.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).