Re: gitweb.cgi bug - XML Parsing Error: not well-formed

2014-02-18 Thread Dongsheng Song
What's your mean ?

I think I had post enough information:

When I access 
https://xxx.info/repo/git?p=DRE/Reference.git;a=commitdiff;h=fbd4e74c867214062ad39282a899f1d14a2e89ba

Then gitweb.cgi generate invalid XHTML:



diff --git a/RFC/2010/DRE-2010-004 RFC for
Update Synchronization Program & Solve the Balance Adjustment
Issue v2.doc b/RFC/2010/DRE-2010-004
RFC for Update Synchronization Program & Solve the Balance
Adjustment Issue v2.doc

new file mode 100644 (file)
index 000..3074448
Binary files /dev/null and b/RFC/2010/DRE-2010-004 RFC for Update
Synchronization Program & Solve the Balance Adjustment Issue v2.doc
differ



The last 'Program & Solve' should be 'Program & Solve'

Regards,
Dongsheng

On Tue, Feb 18, 2014 at 10:34 PM, Andrew Keller  wrote:
> On Feb 18, 2014, at 6:41 AM, Dongsheng Song  wrote:
>
>> Here is gitweb generated XHTML fragment:
>>
>> …
>
> You're going to have to be more specific.
>
>  - Andrew
>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: gitweb.cgi bug - XML Parsing Error: not well-formed

2014-02-18 Thread Andrew Keller
On Feb 18, 2014, at 6:41 AM, Dongsheng Song  wrote:

> Here is gitweb generated XHTML fragment:
> 
> …

You're going to have to be more specific.

 - Andrew

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


gitweb.cgi bug - XML Parsing Error: not well-formed

2014-02-18 Thread Dongsheng Song
Here is gitweb generated XHTML fragment:


diff --git a/RFC/2010/DRE-2010-004 RFC for
Update Synchronization Program & Solve the Balance Adjustment
Issue v2.doc b/RFC/2010/DRE-2010-004
RFC for Update Synchronization Program & Solve the Balance
Adjustment Issue v2.doc

new file mode 100644 (file)
index 000..3074448
Binary files /dev/null and b/RFC/2010/DRE-2010-004 RFC for Update
Synchronization Program & Solve the Balance Adjustment Issue v2.doc
differ



--
Dongsheng
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: gitweb.cgi bug

2014-02-10 Thread Dongsheng Song
On Mon, Feb 10, 2014 at 12:06 AM, Andrew Keller  wrote:
> On Feb 8, 2014, at 10:19 PM, Dongsheng Song wrote:
>> On Sun, Feb 9, 2014 at 12:29 AM, Andrew Keller  wrote:
>>> On Feb 8, 2014, at 8:37 AM, Dongsheng Song wrote:
>>>
 I have an git repo PROJECT.git, the full path is /srv/repo/git/PROJECT.git,
 when I set git_base_url_list in gitweb.conf:

 @git_base_url_list = qw(https://192.168.30.239/repo/git
   git@192.168.30.239:repo/git);

 I got the result:

 https://192.168.30.239/repo/git/PROJECT.git
 git@192.168.30.239:/PROJECT.git

 This is wrong, it should be (without the leading '/')
 git@192.168.30.239:PROJECT.git
>>>
>>> There is no way to generate a fetch url of 'git@192.168.30.239:PROJECT.git' 
>>> in gitweb.
>>>
>>> If one of the base urls was 'git@192.168.30.239:.', then you could get a 
>>> fetch URL of 'git@192.168.30.239:./PROJECT.git'
>>>
>>> In general, though, I like to stay away from relative paths.  Weird things 
>>> can happen, like HTTP works but SSH doesn't, because the home directory for 
>>> SSH changed because you used a different user.
>>
>> What's about the following translate rules ?
>>
>> git@192.168.30.239:  -> git@192.168.30.239:PROJECT.git
>> git@192.168.30.239:/ -> git@192.168.30.239:/PROJECT.git
>> git@192.168.30.239:/repo  -> git@192.168.30.239:/repo/PROJECT.git
>> git@192.168.30.239:/repo/ -> git@192.168.30.239:/repo/PROJECT.git
>
> I think that those translation rules are completely reasonable.
>
> However, that's not what gitweb was originally designed to do.  What you're 
> describing is a desire for a new feature, not the existence of a bug.  
> Basically, gitweb does not support relative paths when the base url does not 
> contain part of the path already.
>
>> I don't know Perl, but I think change the following translate code is
>> not a hard work:
>>
>># use per project git URL list in $projectroot/$project/cloneurl
>># or make project git URL from git base URL and project name
>>my $url_tag = "URL";
>>my @url_list = git_get_project_url_list($project);
>>@url_list = map { "$_/$project" } @git_base_url_list unless @url_list;
>>foreach my $git_url (@url_list) {
>>next unless $git_url;
>>print format_repo_url($url_tag, $git_url);
>>$url_tag = "";
>>}
>
> You're right - that is where the change should be applied, and the change you 
> suggest is pretty simple.
>
> However, I'm not confident that the syntax for a relative path is the same 
> for all schemes.  (Others on the list, feel free to object.)  Since gitweb 
> blindly concatenates the base URL and the relative project path, I'm worried 
> that adding the proper functionality for one scheme will yield incorrect 
> behavior for another scheme.
>
> Can you move your repository to a subfolder?  Can use use absolute paths 
> instead of relative paths?  Either of those approaches work around this 
> issue.  I don't mean to coldly tell you that the solution is "don't do that", 
> but on the surface, this seems like a nasty problem.
>
>  - Andrew
>

Thanks, I hope this 'new feature' will translate into reality, and not
take too long.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: gitweb.cgi bug

2014-02-09 Thread Andrew Keller
On Feb 8, 2014, at 10:19 PM, Dongsheng Song wrote:
> On Sun, Feb 9, 2014 at 12:29 AM, Andrew Keller  wrote:
>> On Feb 8, 2014, at 8:37 AM, Dongsheng Song wrote:
>> 
>>> I have an git repo PROJECT.git, the full path is /srv/repo/git/PROJECT.git,
>>> when I set git_base_url_list in gitweb.conf:
>>> 
>>> @git_base_url_list = qw(https://192.168.30.239/repo/git
>>>   git@192.168.30.239:repo/git);
>>> 
>>> I got the result:
>>> 
>>> https://192.168.30.239/repo/git/PROJECT.git
>>> git@192.168.30.239:/PROJECT.git
>>> 
>>> This is wrong, it should be (without the leading '/')
>>> git@192.168.30.239:PROJECT.git
>> 
>> There is no way to generate a fetch url of 'git@192.168.30.239:PROJECT.git' 
>> in gitweb.
>> 
>> If one of the base urls was 'git@192.168.30.239:.', then you could get a 
>> fetch URL of 'git@192.168.30.239:./PROJECT.git'
>> 
>> In general, though, I like to stay away from relative paths.  Weird things 
>> can happen, like HTTP works but SSH doesn't, because the home directory for 
>> SSH changed because you used a different user.
> 
> What's about the following translate rules ?
> 
> git@192.168.30.239:  -> git@192.168.30.239:PROJECT.git
> git@192.168.30.239:/ -> git@192.168.30.239:/PROJECT.git
> git@192.168.30.239:/repo  -> git@192.168.30.239:/repo/PROJECT.git
> git@192.168.30.239:/repo/ -> git@192.168.30.239:/repo/PROJECT.git

I think that those translation rules are completely reasonable.

However, that's not what gitweb was originally designed to do.  What you're 
describing is a desire for a new feature, not the existence of a bug.  
Basically, gitweb does not support relative paths when the base url does not 
contain part of the path already.

> I don't know Perl, but I think change the following translate code is
> not a hard work:
> 
># use per project git URL list in $projectroot/$project/cloneurl
># or make project git URL from git base URL and project name
>my $url_tag = "URL";
>my @url_list = git_get_project_url_list($project);
>@url_list = map { "$_/$project" } @git_base_url_list unless @url_list;
>foreach my $git_url (@url_list) {
>next unless $git_url;
>print format_repo_url($url_tag, $git_url);
>$url_tag = "";
>}

You're right - that is where the change should be applied, and the change you 
suggest is pretty simple.

However, I'm not confident that the syntax for a relative path is the same for 
all schemes.  (Others on the list, feel free to object.)  Since gitweb blindly 
concatenates the base URL and the relative project path, I'm worried that 
adding the proper functionality for one scheme will yield incorrect behavior 
for another scheme.

Can you move your repository to a subfolder?  Can use use absolute paths 
instead of relative paths?  Either of those approaches work around this issue.  
I don't mean to coldly tell you that the solution is "don't do that", but on 
the surface, this seems like a nasty problem.

 - Andrew

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: gitweb.cgi bug

2014-02-08 Thread Dongsheng Song
On Sun, Feb 9, 2014 at 12:29 AM, Andrew Keller  wrote:
> On Feb 8, 2014, at 8:37 AM, Dongsheng Song wrote:
>
>> I have an git repo PROJECT.git, the full path is /srv/repo/git/PROJECT.git,
>> when I set git_base_url_list in gitweb.conf:
>>
>> @git_base_url_list = qw(https://192.168.30.239/repo/git
>>git@192.168.30.239:repo/git);
>>
>> I got the result:
>>
>> https://192.168.30.239/repo/git/PROJECT.git
>> git@192.168.30.239:/PROJECT.git
>>
>> This is wrong, it should be (without the leading '/')
>> git@192.168.30.239:PROJECT.git
>
> There is no way to generate a fetch url of 'git@192.168.30.239:PROJECT.git' 
> in gitweb.
>
> If one of the base urls was 'git@192.168.30.239:.', then you could get a 
> fetch URL of 'git@192.168.30.239:./PROJECT.git'
>
> In general, though, I like to stay away from relative paths.  Weird things 
> can happen, like HTTP works but SSH doesn't, because the home directory for 
> SSH changed because you used a different user.
>
>  - Andrew
>

What's about the following translate rules ?

git@192.168.30.239:  -> git@192.168.30.239:PROJECT.git
git@192.168.30.239:/ -> git@192.168.30.239:/PROJECT.git
git@192.168.30.239:/repo  -> git@192.168.30.239:/repo/PROJECT.git
git@192.168.30.239:/repo/ -> git@192.168.30.239:/repo/PROJECT.git

I don't know Perl, but I think change the following translate code is
not a hard work:

# use per project git URL list in $projectroot/$project/cloneurl
# or make project git URL from git base URL and project name
my $url_tag = "URL";
my @url_list = git_get_project_url_list($project);
@url_list = map { "$_/$project" } @git_base_url_list unless @url_list;
foreach my $git_url (@url_list) {
next unless $git_url;
print format_repo_url($url_tag, $git_url);
$url_tag = "";
}

Regards,
Dongsheng
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: gitweb.cgi bug

2014-02-08 Thread Andrew Keller
On Feb 8, 2014, at 8:37 AM, Dongsheng Song wrote:

> I have an git repo PROJECT.git, the full path is /srv/repo/git/PROJECT.git,
> when I set git_base_url_list in gitweb.conf:
> 
> @git_base_url_list = qw(https://192.168.30.239/repo/git
>git@192.168.30.239:repo/git);
> 
> I got the result:
> 
> https://192.168.30.239/repo/git/PROJECT.git
> git@192.168.30.239:/PROJECT.git
> 
> This is wrong, it should be (without the leading '/')
> git@192.168.30.239:PROJECT.git

There is no way to generate a fetch url of 'git@192.168.30.239:PROJECT.git' in 
gitweb.

If one of the base urls was 'git@192.168.30.239:.', then you could get a fetch 
URL of 'git@192.168.30.239:./PROJECT.git'

In general, though, I like to stay away from relative paths.  Weird things can 
happen, like HTTP works but SSH doesn't, because the home directory for SSH 
changed because you used a different user.

 - Andrew

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


gitweb.cgi bug

2014-02-08 Thread Dongsheng Song
On Thu, Feb 6, 2014 at 7:01 AM, Junio C Hamano  wrote:
>
> The latest maintenance release Git v1.8.5.4 is now available at
> the usual places.
>

I have an git repo PROJECT.git, the full path is /srv/repo/git/PROJECT.git,
when I set git_base_url_list in gitweb.conf:

@git_base_url_list = qw(https://192.168.30.239/repo/git
git@192.168.30.239:repo/git);

I got the result:

https://192.168.30.239/repo/git/PROJECT.git
git@192.168.30.239:/PROJECT.git

This is wrong, it should be (without the leading '/')
git@192.168.30.239:PROJECT.git

Regards,
Dongsheng
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html