From: Petr Baudis <pasky@ucw.cz>
To: Matt Porter <mporter@kernel.crashing.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] cogito: Add cg-undo command
Date: Tue, 3 May 2005 23:32:04 +0200 [thread overview]
Message-ID: <20050503213204.GC15995@pasky.ji.cz> (raw)
In-Reply-To: <20050503100624.A29266@cox.net>
Dear diary, on Tue, May 03, 2005 at 07:06:25PM CEST, I got a letter
where Matt Porter <mporter@kernel.crashing.org> told me that...
> Index: cg-help
> ===================================================================
> --- a1aff2a6748c0c0d08058c7d74503e724abc5d03/cg-help (mode:100755 sha1:1f5d2d79b67490d44ce0f575ff9a4b80134ea47f)
> +++ 023d9a7929d2f933d8e008f1679f13a58f7b1229/cg-help (mode:100755 sha1:c7dc8f3e03895374cd0dae544570a37a459c2466)
> @@ -43,6 +43,7 @@
> cg-status
> cg-tag TNAME [COMMIT_ID]
> cg-tag-ls
> + cg-undo [COMMIT_ID]
It doesn't seem very optional now.
> cg-update [BNAME]
> cg-version
>
> Index: cg-undo
> ===================================================================
> --- /dev/null (tree:a1aff2a6748c0c0d08058c7d74503e724abc5d03)
> +++ 023d9a7929d2f933d8e008f1679f13a58f7b1229/cg-undo (mode:100755 sha1:7fd6d89158fb5aeee42aa05a93f2c81884d9bd34)
> @@ -0,0 +1,20 @@
> +#!/usr/bin/env bash
> +#
> +# Undo a commit or a series of commits
> +# Copyright (C) Matt Porter, 2005
> +#
> +# Takes a commit ID which is the earliest commit to be
> +# removed from the repository.
> +
> +. cg-Xlib
> +
> +PARENT=`git-cat-file commit $1 | grep parent | cut -f 2 -d " "`
What's wrong with parent-id?
> +echo "Undo from $1 to current HEAD"
> +echo "Reset HEAD to $PARENT"
You talk way too much, I think. I'd just do
echo "Rewinding $HEAD -> $PARENT" >&2
> +echo "$PARENT" > .git/HEAD
> +git-read-tree -m "$PARENT" || {
> + echo >&2 "$PARENT: bad commit"
> + exit 1
> +}
> +git-checkout-cache -f -a
> +git-update-cache --refresh
You really don't want to do this if the tree has any local
modifications.
Please make sure the commit you are rewinding to is an ancestor of your
current HEAD (there should be something like separate cg-branch-rm for
killing enemy branches).
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
next prev parent reply other threads:[~2005-05-03 21:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-03 17:06 [PATCH] cogito: Add cg-undo command Matt Porter
2005-05-03 21:32 ` Petr Baudis [this message]
2005-05-04 5:40 ` Matt Porter
2005-05-08 20:59 ` Petr Baudis
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=20050503213204.GC15995@pasky.ji.cz \
--to=pasky@ucw.cz \
--cc=git@vger.kernel.org \
--cc=mporter@kernel.crashing.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).