Re: gitweb.cgi bug - XML Parsing Error: not well-formed
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
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
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
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
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
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
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
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