From: Pavel Roskin <proski@gnu.org>
To: git <git@vger.kernel.org>
Subject: [PATCH 2/8] cogito: Fix all users of the old *-id scripts.
Date: Mon, 19 Sep 2005 22:13:11 -0400 [thread overview]
Message-ID: <1127182391.31115.18.camel@dv> (raw)
Fix all users of the old *-id scripts.
Use cg-object-id instead.
diff --git a/Documentation/make-cogito-asciidoc b/Documentation/make-cogito-asciidoc
--- a/Documentation/make-cogito-asciidoc
+++ b/Documentation/make-cogito-asciidoc
@@ -123,12 +123,12 @@ COMMIT_ID, FROM_ID, TO_ID, BASE_COMMIT::
- empty string, 'this' or 'HEAD' (current HEAD)
- branch name (as registered with $(man 1 cg-branch-add))
- tag name (as registered with $(man 1 cg-tag))
- date string (as recognized by the 'date' tool)
- shortcut object hash (shorted unambiguous hash lead)
- - commit object hash (as returned by 'cg-commit-id')
- - tree object hash (as returned by 'cg-tree-id')
+ - commit object hash (as returned by 'cg-object-id')
+ - tree object hash (as returned by 'cg-object-id -t')
TAG_NAME::
Indicates a free form tag name.
OBJECT_TYPE::
diff --git a/cg-Xnormid b/cg-Xnormid
--- a/cg-Xnormid
+++ b/cg-Xnormid
@@ -15,12 +15,12 @@
. ${COGITO_LIB}cg-Xlib || exit 1
id="$1"
if [ "${id:(-1):1}" = "^" ]; then
- # cg-parent-id
- id=$(cg-commit-id "${id%^}") || exit 1
+ # find parent
+ id=$(cg-object-id "${id%^}") || exit 1
git-cat-file commit "$id" | awk '/^parent/{print $2," "};/^$/{exit}' || exit 1
exit
fi
if [ ! "$id" ] || [ "$id" = "this" ] || [ "$id" = "HEAD" ]; then
diff --git a/cg-admin-cat b/cg-admin-cat
--- a/cg-admin-cat
+++ b/cg-admin-cat
@@ -34,11 +34,11 @@ while optparse; do
fi
done
[ "$ARGS" ] || usage
-id=$(cg-tree-id "$rev") || exit 1
+id=$(cg-object-id -t "$rev") || exit 1
git-ls-tree "$id" "${ARGS[@]}" |
while read -r mode type sha name
do
case "$type" in
diff --git a/cg-admin-ls b/cg-admin-ls
--- a/cg-admin-ls
+++ b/cg-admin-ls
@@ -40,8 +40,8 @@ while optparse; do
else
optfail
fi
done
-id=$(cg-tree-id $tree_id) || exit 1
+id=$(cg-object-id -t $tree_id) || exit 1
git-ls-tree "$id" "${ARGS[@]}"
diff --git a/cg-admin-uncommit b/cg-admin-uncommit
--- a/cg-admin-uncommit
+++ b/cg-admin-uncommit
@@ -43,17 +43,17 @@ while optparse; do
optfail
fi
done
-base=$(cg-commit-id) || exit 1
+base=$(cg-object-id) || exit 1
-commit=$(cg-commit-id "$1") || exit 1
+commit=$(cg-object-id "$1") || exit 1
git-rev-list $base | grep -q $commit || \
die "$commit: not an ancestor of HEAD"
-parent=$(cg-parent-id "$commit") || exit 1
+parent=$(cg-object-id -p "$commit") || exit 1
[ "$parent" ] || die "cannot rewind behind the initial commit"
echo "Rewinding $base (HEAD) -> $parent" >&2
diff --git a/cg-branch-add b/cg-branch-add
--- a/cg-branch-add
+++ b/cg-branch-add
@@ -31,11 +31,11 @@
# $GIT_DIR/branches/BRANCH_NAME::
# Contains the source location of the remote branch.
#
# $GIT_DIR/refs/heads/BRANCH_NAME::
# Contains pointer to the latest commit in a branch. It can be more
-# conveniently retrieved using `cg-commit-id BRANCH_NAME`.
+# conveniently retrieved using `cg-object-id BRANCH_NAME`.
#
# EXAMPLE USAGE
# -------------
# Let's say you have a repository at `git+ssh://host/path/repo.git` and you
# want to fetch its 'testing' branch to your local repository. In that case
diff --git a/cg-commit b/cg-commit
--- a/cg-commit
+++ b/cg-commit
@@ -156,11 +156,11 @@ while optparse; do
elif optparse -f; then
force=1
elif optparse -m=; then
msgs[${#msgs[@]}]="$OPTARG"
elif optparse -c=; then
- copy_commit="$(cg-commit-id "$OPTARG")"
+ copy_commit="$(cg-object-id "$OPTARG")"
else
optfail
fi
done
@@ -388,11 +388,11 @@ if [ -s "$_git/HEAD" ]; then
fi
treeid=$(git-write-tree ${missingok})
[ "$treeid" ] || die "git-write-tree failed"
if [ ! "$force" ] && [ ! "$merging" ] && [ "$oldhead" ] &&
- [ "$treeid" = "$(cg-tree-id)" ]; then
+ [ "$treeid" = "$(cg-object-id -t)" ]; then
echo "Refusing to make an empty commit - the tree was not modified" >&2
echo "since the previous commit. If you really want to make the" >&2
echo "commit, pass cg-commit the -f argument." >&2
exit 2;
fi
diff --git a/cg-diff b/cg-diff
--- a/cg-diff
+++ b/cg-diff
@@ -125,19 +125,19 @@ while optparse; do
done
if [ "$parent" ]; then
id2="$id1"
id="$id2"; [ "$id" = " " ] && id=""
- id1=$(cg-parent-id "$id" | head -n 1) || exit 1
+ id1=$(cg-object-id -p "$id" | head -n 1) || exit 1
[ "$id1" ] || exit 1
fi
if [ "$mergebase" ]; then
[ "$id1" != " " ] || id1="HEAD"
[ "$id2" != " " ] || id2="origin"
- id1=$(cg-commit-id "$id1") || exit 1
- id2=$(cg-commit-id "$id2") || exit 1
+ id1=$(cg-object-id "$id1") || exit 1
+ id2=$(cg-object-id "$id2") || exit 1
id1=$(git-merge-base $id1 $id2) || exit 1
fi
filter=$(mktemp -t gitdiff.XXXXXX)
@@ -146,13 +146,13 @@ for file in "${ARGS[@]}"; do
echo "${_git_relpath}$file" >>$filter
done
if [ "$id2" = " " ]; then
if [ "$id1" != " " ]; then
- tree=$(cg-tree-id "$id1") || exit 1
+ tree=$(cg-object-id -t "$id1") || exit 1
else
- tree=$(cg-tree-id) || exit 1
+ tree=$(cg-object-id -t) || exit 1
fi
# Ensure to only diff modified files
git-update-index --refresh >/dev/null
@@ -166,12 +166,12 @@ if [ "$id2" = " " ]; then
[ "$ret" ] && die "no files matched"
exit $ret
fi
-id1=$(cg-tree-id "$id1") || exit 1
-id2=$(cg-tree-id "$id2") || exit 1
+id1=$(cg-object-id -t "$id1") || exit 1
+id2=$(cg-object-id -t "$id2") || exit 1
[ "$id1" = "$id2" ] && exit 0
cat $filter | path_xargs git-diff-tree -r -p $id1 $id2 | colorize | pager
diff --git a/cg-export b/cg-export
--- a/cg-export
+++ b/cg-export
@@ -15,16 +15,16 @@ _git_requires_root=1
. ${COGITO_LIB}cg-Xlib || exit 1
if [ "$1" = "-r" ]; then
shift
- # We do not resolve to cg-tree-id since git-tar-tree can utilize some commit
+ # We do not resolve to tree id since git-tar-tree can utilize some commit
# information.
- id="$(cg-commit-id "$1" 2>/dev/null)" || id="$1"
+ id="$(cg-object-id "$1" 2>/dev/null)" || id="$1"
shift
else
- id="$(cg-commit-id)"
+ id="$(cg-object-id)"
fi
dest=$1
([ "$dest" ] && [ "$id" ]) || usage
@@ -50,11 +50,11 @@ case $dest in
esac
;;
*)
mkdir -p $dest || die "cannot create $dest"
export GIT_INDEX_FILE="$dest/.git-index"
- id="$(cg-tree-id "$id")"
+ id="$(cg-object-id -t "$id")"
git-read-tree $id
git-checkout-index "--prefix=$dest/" -a
rm $GIT_INDEX_FILE
;;
esac
diff --git a/cg-fetch b/cg-fetch
--- a/cg-fetch
+++ b/cg-fetch
@@ -392,13 +392,13 @@ if [ ! "$orig_head" ]; then
echo "New branch: $new_head"
elif [ "$orig_head" != "$new_head" ]; then
echo "Tree change: $orig_head:$new_head"
if [ "$verbose" ] ; then
- git-diff-tree -r $(cg-tree-id $orig_head) $(cg-tree-id $new_head)
+ git-diff-tree -r $(cg-object-id -t $orig_head) $(cg-object-id -t $new_head)
else
- git-diff-tree -r $(cg-tree-id $orig_head) $(cg-tree-id $new_head) | awk '{ print $5" "$6 }'
+ git-diff-tree -r $(cg-object-id -t $orig_head) $(cg-object-id -t $new_head) | awk '{ print $5" "$6 }'
fi
else
echo "Up to date."
exit
fi
diff --git a/cg-help b/cg-help
--- a/cg-help
+++ b/cg-help
@@ -101,11 +101,11 @@ These expressions can be used interchang
empty string, "this" or "HEAD" (current HEAD)
branch name (as registered with cg-branch-add)
tag name (as registered with cg-tag)
date string (as recognized by the date tool)
shortcut hash (shorted unambiguous hash lead)
- commit object hash (as returned by cg-commit-id)
+ commit object hash (as returned by cg-object-id)
tree object hash (accepted only by some commands)
For details on individual commands, do e.g.:
cg-help cg-log
cg-log --help
diff --git a/cg-log b/cg-log
--- a/cg-log
+++ b/cg-log
@@ -283,18 +283,18 @@ done
if [ "$mergebase" ]; then
[ "$log_start" ] || log_start="HEAD"
[ "$log_end" ] || log_end="origin"
- id1=$(cg-commit-id "$log_start") || exit 1
- id2=$(cg-commit-id "$log_end") || exit 1
+ id1=$(cg-object-id "$log_start") || exit 1
+ id2=$(cg-object-id "$log_end") || exit 1
log_start=$(git-merge-base $id1 $id2) || exit 1
fi
-id1="$(cg-commit-id "$log_start")" || exit 1
+id1="$(cg-object-id "$log_start")" || exit 1
if [ "$log_end" ]; then
- id2="$(cg-commit-id "$log_end")" || exit 1
+ id2="$(cg-object-id "$log_end")" || exit 1
revls="git-rev-list --pretty=raw $id2 ^$id1"
else
revls="git-rev-list --pretty=raw $id1"
fi
diff --git a/cg-merge b/cg-merge
--- a/cg-merge
+++ b/cg-merge
@@ -74,29 +74,29 @@ posthook()
$_git/hooks/merge-post "$branchname" "$base" "$head" "$branch" "$@"
fi
}
-head=$(cg-commit-id) || exit 1
+head=$(cg-object-id) || exit 1
careful=
base=
while optparse; do
if optparse -c; then
careful=1
elif optparse -b=; then
- base=$(cg-commit-id "$OPTARG") || exit 1
+ base=$(cg-object-id "$OPTARG") || exit 1
else
optfail
fi
done
branchname="${ARGS[0]}"
[ "$branchname" ] || { [ -s $_git/refs/heads/origin ] && branchname=origin; }
[ "$branchname" ] || die "what to merge?"
-branch=$(cg-commit-id "$branchname") || exit 1
+branch=$(cg-object-id "$branchname") || exit 1
[ "$base" ] || base=$(git-merge-base "$head" "$branch")
[ "$base" ] || die "unable to automatically determine merge base"
@@ -133,11 +133,11 @@ echo "Merging $base -> $branch" >&2
echo -e "\tto $head..." >&2
prehook tree
-if ! git-read-tree -u -m $(cg-tree-id $base) $(cg-tree-id $head) $(cg-tree-id $branch); then
+if ! git-read-tree -u -m $(cg-object-id -t $base) $(cg-object-id -t $head) $(cg-object-id -t $branch); then
echo "cg-merge: git-read-tree failed (merge likely blocked by local changes)" >&2
posthook tree localchanges
exit 1
fi
diff --git a/cg-mkpatch b/cg-mkpatch
--- a/cg-mkpatch
+++ b/cg-mkpatch
@@ -127,18 +127,18 @@ while optparse; do
done
if [ "$mergebase" ]; then
[ "$log_start" ] || log_start="HEAD"
[ "$log_end" ] || log_end="origin"
- id1=$(cg-commit-id "$log_start") || exit 1
- id2=$(cg-commit-id "$log_end") || exit 1
+ id1=$(cg-object-id "$log_start") || exit 1
+ id2=$(cg-object-id "$log_end") || exit 1
log_start=$(git-merge-base $id1 $id2) || exit 1
fi
if [ "$log_end" ]; then
- id1=$(cg-commit-id "$log_start") || exit 1
- id2=$(cg-commit-id "$log_end") || exit 1
+ id1=$(cg-object-id "$log_start") || exit 1
+ id2=$(cg-object-id "$log_end") || exit 1
if [ "$outdir" ]; then
mkdir -p "$outdir" || die "cannot create patch directory"
pnum=001
fi
@@ -169,8 +169,8 @@ if [ "$log_end" ]; then
fi
done
else
[ "$outdir" ] && die "-d makes sense only for patch series"
- id=$(cg-commit-id "$log_start") || exit 1
+ id=$(cg-object-id "$log_start") || exit 1
showpatch $id
fi
diff --git a/cg-seek b/cg-seek
--- a/cg-seek
+++ b/cg-seek
@@ -27,20 +27,20 @@ _git_requires_root=1
dstcommit=$1
[ -s $_git/blocked ] && grep -vq '^seeked from ' $_git/blocked && die "action blocked: $(cat $_git/blocked)"
-curcommit=$(cg-commit-id) || exit 1
+curcommit=$(cg-object-id) || exit 1
if [ "$dstcommit" ] && [ "$dstcommit" != "$_git_head" ]; then
seek_mode=away
else
seek_mode=back
- dstcommit=$(cg-commit-id "$_git_head") || exit 1
+ dstcommit=$(cg-object-id "$_git_head") || exit 1
fi
-dstcommit=$(cg-commit-id "$dstcommit") || exit 1
+dstcommit=$(cg-object-id "$dstcommit") || exit 1
if [ "$curcommit" != "$dstcommit" ]; then
tree_timewarp --no-head-update "along" "please rollback" $curcommit $dstcommit
fi
if [ "$seek_mode" = "away" ]; then
diff --git a/cg-upload b/cg-upload
--- a/cg-upload
+++ b/cg-upload
@@ -43,18 +43,18 @@ elif echo "$uri" | grep -q ":"; then
die "uploading over rsync not supported"
else
remgit="$uri"; [ -d "$remgit/.git" ] && remgit="$remgit/.git"
if is_same_repo "$_git_objects" "$remgit/objects"; then
remid="$(cat "$remgit"/refs/heads/$rembranch)" || die "$remgit: no branch $master"
- if [ "$remid" != "$(git-merge-base "$remid" "$(cg-commit-id)")" ]; then
+ if [ "$remid" != "$(git-merge-base "$remid" "$(cg-object-id)")" ]; then
echo "ERROR: Remote '$rembranch' has some changes you don't have in your '$_git_head'" >&2
echo "Try to cg-update from it first, then upload." >&2
exit 1
fi
- [ -x "$remgit/hooks/update" ] && "$remgit/hooks/update" "$rembranch" "$remid" "$(cg-commit-id)"
- cg-commit-id >"$remgit"/refs/heads/$rembranch
+ [ -x "$remgit/hooks/update" ] && "$remgit/hooks/update" "$rembranch" "$remid" "$(cg-object-id)"
+ cg-object-id >"$remgit"/refs/heads/$rembranch
[ -x "$remgit/hooks/post-update" ] && "$remgit/hooks/post-update" "$rembranch"
else
git-send-pack "$uri" $_git_head$sprembranch
fi
fi
diff --git a/contrib/gitfeedmaillist.sh b/contrib/gitfeedmaillist.sh
--- a/contrib/gitfeedmaillist.sh
+++ b/contrib/gitfeedmaillist.sh
@@ -111,26 +111,26 @@ EOF
i=$(($i+1))
done
done
}
-base=$(cg-commit-id $1)
+base=$(cg-object-id $1)
if [ -z $2 ]; then
lastmail=`cat .git/tags/MailDone`
else
- lastmail=$(cg-commit-id $2)
+ lastmail=$(cg-object-id $2)
fi
#if [ -z $3 ]; then
# tagname=`ls -rt .git/tags | grep -v MailDone | tail -1`
# release=`cat .git/tags/$tagname`
#else
# release=$(gitXnormid.sh -c $3)
#fi
-base=$(cg-commit-id $1) || exit 1
+base=$(cg-object-id $1) || exit 1
if [ "$base" != "$lastmail" ]; then
# List the commits at which we should stop following the tree, because
# we've come back to commits which were already in $lastmail.
--
Regards,
Pavel Roskin
reply other threads:[~2005-09-20 2:13 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=1127182391.31115.18.camel@dv \
--to=proski@gnu.org \
--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).