* [PATCH 1/3] Add pack-refs and show-ref test cases.
@ 2006-09-28 4:58 Christian Couder
2007-03-24 5:30 ` [PATCH 2/3] When creating branch c/d check that branch c does not already exists Christian Couder
0 siblings, 1 reply; 4+ messages in thread
From: Christian Couder @ 2006-09-28 4:58 UTC (permalink / raw
To: Junio Hamano; +Cc: git
Some of these test cases are from Junio.
One test case is commented out because it doesn't work right now.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
t/t3210-pack-refs.sh | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/t/t3210-pack-refs.sh b/t/t3210-pack-refs.sh
new file mode 100755
index 0000000..2cc03e6
--- /dev/null
+++ b/t/t3210-pack-refs.sh
@@ -0,0 +1,70 @@
+#!/bin/sh
+#
+# Copyright (c) 2005 Amos Waterland
+# Copyright (c) 2006 Christian Couder
+#
+
+test_description='git pack-refs should not change the branch semantic
+
+This test runs git pack-refs and git show-ref and checks that the branch
+semantic is still the same.
+'
+. ./test-lib.sh
+
+test_expect_success \
+ 'prepare a trivial repository' \
+ 'echo Hello > A &&
+ git-update-index --add A &&
+ git-commit -m "Initial commit." &&
+ HEAD=$(git-rev-parse --verify HEAD)'
+
+SHA1=
+
+test_expect_success \
+ 'see if git show-ref works as expected' \
+ 'git-branch a &&
+ SHA1=$(< .git/refs/heads/a) &&
+ echo "$SHA1 refs/heads/a" >expect &&
+ git-show-ref a >result &&
+ diff expect result'
+
+test_expect_success \
+ 'see if a branch still exists when packed' \
+ 'git-branch b &&
+ git-pack-refs &&
+ rm .git/refs/heads/b &&
+ echo "$SHA1 refs/heads/b" >expect &&
+ git-show-ref b >result &&
+ diff expect result'
+
+# test_expect_failure \
+# 'git branch c/d should barf if branch c exists' \
+# 'git-branch c &&
+# git-pack-refs &&
+# rm .git/refs/heads/c &&
+# git-branch c/d'
+
+test_expect_success \
+ 'see if a branch still exists after git pack-refs --prune' \
+ 'git-branch e &&
+ git-pack-refs --prune &&
+ echo "$SHA1 refs/heads/e" >expect &&
+ git-show-ref e >result &&
+ diff expect result'
+
+test_expect_failure \
+ 'see if git pack-refs --prune remove ref files' \
+ 'git-branch f &&
+ git-pack-refs --prune &&
+ ls .git/refs/heads/f'
+
+test_expect_success \
+ 'git branch g should work when git branch g/h has been deleted' \
+ 'git-branch g/h &&
+ git-pack-refs --prune &&
+ git-branch -d g/h &&
+ git-branch g &&
+ git-pack-refs &&
+ git-branch -d g'
+
+test_done
--
1.4.2.1.g4f95-dirty
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] When creating branch c/d check that branch c does not already exists.
@ 2006-09-28 5:00 Christian Couder
0 siblings, 0 replies; 4+ messages in thread
From: Christian Couder @ 2006-09-28 5:00 UTC (permalink / raw
To: Junio Hamano; +Cc: git
With packed refs, there may not be a ".git/refs/heads/c" file
when branch c exists. And currently in this case, there is no check
to prevent creation of branch c/d.
This should probably be rewritten in C and done after the ref lock
has been taken to make sure no race exists though.
This is mainly to make all test cases in "t3210-pack-refs.sh" work.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
git-branch.sh | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/git-branch.sh b/git-branch.sh
index 4826c75..4a1e7d9 100755
--- a/git-branch.sh
+++ b/git-branch.sh
@@ -122,6 +122,16 @@ then
done
fi
+branchdir=$(dirname $branchname)
+while test "$branchdir" != "."
+do
+ if git-show-ref --verify --quiet -- "refs/heads/$branchdir"
+ then
+ die "$branchdir already exists."
+ fi
+ branchdir=$(dirname $branchdir)
+done
+
if git-show-ref --verify --quiet -- "refs/heads/$branchname"
then
if test '' = "$force"
--
1.4.2.1.g3bab
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] When creating branch c/d check that branch c does not already exists.
2006-09-28 4:58 [PATCH 1/3] Add pack-refs and show-ref test cases Christian Couder
@ 2007-03-24 5:30 ` Christian Couder
2007-03-24 5:34 ` Christian Couder
0 siblings, 1 reply; 4+ messages in thread
From: Christian Couder @ 2007-03-24 5:30 UTC (permalink / raw
To: Junio Hamano; +Cc: git
With packed refs, there may not be a ".git/refs/heads/c" file
when branch c exists. And currently in this case, there is no check
to prevent creation of branch c/d.
This should probably be rewritten in C and done after the ref lock
has been taken to make sure no race exists though.
This is mainly to make all test cases in "t3210-pack-refs.sh" work.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
git-branch.sh | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/git-branch.sh b/git-branch.sh
index 4826c75..4a1e7d9 100755
--- a/git-branch.sh
+++ b/git-branch.sh
@@ -122,6 +122,16 @@ then
done
fi
+branchdir=$(dirname $branchname)
+while test "$branchdir" != "."
+do
+ if git-show-ref --verify --quiet -- "refs/heads/$branchdir"
+ then
+ die "$branchdir already exists."
+ fi
+ branchdir=$(dirname $branchdir)
+done
+
if git-show-ref --verify --quiet -- "refs/heads/$branchname"
then
if test '' = "$force"
--
1.4.2.1.g3bab
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/3] When creating branch c/d check that branch c does not already exists.
2007-03-24 5:30 ` [PATCH 2/3] When creating branch c/d check that branch c does not already exists Christian Couder
@ 2007-03-24 5:34 ` Christian Couder
0 siblings, 0 replies; 4+ messages in thread
From: Christian Couder @ 2007-03-24 5:34 UTC (permalink / raw
To: Junio Hamano; +Cc: git
Oops, sorry this is an old mail that was in my Draft folder and should not
have been sent...
Christian.
Le samedi 24 mars 2007 06:30, Christian Couder a écrit :
> With packed refs, there may not be a ".git/refs/heads/c" file
> when branch c exists. And currently in this case, there is no check
> to prevent creation of branch c/d.
>
> This should probably be rewritten in C and done after the ref lock
> has been taken to make sure no race exists though.
>
> This is mainly to make all test cases in "t3210-pack-refs.sh" work.
>
> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
> ---
> git-branch.sh | 10 ++++++++++
> 1 files changed, 10 insertions(+), 0 deletions(-)
>
> diff --git a/git-branch.sh b/git-branch.sh
> index 4826c75..4a1e7d9 100755
> --- a/git-branch.sh
> +++ b/git-branch.sh
> @@ -122,6 +122,16 @@ then
> done
> fi
>
> +branchdir=$(dirname $branchname)
> +while test "$branchdir" != "."
> +do
> + if git-show-ref --verify --quiet -- "refs/heads/$branchdir"
> + then
> + die "$branchdir already exists."
> + fi
> + branchdir=$(dirname $branchdir)
> +done
> +
> if git-show-ref --verify --quiet -- "refs/heads/$branchname"
> then
> if test '' = "$force"
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-03-24 5:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-28 4:58 [PATCH 1/3] Add pack-refs and show-ref test cases Christian Couder
2007-03-24 5:30 ` [PATCH 2/3] When creating branch c/d check that branch c does not already exists Christian Couder
2007-03-24 5:34 ` Christian Couder
-- strict thread matches above, loose matches on Subject: below --
2006-09-28 5:00 Christian Couder
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).