All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Santi Béjar" <sbejar@gmail.com>
To: Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH/RFC 1/3] t/t5515-fetch-merge-logic.sh: Added tests for the merge login in git-fetch
Date: Fri, 16 Feb 2007 09:23:02 +0100	[thread overview]
Message-ID: <87mz3eo6jd.fsf@gmail.com> (raw)
In-Reply-To: <87zm7eo78x.fsf@gmail.com> (Santi =?utf-8?Q?B=C3=A9jar's?= message of "Fri, 16 Feb 2007 09:07:42 +0100")

[-- Attachment #1: Type: text/plain, Size: 3704 bytes --]

Hi *,

   I think it didn't get to the list due to the size limit. So I send it
   as a gziped attatchment, with the test inline.

Regards,

Santi

---
 t/t5515-fetch-merge-logic.sh                       |  124 ++++++++++++++++++++

diff --git a/t/t5515-fetch-merge-logic.sh b/t/t5515-fetch-merge-logic.sh
new file mode 100755
index 0000000..8d8a71f
--- /dev/null
+++ b/t/t5515-fetch-merge-logic.sh
@@ -0,0 +1,124 @@
+#!/bin/sh
+#
+# Copyright (c) 2007 Santi Béjar, based on t4013 by Junio C Hamano
+#
+#
+
+test_description='Merge logic in fetch'
+
+. ./test-lib.sh
+
+LF='
+'
+
+test_expect_success setup '
+	GIT_AUTHOR_DATE="2006-06-26 00:00:00 +0000" &&
+	GIT_COMMITTER_DATE="2006-06-26 00:00:00 +0000" &&
+	export GIT_AUTHOR_DATE GIT_COMMITTER_DATE &&
+
+	echo >file original &&
+	git add file &&
+	git commit -a -m One &&
+	git branch one &&
+
+	echo two >> file &&
+	git commit -a -m Two &&
+	git branch two &&
+
+	echo three >> file &&
+	git commit -a -m Three &&
+	git branch three &&
+
+	echo master >> file &&
+	git commit -a -m Master
+
+	git checkout three
+
+	git clone . cloned &&
+	cd cloned &&
+
+	git config remote.config-explicit.url ../.git/ &&
+	git config remote.config-explicit.fetch refs/heads/master:remotes/rem/master &&
+	git config --add remote.config-explicit.fetch refs/heads/one:remotes/rem/one &&
+	git config --add remote.config-explicit.fetch two:remotes/rem/two &&
+	git config --add remote.config-explicit.fetch refs/heads/three:remotes/rem/three &&
+
+	git config remote.config-glob.url ../.git/ &&
+	git config remote.config-glob.fetch refs/heads/*:refs/remotes/rem/* &&
+
+	mkdir -p .git/remotes &&
+	{
+		echo "URL: ../.git/"
+		echo "Pull: refs/heads/master:remotes/rem/master"
+		echo "Pull: refs/heads/one:remotes/rem/one"
+		echo "Pull: two:remotes/rem/two"
+		echo "Pull: refs/heads/three:remotes/rem/three"
+	} >.git/remotes/remote-explicit &&
+
+	{
+		echo "URL: ../.git/"
+		echo "Pull: refs/heads/*:refs/remotes/rem/*"
+	} >.git/remotes/remote-glob &&
+
+	mkdir -p .git/branches &&
+	echo "../.git" > .git/branches/branches-default &&
+	echo "../.git#one" > .git/branches/branches-one &&
+
+	for remote in config-explicit config-glob remote-explicit remote-glob \
+		branches-default branches-one ; do
+		git config branch.br-$remote.remote $remote &&
+		git config branch.br-$remote-merge.remote $remote &&
+		git config branch.br-$remote-merge.merge refs/heads/three &&
+		git config branch.br-$remote-octopus.remote $remote &&
+		git config branch.br-$remote-octopus.merge refs/heads/one &&
+		git config --add branch.br-$remote-octopus.merge two &&
+		git config --add branch.br-$remote-octopus.merge remotes/rem/three &&
+		branches="$branches br-$remote br-$remote-merge br-$remote-octopus"
+	done
+'
+
+for branch in br-unconfig $branches ; do
+    echo $branch
+    for remote in config-explicit config-glob remote-explicit remote-glob \
+	branches-default branches-one ../.git
+    do
+cat <<EOF
+$branch $remote
+$branch $remote one
+$branch $remote one two
+EOF
+    done
+done > tests
+
+while read cmd
+do
+	case "$cmd" in
+	'' | '#'*) continue ;;
+	esac
+	test=`echo "$cmd" | sed -e 's|[/ ][/ ]*|_|g'`
+	cnt=`expr $test_count + 1`
+	pfx=`printf "%04d" $cnt`
+	expect="../../t5515/fetch.$test"
+	actual="$pfx-fetch.$test"
+
+	test_expect_success "$cmd" '
+		{
+			echo "# $cmd"
+			set x $cmd; shift
+			git symbolic-ref HEAD refs/heads/$1 ; shift
+			git fetch "$@" >/dev/null
+			cut -f -2 .git/FETCH_HEAD
+		} >"$actual" &&
+		if test -f "$expect"
+		then
+			diff -u "$expect" "$actual" &&
+			rm -f "$actual"
+		else
+			# this is to help developing new tests.
+			cp "$actual" "$expect"
+			false
+		fi
+	'
+done < tests
+
+test_done


[-- Attachment #2: 0001-t-t5515-fetch-merge-logic.sh-Added-tests-for-the-merge-login-in-git-fetch.patch.gz --]
[-- Type: application/x-gzip, Size: 13870 bytes --]

      parent reply	other threads:[~2007-02-16  8:23 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-16  8:06 [PATCH/RFC 0/3] Split fetch and merge logic Santi Béjar
2007-02-16  8:09 ` [PATCH/RFC 2/3] git-fetch: " Santi Béjar
2007-02-19 20:44   ` Junio C Hamano
2007-02-19 22:13     ` Santi Béjar
2007-02-19 23:27       ` Junio C Hamano
2007-02-20 11:21         ` Santi Béjar
2007-02-16  8:10 ` [PATCH/RFC 3/3] t/t5515: fixes for the separate " Santi Béjar
2007-02-16  8:22 ` [PATCH/RFC 0/3] Split " Junio C Hamano
2007-02-16  8:40   ` Santi Béjar
2007-02-16 20:10     ` Junio C Hamano
2007-02-16 20:30       ` Santi Béjar
2007-02-16 21:14         ` Junio C Hamano
2007-02-19  9:47           ` Santi Béjar
     [not found] ` <87zm7eo78x.fsf@gmail.com>
2007-02-16  8:23   ` Santi Béjar [this message]

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=87mz3eo6jd.fsf@gmail.com \
    --to=sbejar@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.