git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jeff King <peff@peff.net>
To: git@vger.kernel.org
Cc: Alexey Muranov <alexey.muranov@gmail.com>
Subject: [PATCH 3/3] add tests for reflogs of deleted refs
Date: Thu, 19 Jul 2012 17:33:32 -0400	[thread overview]
Message-ID: <20120719213332.GC20385@sigill.intra.peff.net> (raw)
In-Reply-To: <20120719213225.GA20311@sigill.intra.peff.net>

These tests cover the basic functionality of retaining
reflogs for deleted refs.

Signed-off-by: Jeff King <peff@peff.net>
---
 t/t1413-reflog-deletion.sh | 74 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)
 create mode 100755 t/t1413-reflog-deletion.sh

diff --git a/t/t1413-reflog-deletion.sh b/t/t1413-reflog-deletion.sh
new file mode 100755
index 0000000..e00d038
--- /dev/null
+++ b/t/t1413-reflog-deletion.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+test_description='test retention of reflog after ref deletion'
+. ./test-lib.sh
+
+test_expect_success 'setup deleted branch' '
+	test_tick && echo one >file && git add file && git commit -m one &&
+	test_tick && echo two >file && git add file && git commit -m two &&
+	git checkout -b foo/bar &&
+	test_tick && echo three >file && git add file && git commit -m three &&
+	git checkout master &&
+	git branch -D foo/bar &&
+	rm -f .git/logs/HEAD
+'
+
+test_expect_success 'branch is no longer accessible' '
+	test_must_fail git rev-parse --verify foo/bar
+'
+
+test_expect_success 'final reflog is null sha1' '
+	echo $_z40 >expect &&
+	git rev-parse --verify foo/bar@{0} >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'deleted reflog entries are accessible' '
+	cat >expect <<-\EOF &&
+	three
+	two
+	EOF
+	{
+		git log -1 --format=%s foo/bar@{1}
+		git log -1 --format=%s foo/bar@{2}
+	} >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'reflog walker can find deleted entries' '
+	cat >expect <<-\EOF &&
+	three
+	two
+	EOF
+	git log -g --format=%s foo/bar@{1} >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'can still create/delete same ref' '
+	git branch foo/bar &&
+	git branch -D foo/bar
+'
+
+test_expect_success 'can still create/delete parent ref' '
+	git branch foo &&
+	git branch -D foo
+'
+
+test_expect_success 'can still create/delete child ref' '
+	git branch foo/bar/baz &&
+	git branch -D foo/bar/baz
+'
+
+test_expect_success 'deleted reflog entries are still reachable' '
+	>expect &&
+	git fsck --unreachable >actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'deleted reflog entries are expired normally' '
+	git reflog expire --all --expire=now &&
+	git fsck --unreachable >actual &&
+	test_line_count = 3 actual
+'
+
+test_done
-- 
1.7.10.5.40.g059818d

      parent reply	other threads:[~2012-07-19 21:33 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-19  7:30 Feature request: fetch --prune by default Alexey Muranov
2012-07-19 11:55 ` Jeff King
2012-07-19 14:03   ` Dan Johnson
2012-07-19 15:11     ` Stefan Haller
2012-08-16 23:22     ` Junio C Hamano
2012-08-21  6:51       ` Jeff King
2013-06-20 19:22     ` Sam Roberts
2012-07-19 16:21   ` Alexey Muranov
2012-07-19 17:34     ` Konstantin Khomoutov
2012-07-19 21:20       ` Alexey Muranov
2012-07-19 21:57         ` Alexey Muranov
2012-07-20  7:11         ` Johannes Sixt
2012-07-20  7:28           ` Alexey Muranov
2012-08-16 23:27             ` Junio C Hamano
2012-07-19 16:40   ` Alexey Muranov
2012-07-19 16:48     ` Dan Johnson
2012-07-19 16:51       ` Alexey Muranov
2012-07-19 21:32   ` [RFC/PATCH 0/3] reflog graveyard Jeff King
2012-07-19 21:33     ` [PATCH 1/3] retain reflogs for deleted refs Jeff King
2012-07-19 22:23       ` Alexey Muranov
2012-07-20 14:26         ` Jeff King
2012-07-20 14:32           ` Alexey Muranov
2012-07-19 22:36       ` Junio C Hamano
2012-07-20 14:43         ` Jeff King
2012-07-20 15:07           ` Jeff King
2012-07-20 15:39             ` Junio C Hamano
2012-07-20 15:42           ` Junio C Hamano
2012-07-20 15:50             ` Jeff King
2012-08-16 23:29         ` Junio C Hamano
2012-07-20  9:49       ` Michael Haggerty
2012-07-20 15:44         ` Jeff King
2012-07-20 16:37           ` Johannes Sixt
2012-07-20 17:09             ` Jeff King
2012-07-22 11:03               ` Alexey Muranov
2012-07-26 12:47               ` Nguyen Thai Ngoc Duy
2012-07-26 16:26                 ` Alexey Muranov
2012-07-26 16:41                   ` Matthieu Moy
2012-07-26 16:59                     ` Jeff King
2012-07-26 17:24                       ` Alexey Muranov
2012-07-26 17:46               ` Junio C Hamano
2012-07-26 17:52                 ` Jeff King
2012-07-22 11:10           ` Alexey Muranov
2012-07-22 11:12             ` Alexey Muranov
2012-07-22 13:14             ` Jeff King
2012-07-22 14:40               ` Alexey Muranov
2012-07-22 15:50                 ` Jeff King
2012-07-20 16:32         ` Johannes Sixt
2012-08-18 17:14       ` [RFC 0/3] Reflogs for deleted refs: fix breakage and suggest namespace change mhagger
2012-08-18 17:14         ` [RFC 1/3] t9300: format test in modern style prior to modifying it mhagger
2012-08-18 17:14         ` [RFC 2/3] Delete reflogs for dead references to allow pruning mhagger
2012-08-21  8:33           ` Jeff King
2012-08-18 17:14         ` [RFC 3/3] Change naming convention for the reflog graveyard mhagger
2012-08-18 20:39         ` [RFC 0/3] Reflogs for deleted refs: fix breakage and suggest namespace change Junio C Hamano
2012-08-18 21:11           ` Alexey Muranov
2012-08-19  0:02             ` Junio C Hamano
2012-08-19  7:07               ` Alexey Muranov
2012-08-19  7:15               ` Alexey Muranov
2012-08-19 11:28               ` Alexey Muranov
2012-08-19 17:38                 ` Junio C Hamano
2012-08-19 22:09                   ` Alexey Muranov
2012-08-20  0:26                     ` Junio C Hamano
2012-08-20  1:01                       ` Junio C Hamano
2012-08-20 11:32                       ` Alexey Muranov
2012-08-20 11:57                         ` Alexey Muranov
2012-08-19 13:19           ` Michael Haggerty
2012-08-19 16:27             ` Junio C Hamano
2012-08-21  8:27           ` Jeff King
2012-08-21 17:56             ` Junio C Hamano
2012-07-19 21:33     ` [PATCH 2/3] teach sha1_name to look in graveyard reflogs Jeff King
2012-07-19 22:39       ` Junio C Hamano
2012-07-20 15:53         ` Jeff King
2012-07-22 20:53           ` Junio C Hamano
2012-07-19 21:33     ` Jeff King [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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120719213332.GC20385@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=alexey.muranov@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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).