threads / rfc / 20249

[RFC] request-pull with diff body itself

Subject: [RFC] request-pull with diff body itself

## tl;dr

5 messages between Jul 27, 2009 and Jul 28, 2009.

replies: 4people: 2as markdown or json

Cyrill Gorcunov· Jul 27, 2009, 19:53 UTC · lore

Here is rfc in a sake of having ability to produce diff body in small series of changes in request-pull. we could use ">>" here and append diff by hands but adding "-p" option seems more comfortable.

Dunno, just a thought.
Please CC me, I'm not subscribed.
	-- Cyrill
---
[RFC] request-pull -- produce long diff if needed

Allow git request-pull to append diff body into pull request. It's really useful for small series of commits.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

This is just an RFC -- so if you don't like it feel free to just drop. I found useful to have an ability to pass additional "-p" option and have diff body in request.

 git-request-pull.sh |   18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)
Index: git.git/git-request-pull.sh
=====================================================================
--- git.git.orig/git-request-pull.sh
+++ git.git/git-request-pull.sh
@@ -4,7 +4,7 @@
 # This file is licensed under the GPL v2, or a later version
 # at the discretion of Linus Torvalds.
 
-USAGE='<start> <url> [<end>]'
+USAGE='[-p] <start> <url> [<end>]'
 LONG_USAGE='Summarizes the changes between two commits to the standard output,
 and includes the given URL in the generated summary.'
 SUBDIRECTORY_OK='Yes'
@@ -15,6 +15,16 @@ OPTIONS_SPEC=
 GIT_PAGER=
 export GIT_PAGER
 
+usediff="no"
+if [ $# -eq 4 ]; then
+	if [ $1 = "-p" ]; then
+		usediff="yes"
+		shift
+	else
+		usage
+	fi
+fi
+
 base=$1
 url=$2
 head=${3-HEAD}
@@ -55,4 +65,10 @@ echo
 
 git shortlog ^$baserev $headrev
 git diff -M --stat --summary $merge_base $headrev
+
+if [ "$usediff" = "yes" ]; then
+	echo "---"
+	git diff -M -p $merge_base $headrev
+fi
+
 exit $status
Junio C Hamano· Jul 27, 2009, 20:46 UTC · re: Cyrill Gorcunov · lore

Re: [RFC] request-pull with diff body itself

Cyrill Gorcunov <gorcunov@gmail.com> writes:
Show 6 quoted lines
> Here is rfc in a sake of having ability to produce
> diff body in small series of changes in request-pull.
> we could use ">>" here and append diff by hands but
> adding "-p" option seems more comfortable.
>
> Dunno, just a thought.

I think this is a useful thing to add, as I think I've seen some request-pull actually made with the patch text, most likely by hand.

Show 7 quoted lines
>  git shortlog ^$baserev $headrev
>  git diff -M --stat --summary $merge_base $headrev
> +
> +if [ "$usediff" = "yes" ]; then
> +	echo "---"
> +	git diff -M -p $merge_base $headrev
> +fi
You can just use a single "git diff" invocation here,
	git diff -M --stat --summary $usediff $merge_base $headrev
and set up "$usediff" to be either empty or -p in the option parsing part.
Cyrill Gorcunov· Jul 27, 2009, 20:56 UTC · re: Junio C Hamano · lore

Re: [RFC] request-pull with diff body itself

On 7/28/09, Junio C Hamano <gitster@pobox.com> wrote:
Show 26 quoted lines
> Cyrill Gorcunov <gorcunov@gmail.com> writes:
>
>> Here is rfc in a sake of having ability to produce
>> diff body in small series of changes in request-pull.
>> we could use ">>" here and append diff by hands but
>> adding "-p" option seems more comfortable.
>>
>> Dunno, just a thought.
>
> I think this is a useful thing to add, as I think I've seen some
> request-pull actually made with the patch text, most likely by hand.
>
>>  git shortlog ^$baserev $headrev
>>  git diff -M --stat --summary $merge_base $headrev
>> +
>> +if [ "$usediff" = "yes" ]; then
>> +	echo "---"
>> +	git diff -M -p $merge_base $headrev
>> +fi
>
> You can just use a single "git diff" invocation here,
>
> 	git diff -M --stat --summary $usediff $merge_base $headrev
>
> and set up "$usediff" to be either empty or -p in the option parsing part.
>

yeah, indeed, thanks for the hint Junio! Will post an updated patch in a day or so ( as only get back my laptop back). Or maybe someone could make it faster then me ;)

Junio C Hamano· Jul 27, 2009, 21:27 UTC · re: Cyrill Gorcunov · lore

Re: [RFC] request-pull with diff body itself

Cyrill Gorcunov <gorcunov@gmail.com> writes:
> Will post an updated patch in a day or so ( as only get back my laptop
> back). Or maybe someone could make it faster then me ;)
Like this, perhaps.
 git-request-pull.sh |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/git-request-pull.sh b/git-request-pull.sh
index 5917773..5c1121c 100755
--- a/git-request-pull.sh
+++ b/git-request-pull.sh
@@ -8,13 +8,33 @@ USAGE='<start> <url> [<end>]'
 LONG_USAGE='Summarizes the changes between two commits to the standard output,
 and includes the given URL in the generated summary.'
 SUBDIRECTORY_OK='Yes'
-OPTIONS_SPEC=
+OPTIONS_SPEC='git request-pull [options] start url [end]
+--
+p    show patch text as well
+'
+
 . git-sh-setup
 . git-parse-remote
 
 GIT_PAGER=
 export GIT_PAGER
 
+patch=
+while	case "$#" in 0) break ;; esac
+do
+	case "$1" in
+	-p)
+		patch=-p ;;
+	--)
+		shift; break ;;
+	-*)
+		usage ;;
+	*)
+		break ;;
+	esac
+	shift
+done
+
 base=$1
 url=$2
 head=${3-HEAD}
@@ -54,5 +74,5 @@ echo "  $url $branch"
 echo
 
 git shortlog ^$baserev $headrev
-git diff -M --stat --summary $merge_base $headrev
+git diff -M --stat --summary $patch $merge_base..$headrev
 exit $status
Cyrill Gorcunov· Jul 28, 2009, 06:00 UTC · re: Junio C Hamano · lore

Re: [RFC] request-pull with diff body itself

[Junio C Hamano - Mon, Jul 27, 2009 at 02:27:47PM -0700]
| Cyrill Gorcunov <gorcunov@gmail.com> writes:
| 
| > Will post an updated patch in a day or so ( as only get back my laptop
| > back). Or maybe someone could make it faster then me ;)
| 
| Like this, perhaps.
|
...

Yes, Junio, thanks! Please merge it into git repo (if noone objects).

	-- Cyrill

← back to recent threads