Re: [PATCHv5 GSoC] gitweb: Move static files into seperate subdirectory
- From
Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
- Date
- May 25, 2010, 04:51 UTC
- Message-ID
- <AANLkTikOMuugbWqnbkUYwPsxq6z9Eo3E3MrX1jIE5juS@mail.gmail.com>
- In-Reply-To
- <201005250624.31097.chriscool@tuxfamily.org>
On Tue, May 25, 2010 at 9:54 AM, Christian Couder <chriscool@tuxfamily.org> wrote:
Show 157 quoted lines
> On Tuesday 25 May 2010 06:30:49 Pavan Kumar Sunkara wrote:
>> 2010/5/25 Christian Couder <chriscool@tuxfamily.org>:
>> > On Tuesday 25 May 2010 02:37:50 Jakub Narebski wrote:
>> >> On Mon, 24 May 2010, Pavan Kumar Sunkara wrote:
>> >> > On Tue, May 25, 2010 at 1:35 AM, Christian Couder
>> >
>> > <chriscool@tuxfamily.org> wrote:
>> >> >> On Monday 24 May 2010 17:22:44 Pavan Kumar Sunkara wrote:
>> >> >>> gitweb/{ => static}/git-favicon.png | Bin 115 -> 115 bytes
>> >> >>> gitweb/{ => static}/git-logo.png | Bin 207 -> 207 bytes
>> >> >>> gitweb/{ => static}/gitweb.css | 0
>> >> >>> gitweb/{ => static}/gitweb.js | 0
>> >> >>
>> >> >> The patch is supposed to move git-favicon.png and git-logo.png into
>> >> >> gitweb/static but it doesn't.
>> >> >>
>> >> >>> diff --git a/gitweb/gitweb.css b/gitweb/static/gitweb.css
>> >> >>> similarity index 100%
>> >> >>> rename from gitweb/gitweb.css
>> >> >>> rename to gitweb/static/gitweb.css
>> >> >>> diff --git a/gitweb/gitweb.js b/gitweb/static/gitweb.js
>> >> >>> similarity index 100%
>> >> >>> rename from gitweb/gitweb.js
>> >> >>> rename to gitweb/static/gitweb.js
>> >> >>
>> >> >> Only gitweb.css and gitweb.js are moved into gitweb/static [...]
>> >> >
>> >> > I don't understand why the binary files aren't moving into static/
>> >> > dir. I haven't faced this type of problem before. Give me some time to
>> >> > figure it out.
>> >>
>> >> You have found a bug in git. When you do a pure rename of a binary
>> >> file, it doesn't show as a pure rename patch:
>> >>
>> >> $ git init
>> >> $ echo foo > foo
>> >> $ echo -e "bar\0" > bar
>> >> $ git add .
>> >> $ git commit -m 'Initial commit'
>> >> [master (root-commit) 4bd35b8] Initial commit
>> >> 2 files changed, 1 insertions(+), 0 deletions(-)
>> >> create mode 100644 bar
>> >> create mode 100644 foo
>> >> $ mkdir sub
>> >> $ git mv bar foo sub/
>> >> $ git commit -m 'Moved to sub/'
>> >> [master 00356a5] Moved to sub/
>> >> 2 files changed, 0 insertions(+), 0 deletions(-)
>> >> rename bar => sub/bar (100%)
>> >> rename foo => sub/foo (100%)
>> >> $ git show -C -C --raw --binary --stat
>> >> commit 00356a5ec458fa64ab3eca2c23ebc53e9f2d54ba
>> >> Author: Jakub Narebski <jnareb@gmail.com>
>> >> Date: Tue May 25 02:23:26 2010 +0200
>> >>
>> >> Moved to sub/
>> >> ---
>> >>
>> >> :100644 100644 080090e... 080090e... R100 bar sub/bar
>> >> :100644 100644 257cc56... 257cc56... R100 foo sub/foo
>> >>
>> >> bar => sub/bar | Bin 5 -> 5 bytes
>> >> foo => sub/foo | 0
>> >> 2 files changed, 0 insertions(+), 0 deletions(-)
>> >>
>> >> diff --git a/foo b/sub/foo
>> >> similarity index 100%
>> >> rename from foo
>> >> rename to sub/foo
>> >>
>> >> As you can see there is not
>> >>
>> >> diff --git a/bar b/sub/bar
>> >> similarity index 100%
>> >> rename from bar
>> >> rename to sub/bar
>> >>
>> >> and that adding '--binary' option doesn't help
>>
>> Jakub is right. It isn't working for me too.
>>
>> > I tested current master, next and pu with this script:
>> >
>> > $ cat test_move_binary.sh
>> > #!/bin/sh
>> >
>> > rm -rf test_binary_dir
>> > mkdir test_binary_dir
>> > cd test_binary_dir
>> >
>> > git init
>> > echo foo > foo
>> > echo -e "bar\0" > bar
>> > git add .
>> > git commit -m "Initial commit"
>> > mkdir sub
>> > git mv bar foo sub/
>> > git commit -m 'Moved to sub/'
>> > git show -C -C --raw --binary --stat
>> >
>> > And I get:
>> >
>> > $ ./test_move_binary.sh
>> > Initialized empty Git repository in
>> > /home/christian/work/git/test_binary_dir/.git/
>> > [master (root-commit) e4c2beb] Initial commit
>> > 2 files changed, 2 insertions(+), 0 deletions(-)
>> > create mode 100644 bar
>> > create mode 100644 foo
>> > [master 4fd23ac] Moved to sub/
>> > 2 files changed, 0 insertions(+), 0 deletions(-)
>> > rename bar => sub/bar (100%)
>> > rename foo => sub/foo (100%)
>> > commit 4fd23ac43186d31879d7e9dc98b74ce9a7382558
>> > Author: Christian Couder <chriscool@tuxfamily.org>
>> > Date: Tue May 25 05:10:00 2010 +0200
>> >
>> > Moved to sub/
>> > ---
>> >
>> > :100644 100644 aae0a5b... aae0a5b... R100 bar sub/bar
>> > :100644 100644 257cc56... 257cc56... R100 foo sub/foo
>> >
>> > bar => sub/bar | 0
>> > foo => sub/foo | 0
>> > 2 files changed, 0 insertions(+), 0 deletions(-)
>> >
>> > diff --git a/bar b/sub/bar
>> > similarity index 100%
>> > rename from bar
>> > rename to sub/bar
>> > diff --git a/foo b/sub/foo
>> > similarity index 100%
>> > rename from foo
>> > rename to sub/foo
>> >
>> > so it works fine for me. Which version are you using?
>>
>> It's not a problem with the version, it's a problem with your system.
>> echo -e didn't create a binary as expected. You can tell it by seeing
>> this line:
>>
>> bar => sub/bar | 0
>>
>> rather than this
>>
>> bar => sub/bar | Bin 5 -> 5 Bytes
>>
>> Change your script to copy a binary file into bar instead of using
>> 'echo -e 'bar\()' and you will see the difference.
>
> Yeah I changed "#!/bin/sh" to "#!/bin/bash" and it does not work now.
> It's a problem because /bin/sh is dash on kubuntu.
>
> Thanks,
> Christian.
>Manually adding the diff lines for both the binary files and applying that patch worked for me. So, shall I send it to git list for now ?
Thanks, Pavan.