threads / patch / 4081

patchRe: [PATCH] Another config file parsing fix.

Subject: Re: [PATCH] Another config file parsing fix.

## tl;dr

3 messages between May 6, 2006 and May 6, 2006. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

sean· May 6, 2006, 18:25 UTC · lore

On Sat, 6 May 2006 14:14:02 -0400 sean <seanlkml@sympatico.ca> wrote:

Show 10 quoted lines
> If the variable we need to store should go into a section
> that currently only has a single variable (not matching
> the one we're trying to insert), we will already be into
> the next section before we notice we've bypassed the correct
> location to insert the variable.
> 
> To handle this case we store the current location as soon
> as we find a variable matching the section of our new
> variable.
> 
    
Sorry.. this should really be amended to mention that it was Linus
who spotted the problem.
Sean
sean· May 6, 2006, 19:43 UTC · re: sean · lore

[PATCH] t1300-repo-config: two new config parsing tests.

- correctly insert a new variable into a section that only
  contains a single (different) variable.
- correctly insert a new section that matches the initial
  substring of an existing section.
Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
---
Both tests fail with v1.3.2 and pass with latest patches.
 t/t1300-repo-config.sh |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)
ef2178a10e27f43d4120884bc587c460e9b1bfcb
Show changes to t/t1300-repo-config.sh +31 −0
diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh
index 1bf728f..0914be2 100755
--- a/t/t1300-repo-config.sh
+++ b/t/t1300-repo-config.sh
@@ -278,5 +278,36 @@ git-repo-config > output 2>&1
 test_expect_success 'no arguments, but no crash' \
 	"test $? = 129 && grep usage output"
 
+cat > .git/config << EOF
+[a.b]
+	c = d
+EOF
+
+git-repo-config a.x y
+
+cat > expect << EOF
+[a.b]
+	c = d
+[a]
+	x = y
+EOF
+
+test_expect_success 'new section is partial match of another' 'cmp .git/config expect'
+
+git-repo-config b.x y
+git-repo-config a.b c
+
+cat > expect << EOF
+[a.b]
+	c = d
+[a]
+	x = y
+	b = c
+[b]
+	x = y
+EOF
+
+test_expect_success 'new variable inserts into proper section' 'cmp .git/config expect'
+
 test_done
 
-- 
1.3.2.gd777c
Johannes Schindelin· May 6, 2006, 21:01 UTC · re: sean · lore
Hi,
On Sat, 6 May 2006, sean wrote:
Show 16 quoted lines
> On Sat, 6 May 2006 14:14:02 -0400
> sean <seanlkml@sympatico.ca> wrote:
> 
> > If the variable we need to store should go into a section
> > that currently only has a single variable (not matching
> > the one we're trying to insert), we will already be into
> > the next section before we notice we've bypassed the correct
> > location to insert the variable.
> > 
> > To handle this case we store the current location as soon
> > as we find a variable matching the section of our new
> > variable.
> > 
>     
> Sorry.. this should really be amended to mention that it was Linus
> who spotted the problem.
Thanks to both of you!

Ciao, Dscho

← back to recent threads