* Garbage in .git directories???
@ 2005-09-18 2:41 Dmitry Torokhov
2005-09-18 17:10 ` Linus Torvalds
2005-09-19 19:10 ` H. Peter Anvin
0 siblings, 2 replies; 23+ messages in thread
From: Dmitry Torokhov @ 2005-09-18 2:41 UTC (permalink / raw)
To: git
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=utf-8, Size: 1000 bytes --]
Hi,
I just did:
git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git work
and it seems there is some garbage in .git directory:
[dtor@anvil work]$ ls -la .git/
total 40
drwxrwxr-x 9 dtor dtor 4096 Sep 17 21:17 .
drwxrwxr-x 3 dtor dtor 4096 Sep 17 21:17 ..
drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 branches
-rw-rw-r-- 1 dtor dtor 58 Sep 17 21:17 description
lrwxrwxrwx 1 dtor dtor 17 Sep 17 21:17 HEAD -> refs/heads/master
drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 hooks
drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 info
drwxr-xr-x 260 dtor dtor 4096 Sep 17 17:41 objects
drwxrwxr-x 4 dtor dtor 4096 May 1 19:15 refs
drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:28 remotes
drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 V?Cl?�E ???#V?C??ſl??E#V?C??;H
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The similar garbage(?) shows when I clone git's repository.
Is this expected?
--
Dmitry
^ permalink raw reply [flat|nested] 23+ messages in thread* Re: Garbage in .git directories??? 2005-09-18 2:41 Garbage in .git directories??? Dmitry Torokhov @ 2005-09-18 17:10 ` Linus Torvalds 2005-09-18 17:54 ` Dmitry Torokhov 2005-09-19 19:10 ` H. Peter Anvin 1 sibling, 1 reply; 23+ messages in thread From: Linus Torvalds @ 2005-09-18 17:10 UTC (permalink / raw) To: Dmitry Torokhov; +Cc: git [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: TEXT/PLAIN; charset=utf-8, Size: 668 bytes --] On Sat, 17 Sep 2005, Dmitry Torokhov wrote: > > git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git work > > and it seems there is some garbage in .git directory: > > drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 V?Cl?�E ???#V?C??ſl??E#V?C??;H > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > The similar garbage(?) shows when I clone git's repository. > > Is this expected? Absolutely not. And I don't see it when I try. What filesystem are you running this on? Looks like something did a "mkdir()" with an uninitialized pointer, but I don't see how that would happen. Linus ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-18 17:10 ` Linus Torvalds @ 2005-09-18 17:54 ` Dmitry Torokhov 2005-09-19 4:33 ` Dmitry Torokhov 0 siblings, 1 reply; 23+ messages in thread From: Dmitry Torokhov @ 2005-09-18 17:54 UTC (permalink / raw) To: Linus Torvalds; +Cc: git [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=utf-8, Size: 808 bytes --] On Sunday 18 September 2005 12:10, Linus Torvalds wrote: > > On Sat, 17 Sep 2005, Dmitry Torokhov wrote: > > > > git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git work > > > > and it seems there is some garbage in .git directory: > > > > drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 V?Cl?�E ???#V?C??ſl??E#V?C??;H > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > The similar garbage(?) shows when I clone git's repository. > > > > Is this expected? > > Absolutely not. And I don't see it when I try. What filesystem are you > running this on? Looks like something did a "mkdir()" with an > uninitialized pointer, but I don't see how that would happen. > > Linus > It is ext3 on 2.6.12-rc6. -- Dmitry ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-18 17:54 ` Dmitry Torokhov @ 2005-09-19 4:33 ` Dmitry Torokhov 2005-09-19 5:21 ` Junio C Hamano 2005-09-19 14:51 ` Linus Torvalds 0 siblings, 2 replies; 23+ messages in thread From: Dmitry Torokhov @ 2005-09-19 4:33 UTC (permalink / raw) To: Linus Torvalds; +Cc: git [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=utf-8, Size: 1421 bytes --] On Sunday 18 September 2005 12:54, Dmitry Torokhov wrote: > On Sunday 18 September 2005 12:10, Linus Torvalds wrote: > > > > On Sat, 17 Sep 2005, Dmitry Torokhov wrote: > > > > > > git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git work > > > > > > and it seems there is some garbage in .git directory: > > > > > > drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 V?Cl?�E ???#V?C??ſl??E#V?C??;H > > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > > The similar garbage(?) shows when I clone git's repository. > > > > > > Is this expected? > > > > Absolutely not. And I don't see it when I try. What filesystem are you > > running this on? Looks like something did a "mkdir()" with an > > uninitialized pointer, but I don't see how that would happen. > > > > Linus > > > > It is ext3 on 2.6.12-rc6. > Couple more points - just using rsync to get the data (without using git) does not not produce that wierd directory, only got clone does. Btw, after doing a pull from git repository git cone now produces the following: sent 403 bytes received 2164 bytes 570.44 bytes/sec total size is 533 speedup is 0.21 rsync: link_stat "/scm/git/git.git/objects/info/alternates" (in pub) failed: No such file or directory (2) rsync error: some files could not be transferred (code 23) at main.c(1173) -- Dmitry ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-19 4:33 ` Dmitry Torokhov @ 2005-09-19 5:21 ` Junio C Hamano 2005-09-19 14:51 ` Linus Torvalds 1 sibling, 0 replies; 23+ messages in thread From: Junio C Hamano @ 2005-09-19 5:21 UTC (permalink / raw) To: git Dmitry Torokhov <dtor_core@ameritech.net> writes: > Btw, after doing a pull from git repository git cone now produces the > following: > > sent 403 bytes received 2164 bytes 570.44 bytes/sec > total size is 533 speedup is 0.21 > rsync: link_stat "/scm/git/git.git/objects/info/alternates" (in pub) failed: No such file or directory (2) > rsync error: some files could not be transferred (code 23) at main.c(1173) The garbage directory does ont reproduce for me, but I know what this is. It is an harmless error message -- I'll hide it in the next update. It is checking to see if the remote repository uses alternates just in case -- since git.git does not use it, it just does not find one (and needlessly complains). ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-19 4:33 ` Dmitry Torokhov 2005-09-19 5:21 ` Junio C Hamano @ 2005-09-19 14:51 ` Linus Torvalds 2005-09-19 15:00 ` Dmitry Torokhov 2005-09-20 0:09 ` Dmitry Torokhov 1 sibling, 2 replies; 23+ messages in thread From: Linus Torvalds @ 2005-09-19 14:51 UTC (permalink / raw) To: Dmitry Torokhov; +Cc: git On Sun, 18 Sep 2005, Dmitry Torokhov wrote: > > Couple more points - just using rsync to get the data (without using git) > does not not produce that wierd directory, only got clone does. Does a plain "git-init-db" in a newly created empty directory do the same? There was a bug (a long time ago) that created garbage instead of the template files, I think. Also, is there something inside of the garbage subdirectory? > Btw, after doing a pull from git repository git cone now produces the > following: Ignore that one, looks like a silly error. Unrelated. Linus ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-19 14:51 ` Linus Torvalds @ 2005-09-19 15:00 ` Dmitry Torokhov 2005-09-20 0:09 ` Dmitry Torokhov 1 sibling, 0 replies; 23+ messages in thread From: Dmitry Torokhov @ 2005-09-19 15:00 UTC (permalink / raw) To: Linus Torvalds; +Cc: git On 9/19/05, Linus Torvalds <torvalds@osdl.org> wrote: > > > On Sun, 18 Sep 2005, Dmitry Torokhov wrote: > > > > Couple more points - just using rsync to get the data (without using git) > > does not not produce that wierd directory, only got clone does. > > Does a plain "git-init-db" in a newly created empty directory do the same? > There was a bug (a long time ago) that created garbage instead of the > template files, I think. > Will test once get home... > Also, is there something inside of the garbage subdirectory? > No, they are always empty. -- Dmitry ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-19 14:51 ` Linus Torvalds 2005-09-19 15:00 ` Dmitry Torokhov @ 2005-09-20 0:09 ` Dmitry Torokhov 2005-09-20 0:45 ` Linus Torvalds 1 sibling, 1 reply; 23+ messages in thread From: Dmitry Torokhov @ 2005-09-20 0:09 UTC (permalink / raw) To: Linus Torvalds; +Cc: git On Monday 19 September 2005 09:51, Linus Torvalds wrote: > > On Sun, 18 Sep 2005, Dmitry Torokhov wrote: > > > > Couple more points - just using rsync to get the data (without using git) > > does not not produce that wierd directory, only got clone does. > > Does a plain "git-init-db" in a newly created empty directory do the same? > There was a bug (a long time ago) that created garbage instead of the > template files, I think. > Yes, plain git-init-db produces the garbage. [dtor@anvil tst]$ git-init-db defaulting to local storage area [dtor@anvil tst]$ ls -l .git/ total 32 drwxrwxr-x 2 dtor dtor 4096 Sep 19 19:08 branches -rw-rw-r-- 1 dtor dtor 58 Sep 19 19:08 description lrwxrwxrwx 1 dtor dtor 17 Sep 19 19:08 HEAD -> refs/heads/master drwxrwxr-x 2 dtor dtor 4096 Sep 19 19:08 hooks drwxrwxr-x 2 dtor dtor 4096 Sep 19 19:08 info drwxrwxr-x 260 dtor dtor 4096 Sep 19 19:08 objects drwxrwxr-x 4 dtor dtor 4096 Sep 19 19:08 refs drwxrwxr-x 2 dtor dtor 4096 Sep 19 19:08 remotes drwxrwxr-x 2 dtor dtor 4096 Sep 19 19:08 V?Cl???E ???#V?C??տl??E#V?C??;H [dtor@anvil tst]$ git --version git version 0.99.7 (Actually this is last night's pull). -- Dmitry ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-20 0:09 ` Dmitry Torokhov @ 2005-09-20 0:45 ` Linus Torvalds 2005-09-20 3:37 ` Dmitry Torokhov 0 siblings, 1 reply; 23+ messages in thread From: Linus Torvalds @ 2005-09-20 0:45 UTC (permalink / raw) To: Dmitry Torokhov; +Cc: git On Mon, 19 Sep 2005, Dmitry Torokhov wrote: > > Yes, plain git-init-db produces the garbage. Hmm. It doesn't do it for me, but I suspect it will be obvious where it happens if you send us the output from "strace git-init-db" Thanks, Linus ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-20 0:45 ` Linus Torvalds @ 2005-09-20 3:37 ` Dmitry Torokhov 0 siblings, 0 replies; 23+ messages in thread From: Dmitry Torokhov @ 2005-09-20 3:37 UTC (permalink / raw) To: Linus Torvalds; +Cc: git On Monday 19 September 2005 19:45, Linus Torvalds wrote: > > On Mon, 19 Sep 2005, Dmitry Torokhov wrote: > > > > Yes, plain git-init-db produces the garbage. > > Hmm. It doesn't do it for me, but I suspect it will be obvious where it > happens if you send us the output from "strace git-init-db" > Peter's fix for copy_templates() fixes the problem for me. -- Dmitry ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-18 2:41 Garbage in .git directories??? Dmitry Torokhov 2005-09-18 17:10 ` Linus Torvalds @ 2005-09-19 19:10 ` H. Peter Anvin 2005-09-19 19:44 ` Petr Baudis 2005-09-19 21:58 ` Garbage in .git directories??? Horst von Brand 1 sibling, 2 replies; 23+ messages in thread From: H. Peter Anvin @ 2005-09-19 19:10 UTC (permalink / raw) To: Dmitry Torokhov; +Cc: git Dmitry Torokhov wrote: > > git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git work > > and it seems there is some garbage in .git directory: > > [dtor@anvil work]$ ls -la .git/ > total 40 > drwxrwxr-x 9 dtor dtor 4096 Sep 17 21:17 . > drwxrwxr-x 3 dtor dtor 4096 Sep 17 21:17 .. > drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 branches > -rw-rw-r-- 1 dtor dtor 58 Sep 17 21:17 description > lrwxrwxrwx 1 dtor dtor 17 Sep 17 21:17 HEAD -> refs/heads/master > drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 hooks > drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 info > drwxr-xr-x 260 dtor dtor 4096 Sep 17 17:41 objects > drwxrwxr-x 4 dtor dtor 4096 May 1 19:15 refs > drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:28 remotes > drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 V?Cl?�?E ???#V?C??ſl??E#V?C??;H > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > The similar garbage(?) shows when I clone git's repository. > FWIW, using cg-clone (using git-core 0.99.6 and cogito 0.14.1) I keep finding a directory in .git which consists of a single DEL character (\177). -hpa ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-19 19:10 ` H. Peter Anvin @ 2005-09-19 19:44 ` Petr Baudis 2005-09-19 23:16 ` H. Peter Anvin 2005-09-19 21:58 ` Garbage in .git directories??? Horst von Brand 1 sibling, 1 reply; 23+ messages in thread From: Petr Baudis @ 2005-09-19 19:44 UTC (permalink / raw) To: H. Peter Anvin; +Cc: Dmitry Torokhov, git Dear diary, on Mon, Sep 19, 2005 at 09:10:19PM CEST, I got a letter where "H. Peter Anvin" <hpa@zytor.com> told me that... > Dmitry Torokhov wrote: > > > >git clone > >rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git > >work > > > >and it seems there is some garbage in .git directory: > > > >[dtor@anvil work]$ ls -la .git/ > >total 40 > >drwxrwxr-x 9 dtor dtor 4096 Sep 17 21:17 . > >drwxrwxr-x 3 dtor dtor 4096 Sep 17 21:17 .. > >drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 branches > >-rw-rw-r-- 1 dtor dtor 58 Sep 17 21:17 description > >lrwxrwxrwx 1 dtor dtor 17 Sep 17 21:17 HEAD -> refs/heads/master > >drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 hooks > >drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 info > >drwxr-xr-x 260 dtor dtor 4096 Sep 17 17:41 objects > >drwxrwxr-x 4 dtor dtor 4096 May 1 19:15 refs > >drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:28 remotes > >drwxrwxr-x 2 dtor dtor 4096 Sep 17 21:17 V?Cl?????E > >???#V?C????l??E#V?C??;H > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > > >The similar garbage(?) shows when I clone git's repository. > > > > FWIW, using cg-clone (using git-core 0.99.6 and cogito 0.14.1) I keep > finding a directory in .git which consists of a single DEL character (\177). Does cg-init produce it too? It really seems that this has to be a bug in git-init-db. If that is the case, could you try temporarily renaming the templates directory? -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ If you want the holes in your knowledge showing up try teaching someone. -- Alan Cox ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-19 19:44 ` Petr Baudis @ 2005-09-19 23:16 ` H. Peter Anvin 2005-09-19 23:40 ` Petr Baudis 0 siblings, 1 reply; 23+ messages in thread From: H. Peter Anvin @ 2005-09-19 23:16 UTC (permalink / raw) To: Petr Baudis; +Cc: Dmitry Torokhov, git Petr Baudis wrote: >> >>FWIW, using cg-clone (using git-core 0.99.6 and cogito 0.14.1) I keep >>finding a directory in .git which consists of a single DEL character (\177). > > Does cg-init produce it too? It really seems that this has to be a bug > in git-init-db. If that is the case, could you try temporarily renaming > the templates directory? cg-init does produce it, too. I'm not sure what you mean with temporarily renaming the templates directory? -hpa ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-19 23:16 ` H. Peter Anvin @ 2005-09-19 23:40 ` Petr Baudis 2005-09-19 23:58 ` H. Peter Anvin 0 siblings, 1 reply; 23+ messages in thread From: Petr Baudis @ 2005-09-19 23:40 UTC (permalink / raw) To: H. Peter Anvin; +Cc: Dmitry Torokhov, git Dear diary, on Tue, Sep 20, 2005 at 01:16:14AM CEST, I got a letter where "H. Peter Anvin" <hpa@zytor.com> told me that... > Petr Baudis wrote: > >> > >>FWIW, using cg-clone (using git-core 0.99.6 and cogito 0.14.1) I keep > >>finding a directory in .git which consists of a single DEL character > >>(\177). > > > >Does cg-init produce it too? It really seems that this has to be a bug > >in git-init-db. If that is the case, could you try temporarily renaming > >the templates directory? > > cg-init does produce it, too. I'm not sure what you mean with > temporarily renaming the templates directory? Preventing git-init-db to copy its stuff into your .git/ - I think the bug is likely somewhere there. Actually, this can be prevented by passing an argument to git-init-db: git-init-db --template=somethingnonexisting Another idea - try this patch: diff --git a/init-db.c b/init-db.c --- a/init-db.c +++ b/init-db.c @@ -154,6 +154,7 @@ static void copy_templates(const char *g } memcpy(path, git_dir, len); + path[len] = 0; copy_templates_1(path, len, template_path, template_len, dir); -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ VI has two modes: the one in which it beeps and the one in which it doesn't. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-19 23:40 ` Petr Baudis @ 2005-09-19 23:58 ` H. Peter Anvin 2005-09-20 0:07 ` [PATCH] Fix git-init-db creating crap directories Petr Baudis 0 siblings, 1 reply; 23+ messages in thread From: H. Peter Anvin @ 2005-09-19 23:58 UTC (permalink / raw) To: Petr Baudis, Junio C Hamano; +Cc: Dmitry Torokhov, git Petr Baudis wrote: > Dear diary, on Tue, Sep 20, 2005 at 01:16:14AM CEST, I got a letter > > Another idea - try this patch: > > diff --git a/init-db.c b/init-db.c > --- a/init-db.c > +++ b/init-db.c > @@ -154,6 +154,7 @@ static void copy_templates(const char *g > } > > memcpy(path, git_dir, len); > + path[len] = 0; > copy_templates_1(path, len, > template_path, template_len, > dir); > This seems to have worked. -hpa ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH] Fix git-init-db creating crap directories 2005-09-19 23:58 ` H. Peter Anvin @ 2005-09-20 0:07 ` Petr Baudis 2005-09-20 0:09 ` H. Peter Anvin 0 siblings, 1 reply; 23+ messages in thread From: Petr Baudis @ 2005-09-20 0:07 UTC (permalink / raw) To: Junio C Hamano; +Cc: H. Peter Anvin, Dmitry Torokhov, git Dear diary, on Tue, Sep 20, 2005 at 01:58:52AM CEST, I got a letter where "H. Peter Anvin" <hpa@zytor.com> told me that... > Petr Baudis wrote: > >Dear diary, on Tue, Sep 20, 2005 at 01:16:14AM CEST, I got a letter > > > >Another idea - try this patch: > > > >diff --git a/init-db.c b/init-db.c > >--- a/init-db.c > >+++ b/init-db.c > >@@ -154,6 +154,7 @@ static void copy_templates(const char *g > > } > > > > memcpy(path, git_dir, len); > >+ path[len] = 0; > > copy_templates_1(path, len, > > template_path, template_len, > > dir); > > > > This seems to have worked. Great. Resending a marginally better version with a cool log message and everything. -- The base target directory for the templates copying was initialized to git_dir, but git_dir[len] is not zero but / at the time we do the initialization. This is not what we want for our target directory string since we pass it to mkdir(), so make it zero-terminated manually. Signed-off-by: Petr Baudis <pasky@suse.cz> --- commit dbe1fe2f0d6de58bc0c9f98e6cf9573874612890 tree 30398d409fa27e95e3e592c803f6cd5a93652234 parent 79d2a11ec497fe940ca9a1fd8e0b9f295d39c290 author Petr Baudis <pasky@suse.cz> Tue, 20 Sep 2005 01:55:53 +0200 committer Petr Baudis <xpasky@machine.(none)> Tue, 20 Sep 2005 01:55:53 +0200 init-db.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/init-db.c b/init-db.c --- a/init-db.c +++ b/init-db.c @@ -153,7 +153,8 @@ static void copy_templates(const char *g return; } - memcpy(path, git_dir, len); + memcpy(path, git_dir, len-1); + path[len] = 0; copy_templates_1(path, len, template_path, template_len, dir); -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ VI has two modes: the one in which it beeps and the one in which it doesn't. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH] Fix git-init-db creating crap directories 2005-09-20 0:07 ` [PATCH] Fix git-init-db creating crap directories Petr Baudis @ 2005-09-20 0:09 ` H. Peter Anvin 2005-09-20 0:19 ` [PATCH] Fix git-init-db creating crap directories (zeroth try) Petr Baudis 0 siblings, 1 reply; 23+ messages in thread From: H. Peter Anvin @ 2005-09-20 0:09 UTC (permalink / raw) To: Petr Baudis; +Cc: Junio C Hamano, Dmitry Torokhov, git Petr Baudis wrote: > diff --git a/init-db.c b/init-db.c > --- a/init-db.c > +++ b/init-db.c > @@ -153,7 +153,8 @@ static void copy_templates(const char *g > return; > } > > - memcpy(path, git_dir, len); > + memcpy(path, git_dir, len-1); > + path[len] = 0; > copy_templates_1(path, len, Wrong! You're not initializing path[len-1]! -hpa ^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH] Fix git-init-db creating crap directories (zeroth try) 2005-09-20 0:09 ` H. Peter Anvin @ 2005-09-20 0:19 ` Petr Baudis 2005-09-20 0:42 ` H. Peter Anvin 0 siblings, 1 reply; 23+ messages in thread From: Petr Baudis @ 2005-09-20 0:19 UTC (permalink / raw) To: H. Peter Anvin; +Cc: Junio C Hamano, Dmitry Torokhov, git Dear diary, on Tue, Sep 20, 2005 at 02:09:41AM CEST, I got a letter where "H. Peter Anvin" <hpa@zytor.com> told me that... > Petr Baudis wrote: > >diff --git a/init-db.c b/init-db.c > >--- a/init-db.c > >+++ b/init-db.c > >@@ -153,7 +153,8 @@ static void copy_templates(const char *g > > return; > > } > > > >- memcpy(path, git_dir, len); > >+ memcpy(path, git_dir, len-1); > >+ path[len] = 0; > > copy_templates_1(path, len, > > Wrong! You're not initializing path[len-1]! Oops, sorry. That's what you get when you want to make things marginally better. ;-) We indeed want to pass copy_templates_1() the trailing slash as well. Let's just settle with the original patch then. -- The base target directory for the templates copying was initialized to git_dir, but git_dir[len] is not zero but / at the time we do the initialization. This is not what we want for our target directory string since we pass it to mkdir(), so make it zero-terminated manually. Signed-off-by: Petr Baudis <pasky@suse.cz> --- diff --git a/init-db.c b/init-db.c --- a/init-db.c +++ b/init-db.c @@ -154,6 +154,7 @@ static void copy_templates(const char *g } memcpy(path, git_dir, len); + path[len] = 0; copy_templates_1(path, len, template_path, template_len, dir); -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ VI has two modes: the one in which it beeps and the one in which it doesn't. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH] Fix git-init-db creating crap directories (zeroth try) 2005-09-20 0:19 ` [PATCH] Fix git-init-db creating crap directories (zeroth try) Petr Baudis @ 2005-09-20 0:42 ` H. Peter Anvin 2005-09-20 1:51 ` Petr Baudis 0 siblings, 1 reply; 23+ messages in thread From: H. Peter Anvin @ 2005-09-20 0:42 UTC (permalink / raw) To: Petr Baudis; +Cc: Junio C Hamano, Dmitry Torokhov, git Petr Baudis wrote: >>> >>>- memcpy(path, git_dir, len); >>>+ memcpy(path, git_dir, len-1); >>>+ path[len] = 0; >>> copy_templates_1(path, len, >> >>Wrong! You're not initializing path[len-1]! > > > Oops, sorry. That's what you get when you want to make things marginally > better. ;-) We indeed want to pass copy_templates_1() the trailing slash > as well. > > Let's just settle with the original patch then. > But if len is the index of the '/', then you're not. Think about it: the memcpy(path, git_dir, len) copies bytes 0..len-1. Thus you need to use path[len] = 0 to terminate. If you want to copy len-1 characters, then you need to use path[len-1] = 0. -hpa ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH] Fix git-init-db creating crap directories (zeroth try) 2005-09-20 0:42 ` H. Peter Anvin @ 2005-09-20 1:51 ` Petr Baudis 2005-09-20 2:04 ` Junio C Hamano 2005-09-20 3:27 ` H. Peter Anvin 0 siblings, 2 replies; 23+ messages in thread From: Petr Baudis @ 2005-09-20 1:51 UTC (permalink / raw) To: H. Peter Anvin; +Cc: Junio C Hamano, Dmitry Torokhov, git Dear diary, on Tue, Sep 20, 2005 at 02:42:47AM CEST, I got a letter where "H. Peter Anvin" <hpa@zytor.com> told me that... > Petr Baudis wrote: > >>> > >>>- memcpy(path, git_dir, len); > >>>+ memcpy(path, git_dir, len-1); > >>>+ path[len] = 0; > >>> copy_templates_1(path, len, > >> > >>Wrong! You're not initializing path[len-1]! > > > > > >Oops, sorry. That's what you get when you want to make things marginally > >better. ;-) We indeed want to pass copy_templates_1() the trailing slash > >as well. > > > >Let's just settle with the original patch then. > > > > But if len is the index of the '/', then you're not. But fortunately len is not the index of the '/', len-1 is. len is the length of the leading path fragment including the trailing slash. -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ VI has two modes: the one in which it beeps and the one in which it doesn't. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH] Fix git-init-db creating crap directories (zeroth try) 2005-09-20 1:51 ` Petr Baudis @ 2005-09-20 2:04 ` Junio C Hamano 2005-09-20 3:27 ` H. Peter Anvin 1 sibling, 0 replies; 23+ messages in thread From: Junio C Hamano @ 2005-09-20 2:04 UTC (permalink / raw) To: Petr Baudis; +Cc: H. Peter Anvin, Dmitry Torokhov, git Petr Baudis <pasky@suse.cz> writes: >> >Oops, sorry. That's what you get when you want to make things marginally >> >better. ;-) We indeed want to pass copy_templates_1() the trailing slash >> >as well. Original patch from you is the right one. Thanks. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH] Fix git-init-db creating crap directories (zeroth try) 2005-09-20 1:51 ` Petr Baudis 2005-09-20 2:04 ` Junio C Hamano @ 2005-09-20 3:27 ` H. Peter Anvin 1 sibling, 0 replies; 23+ messages in thread From: H. Peter Anvin @ 2005-09-20 3:27 UTC (permalink / raw) To: Petr Baudis; +Cc: Junio C Hamano, Dmitry Torokhov, git Petr Baudis wrote: >> >>But if len is the index of the '/', then you're not. > > But fortunately len is not the index of the '/', len-1 is. len is the length > of the leading path fragment including the trailing slash. > Then you'd need len-1 both inside the memcpy() and the assignment, of course. -hpa ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Garbage in .git directories??? 2005-09-19 19:10 ` H. Peter Anvin 2005-09-19 19:44 ` Petr Baudis @ 2005-09-19 21:58 ` Horst von Brand 1 sibling, 0 replies; 23+ messages in thread From: Horst von Brand @ 2005-09-19 21:58 UTC (permalink / raw) To: H. Peter Anvin; +Cc: Dmitry Torokhov, git H. Peter Anvin <hpa@zytor.com> wrote: [...] > FWIW, using cg-clone (using git-core 0.99.6 and cogito 0.14.1) I keep > finding a directory in .git which consists of a single DEL character > (\177). Using latest cogito (0.15 63ef5488c38b6660c72f042d4aa3015d72a3bd28) + latest git (0.99.7), cloning locally I don't see that. My older repositories (cloned over the net at various times or made locally) don't show it either. -- Dr. Horst H. von Brand User #22616 counter.li.org Departamento de Informatica Fono: +56 32 654431 Universidad Tecnica Federico Santa Maria +56 32 654239 Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513 ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2005-09-20 3:37 UTC | newest] Thread overview: 23+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-09-18 2:41 Garbage in .git directories??? Dmitry Torokhov 2005-09-18 17:10 ` Linus Torvalds 2005-09-18 17:54 ` Dmitry Torokhov 2005-09-19 4:33 ` Dmitry Torokhov 2005-09-19 5:21 ` Junio C Hamano 2005-09-19 14:51 ` Linus Torvalds 2005-09-19 15:00 ` Dmitry Torokhov 2005-09-20 0:09 ` Dmitry Torokhov 2005-09-20 0:45 ` Linus Torvalds 2005-09-20 3:37 ` Dmitry Torokhov 2005-09-19 19:10 ` H. Peter Anvin 2005-09-19 19:44 ` Petr Baudis 2005-09-19 23:16 ` H. Peter Anvin 2005-09-19 23:40 ` Petr Baudis 2005-09-19 23:58 ` H. Peter Anvin 2005-09-20 0:07 ` [PATCH] Fix git-init-db creating crap directories Petr Baudis 2005-09-20 0:09 ` H. Peter Anvin 2005-09-20 0:19 ` [PATCH] Fix git-init-db creating crap directories (zeroth try) Petr Baudis 2005-09-20 0:42 ` H. Peter Anvin 2005-09-20 1:51 ` Petr Baudis 2005-09-20 2:04 ` Junio C Hamano 2005-09-20 3:27 ` H. Peter Anvin 2005-09-19 21:58 ` Garbage in .git directories??? Horst von Brand
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 NNTP newsgroup(s).