[prev in list] [next in list] [prev in thread] [next in thread]
List: git
Subject: Re: [PATCH 1/7] add new command git equal-tree-marker
From: Michael J Gruber <git () drmicha ! warpmail ! net>
Date: 2009-11-30 15:36:28
Message-ID: 4B13E67C.4050005 () drmicha ! warpmail ! net
[Download RAW message or body]
Bernhard R. Link venit, vidit, dixit 30.11.2009 15:43:
> This adds a new commit denoting tha current branch has the same
> tree as another branch, thus allowing fast-forward from the named
> commits to this one.
>
> TODO: manpage, rewrite as builtin once the semantics are accepted?
> ---
> .gitignore | 1 +
> Makefile | 1 +
> git-equal-tree-marker.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 52 insertions(+), 0 deletions(-)
> create mode 100644 git-equal-tree-marker.sh
>
> diff --git a/.gitignore b/.gitignore
> index ac02a58..248d146 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -39,6 +39,7 @@
> /git-difftool
> /git-difftool--helper
> /git-describe
> +/git-equal-tree-marker
> /git-fast-export
> /git-fast-import
> /git-fetch
> diff --git a/Makefile b/Makefile
> index 4dba10e..913d4c4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -336,6 +336,7 @@ TEST_PROGRAMS =
> SCRIPT_SH += git-am.sh
> SCRIPT_SH += git-bisect.sh
> SCRIPT_SH += git-difftool--helper.sh
> +SCRIPT_SH += git-equal-tree-marker.sh
> SCRIPT_SH += git-filter-branch.sh
> SCRIPT_SH += git-lost-found.sh
> SCRIPT_SH += git-merge-octopus.sh
> diff --git a/git-equal-tree-marker.sh b/git-equal-tree-marker.sh
> new file mode 100644
> index 0000000..403cc56
> --- /dev/null
> +++ b/git-equal-tree-marker.sh
> @@ -0,0 +1,50 @@
> +#!/bin/sh
> +#
> +# Copyright (c) 2009 Bernhard R. Link
> +#
> +# Create a new commit making HEAD parent of the arguments,
> +# which must be commits with the same tree.
> +
> +set -e
> +
> +USAGE='<head>...'
> +LONG_USAGE='Make current HEAD parent of the given heads (which need to have the same tree).'
> +SUBDIRECTORY_OK=Yes
> +OPTIONS_SPEC=
> +. git-sh-setup
> +cd_to_toplevel
> +
> +# is there really no function for this?
> +tree_of_commit() {
> + git cat-file commit "$1" | grep '^tree ' | head -n 1 | sed -e 's/^tree //'
> +}
You mean there should be something really simple, such as:
git rev-parse "$1"^{tree}
Michael
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic