| 2006-09-17 |
| → anders_ joined | 00:19 |
| → GeertB joined | 00:50 |
| → anders_ joined | 00:51 |
| → ag joined | 01:29 |
| → anders_ joined | 01:29 |
| → ag joined | 01:40 |
| → anders__ joined | 01:55 |
| → DrNick joined | 02:02 |
| → benlau joined | 02:19 |
| → ag joined | 02:50 |
| → DrNick joined | 02:56 |
| → anders_ joined | 03:01 |
| → anders_ joined | 03:36 |
| → anders_ joined | 04:06 |
| → philv joined | 05:08 |
| → devogon joined | 05:18 |
| → GeertB joined | 05:19 |
| → Gitzilla joined | 05:20 |
| → lyakh joined | 08:27 |
| → CIA-13 joined | 08:54 |
| → robfitz joined | 09:12 |
| → chris2 joined | 09:19 |
| → _JusSx_ joined | 09:23 |
| → somegeek joined | 09:49 |
| → ferdy joined | 10:03 |
| → GyrosGeier joined | 10:09 |
| → coywolf joined | 10:37 |
|
ShadeHawk
| Gaaah, it seems like vger is filtering out my patches (they didn't appear on git mailing list, yet) | 11:09 |
|
| And no reply that "this message is considered spam", or "this host is blacklisted", or something like that | 11:09 |
|
| and the email went to Junio, and I got answer... but only my answer to Junio answer to my patch is on mailing list | 11:10 |
|
fonseca
| You've been very active. It seems every second thread on the mailing list is about gitweb. | 11:37 |
|
| .. and my eyes are starting to hurt from looking at all that Perl code. ;) | 11:39 |
|
| BTW, have you considered adding diffstat content to gitweb? | 11:39 |
|
ShadeHawk
| no, for performance reasons. But it would be quite easy to add '--patch-with-stat' to @diff_opts... although we don't have difstat syntax hightlighting as of yet | 11:46 |
|
matled
| mhhhh | 11:46 |
|
| pg=-1... | 11:46 |
|
| http://nopaste.php-q.net/240276 | 11:47 |
|
| > 50 times or so | 11:47 |
|
| if ($page =~ m/[^0-9]$/) -> if ($page =~ m/[^0-9]/) probably | 11:48 |
|
ShadeHawk
| matled: will you send a fix? | 11:49 |
|
matled
| yes | 11:49 |
|
ShadeHawk
| TIA | 11:50 |
|
| matled: hand editing URL? gitweb is somewhat defensively programmed, but... | 11:51 |
|
matled
| sure | 11:52 |
|
| I read the source and thought 'mh, this check looks weird, why the $ at the end' | 11:53 |
|
| looking at all those patches for gitweb perhaps a rewrite would be the best :) | 11:53 |
|
| the last PATH_INFO patch is somewhat broken :/ | 11:54 |
|
ShadeHawk
| This ()if ($page =~ m/[^0-9]$/ ) is leftover from original gitweb (as separate project) | 11:57 |
|
| it is incrementally being rewritten | 11:57 |
|
| matled: what you mean, is broken? | 11:58 |
|
matled
| well, the simple things are the warnings | 11:59 |
|
| how do we handle strings? | 11:59 |
|
| is it ok to use them as booleans? like if ($foo) where $foo is a string? | 11:59 |
|
ShadeHawk
| string is false if it is empty "", or "0", or undef | 12:00 |
|
matled
| so what about "0"? | 12:00 |
|
ShadeHawk
| well, if it is undef it is not a string | 12:00 |
|
matled
| this could be a valid project/filename | 12:00 |
|
ShadeHawk
| string "0" is equivalent to 0 which is false | 12:01 |
|
| matled: corner case | 12:01 |
|
matled
| well, 0 is a number and "0" is a string which might be a path :) | 12:01 |
|
| so we dont care about this? | 12:01 |
|
ShadeHawk
| and if ($project) is to catch situation when stripping "/" can leave us with empty string | 12:02 |
|
| we could use if (defined $foo && length $foo) | 12:02 |
|
| or something like that | 12:02 |
|
matled
| or a custom function for this check (empty($s) is !defined $s || !length $s) | 12:04 |
|
ShadeHawk
| isempty($s) | 12:07 |
| → moh joined | 12:08 |
| → philv_ joined | 12:08 |
|
matled
| is there any difference between $a = undef and undef $a? | 12:09 |
|
ShadeHawk
| I don't think so. Probably just a question of style. | 12:10 |
|
| matled: Fixed warnings in latest patch | 12:10 |
|
| (in simplest way possible) | 12:10 |
|
matled
| i had a patch here too | 12:11 |
|
| can you put it somewhere? | 12:11 |
|
ShadeHawk
| send it too, we could compare them ;-) | 12:11 |
|
| "PATCH] gitweb: Fix warnings when PATH_INFO is empty" on git mailing list | 12:11 |
|
matled
| not yet here | 12:12 |
|
ShadeHawk
| it looks large bacause of reindent | 12:14 |
|
| (and I forgot to include opening [ in the subject... grrr...) | 12:14 |
|
matled
| reindent? | 12:14 |
|
| http://nopaste.php-q.net/240283 | 12:15 |
|
ShadeHawk
| http://nopaste.php-q.net/240285 | 12:16 |
|
matled
| the regexp thing did not complain for me | 12:16 |
|
ShadeHawk
| it complained for me | 12:18 |
|
| Use of uninitialized value in substitution (s///) at gitweb.perl line 277. | 12:18 |
|
| PATH_INFO empty (not even /) | 12:18 |
|
matled
| ah, right | 12:18 |
|
ShadeHawk
| this path_info work should probably be separated into subroutine, I think | 12:19 |
|
matled
| I also think this parameter checking should be in a subroutinge | 12:19 |
|
| is there any way to use temporary variables there? | 12:20 |
|
ShadeHawk
| in subroutines? | 12:20 |
|
| my $var | 12:20 |
|
matled
| no, in the parameter checking at the start | 12:20 |
|
ShadeHawk
| what for? | 12:20 |
|
| { local $var; .... } | 12:21 |
|
matled
| ah, for example $path_info does not need to be 'our' | 12:23 |
|
| no one cares but the short part getting the parameters from it | 12:23 |
|
ShadeHawk
| in subroutine it can be my $path_info | 12:26 |
|
matled
| h | 12:31 |
|
| mh | 12:31 |
|
| you missed the if ($path_info =~ m,^$project/([^/]+)/(.+)$,) part, didn't you? | 12:31 |
| → GeertB joined | 12:31 |
|
matled
| I'll try to make a nice patch with all, I've to patch this part anyway for the export_ok/strict_export thing | 12:32 |
| → anders_ joined | 12:33 |
| → somegeek joined | 12:45 |
|
matled
| fatal: ambiguous argument 'git-favicon.png': unknown revision or path not in the working tree. | 12:48 |
|
| fun with path_info.. | 12:48 |
|
| ShadeHawk: more warnings: set p=$project&a=shortlog&h=$branch | 13:01 |
|
| Use of uninitialized value in concatenation (.) or string line 287. | 13:01 |
|
ShadeHawk
| matled: I think not. The whole part with $path_info is in "if ($path_info) { .... }". There are no references to $path_info outside this block | 13:01 |
|
matled
| and 299 | 13:01 |
|
| that's what I mean about rewrite, everything I try reveals other problems | 13:02 |
|
| mh, that's the old problem | 13:03 |
|
ShadeHawk
| matled: No cigar. With my path 'p=git.git;a=shortlog;h=next' works O.K. | 13:04 |
|
matled
| ah, theres the other problem I noted with the path_info patch: validate_input is missing for the branch/file part | 13:09 |
|
_JusSx_
| i changed a file but i haven't committed it yet. how can i discard changes? how can i back to version stored to repository? | 13:13 |
|
matled
| git checkout filename | 13:13 |
|
_JusSx_
| matled: thanx | 13:13 |
| → anders_ joined | 13:17 |
|
ShadeHawk
| or, just in case in case, git checkout -- filename | 13:18 |
|
matled
| ShadeHawk: http://nopaste.php-q.net/240293 any comments? this is on top of master | 13:18 |
|
| wget -qO - http://nopaste.php-q.net/down/240293 | git am :) | 13:19 |
|
ShadeHawk
| Nice. | 13:21 |
|
matled
| return helps to keep the indention level low :) | 13:22 |
|
ShadeHawk
| Although the concept itself is flawed, as it assumes that branches are flat. So no "gitweb/xmms2" and "jc/diff" like branches | 13:22 |
|
matled
| mh, that's still part of the original patch | 13:23 |
|
| the whole path_info thing is a bit flawed because it isn't non-ambigous at multiple parts | 13:23 |
|
ShadeHawk
| well, we could check against the list of branches, but this would seriously affect performance I guess | 13:24 |
|
| Extreme case: we could bave branch "ab" and file "sub/zz", and branch "ab/sub" and file "zz" with the new packed refs... ;-))) | 13:25 |
|
| with old (current) loose refs we could check if branch with the name being some prefix exists (like we check which part of pathname is repository/project part) | 13:27 |
|
| well, with the new, we can use git-show-refs --verify, but it cost some performance | 13:27 |
|
| and as of now we can put sha1 in the branch part (as hash), and it would work... | 13:28 |
|
matled
| we could write the 'backend' (retrieving the data and stuff) in C and only use perl to make the html :) | 13:29 |
|
ShadeHawk
| matled: But please send your patch if you didn't yet | 13:29 |
|
| matled: That is what Git.pm and Git.xs was for... but it appears that git lack suppoer for "repository" abstracting out | 13:30 |
|
matled
| "mail accepted for delivery" | 13:30 |
|
ShadeHawk
| Ah. | 13:30 |
|
matled
| do you send directly from your host to the mailing list? it would be interesting to see what the server says to your mails when they get lost | 13:31 |
|
| for example this one got: C="250 2.7.1 Looks like Linux source DIFF email.. BF:<H 0>; S964970AbWIQN3w" | 13:32 |
|
ShadeHawk
| Your patch is on git mailing list... but you post it as reply to "Re: [PATCH] gitweb: export options" instead of to "[PATCH] gitweb: more support for PATH_INFO based URLs" | 13:32 |
|
| No, I send my emails via GMail. | 13:32 |
|
| well, patches at least. Articles and replies I usually send via Gmane NNTP (Usenet) interface | 13:33 |
|
| I give it a few hours, then send complaint to [email@hidden.address] | 13:34 |
|
matled
| we could also use the branch:path syntax already supported by git | 13:45 |
|
ShadeHawk
| Good idea | 13:46 |
|
matled
| and cat-file -t can tell us what it is | 13:46 |
|
ShadeHawk
| I'd rather avoid calling git commands (and forking) | 13:46 |
|
matled
| well, this is once to decide if we do a dir listing or a blob | 13:47 |
|
ShadeHawk
| Ah, true | 13:47 |
|
| by the way, this way we could have "project/filename" syntax, with hash defaulting to "HEAD" | 13:48 |
|
matled
| mh | 13:48 |
|
| and what happens if a branch with name filename comes later? | 13:49 |
|
ShadeHawk
| git-cat-file -t == git_get_type in gitweb | 13:49 |
|
matled
| you'd find different things at the same url this way just because of a new branch | 13:49 |
|
| which would be a bit strang | 13:49 |
|
ShadeHawk
| Ooops, there would be problem with directory or filename containing ':' | 13:50 |
|
| and it would preclude "project/branch" syntax | 13:50 |
|
matled
| perhaps project:filename or project/:filename | 13:50 |
|
| so if no branch is specified use HEAD | 13:50 |
|
ShadeHawk
| "project/:filename", i.e. no branch defaults to HEAD, as usual. | 13:51 |
|
matled
| split path_info at the first :, the first part is repository/branch, the second part is the filename | 13:51 |
|
ShadeHawk
| No, first find project, then remove project from path_info, then split at first ':' and first part is branch, second is filename | 13:52 |
|
| $hash is undef if the branch part is empty | 13:52 |
|
| directories leading to project name, and project name itself can contain ':' | 13:53 |
|
| only [valid] branches (well, references -- it could be tag name not branch name) couldn't have ':' in them | 13:54 |
|
| s/references/refs/ | 13:54 |
|
matled
| yes, but they are quite inconvenient with the git command line tools too :) | 13:55 |
|
| http://nopaste.php-q.net/240304 | 13:55 |
| → ag joined | 13:56 |
|
ShadeHawk
| I would say "project/branch:/" for directory listing, and check that "project/branch:dir/" works | 13:57 |
|
| And rather use only "project/:dir" and "project/:file" as by-the-way shortcuts | 13:57 |
|
| $path_info = s/^$project\/?//; my ($branch, $pathname) = split($path_info, ':', 2); | 14:01 |
|
| and use "project/: for directory listing of HEAD branch as by-the-way shortcut | 14:02 |
|
| Description: matled was too lazy to write a description. ;-))) | 14:04 |
|
matled
| http://nopaste.php-q.net/scripts/ makes it usable :) | 14:08 |
|
| but most of the time I'm anyway to lazy to find a good description | 14:10 |
| → somegeek joined | 14:11 |
| → GeertB joined | 14:17 |
| → ag joined | 14:27 |
| → Gitzilla joined | 14:28 |
|
ShadeHawk
| matled: Do you subscribe to git mailing list? | 14:29 |
|
matled
| yes | 14:29 |
|
ShadeHawk
| No sign of "[PATCH 2/2 (take 3)] gitweb: Make git_get_refs_list do work of git_get_references"? | 14:32 |
|
| "take 3" is what is important | 14:32 |
|
matled
| nope | 14:32 |
|
ShadeHawk
| almost 5 hours since I've sent it to git mailing list, and no trace... | 14:32 |
|
matled
| from the message BF gave me for my mail I think mails with patches should get through easily | 14:33 |
|
ShadeHawk
| http://marc.theaimsgroup.com/?l=git&m=115850281730922&w=2 <-- reply to your http://nopaste.php-q.net/240304 | 14:34 |
|
| ...so I've sent question to postmaster: what happened?... | 14:34 |
| → ag joined | 14:49 |
|
pasky
| So, packing glibc repo from 2.4G took 2.75 hours and the repo size went down to 107M | 15:03 |
|
| nice | 15:03 |
|
| (--window=50 --depth=25) | 15:03 |
|
chris2
| how much with default packing? | 15:07 |
|
GyrosGeier
| ShadeHawk, somebody set them up the bomb? | 15:08 |
|
pasky
| how do I know? :) | 15:08 |
|
| I will publish the repo | 15:08 |
|
| so you can try | 15:08 |
|
chris2
| oh no, i got no resources for that ;) | 15:09 |
|
| but packs are really nice :) | 15:09 |
|
pasky
| this packing was done at dualcore P4 on 3GHz with 1G RAM | 15:12 |
|
| the cvsimport of the glibc repository though took about two days (over the network) | 15:12 |
| → shy joined | 15:16 |
| ← shy left | 15:17 |
| → shy joined | 15:17 |
|
pasky
| [ ] LATEST-IS-2.6.18-rc5 28-Aug-2006 04:10 0 | 15:17 |
|
| [ ] LATEST-IS-2.6.18-rc6 04-Sep-2006 02:25 0 | 15:17 |
|
| [ ] LATEST-IS-2.6.18-rc7 13-Sep-2006 02:15 0 | 15:17 |
|
| wow, multiple choices! ;) | 15:17 |
|
shy
| hello guys | 15:17 |
|
pasky
| hi | 15:17 |
|
shy
| i don't know why gitweb didn't display my project | 15:17 |
|
| but projects are in the project_list directory | 15:18 |
|
pasky
| what does it say? | 15:20 |
|
shy
| it just say Projects | 15:21 |
|
| with Project Description Owner last change | 15:21 |
|
| the project_root only contains myproject.git ? | 15:22 |
|
ShadeHawk
| shy: Up to some patch/commit ago if you wanted hierarchical directory structure, you had to use $projects_list _file_ | 15:23 |
|
| in the format | 15:23 |
|
| path/to/project.git O.+Wner | 15:24 |
|
shy
| what's O.+Wner ? | 15:26 |
| philv_ → philv | 15:29 |
|
shy
| that's don't work :( | 15:33 |
| → somegeek1 joined | 15:34 |
|
pasky
| are you sure you don't have some older output of gitweb cached? | 15:35 |
|
ShadeHawk
| first, your project has to be under $projectroot (as subdirectory) | 15:35 |
|
shy
| $projectroot = "/var/cache/git/"; | 15:35 |
|
ShadeHawk
| if it is directly under $projectroot, or if you use latest gitweb, it is enough to have $projects_list unset (make gitweb/gitweb.cgi does that) | 15:36 |
|
| or set to $projectroot | 15:36 |
|
shy
| root@test:/var/cache/git# ls -lh | 15:36 |
|
| total 0 | 15:36 |
|
| lrwxrwxrwx 1 root root 31 2006-09-17 15:37 test.git -> /home/shy/git/test/.git | 15:36 |
|
pasky
| /var/cache is a strange location for $projectroot | 15:37 |
|
shy
| i know, it's default location of ubuntu package | 15:37 |
|
pasky
| then ubuntu maintainer is strange ;) | 15:38 |
|
| shy: I think you have a permission problem | 15:38 |
|
| the webserver can't access /home/shy/git/test/.git | 15:39 |
|
shy
| permission are right | 15:40 |
|
| s | 15:40 |
|
| read for everybody | 15:41 |
|
| and exe | 15:41 |
|
| c | 15:41 |
|
pasky
| in all the directories all the way down to / ? | 15:41 |
|
shy
| yes | 15:43 |
|
| i use gitweb from ubuntu package | 15:44 |
|
| gitweb.cgi is not in http://www.kernel.org/pub/software/scm/gitweb/ ? | 15:45 |
|
pasky
| nope, it's now part of git | 15:45 |
|
shy
| i will test with the last package | 15:47 |
| → _JusSx_ joined | 15:52 |
|
shy
| damn dn't work | 15:54 |
|
ShadeHawk
| erm, you might have the problem I had, namely some directory not having X permission for web server in /home/shy/git/test/.git (i.e. symlink target), and/or .git not having r-x for web server | 15:54 |
|
pasky
| ShadeHawk: he said he has it all right | 15:54 |
|
| so I better hope he does :) | 15:54 |
|
ShadeHawk
| I jad jnareb in /home/jnareb without x for web server | 15:54 |
|
| all right both, or all right in /var/cache/git ? | 15:55 |
|
pasky
| I've asked about the one in ~ | 15:55 |
|
ShadeHawk
| I had all right in /home/local/scm, (my $projectroot) and it was _not_ enough | 15:55 |
|
pasky
| shy: try appending ?p=test.git to the url | 15:55 |
|
shy
| oh great ! | 15:56 |
|
| that's work | 15:56 |
|
pasky
| hmm | 15:57 |
|
| curious | 15:57 |
|
shy
| i see the project | 15:57 |
|
| but i didn't see commit | 15:57 |
|
| only the description, owner etc | 15:58 |
|
pasky
| what version of git do you have? does git log in the repository run all right? | 15:58 |
|
shy
| oh | 16:00 |
|
ShadeHawk
| http://nopaste.php-q.net/240346 | 16:00 |
|
shy
| ? | 16:01 |
|
| ShadeHawk: ? | 16:02 |
|
pasky
| shy: so? | 16:04 |
|
ShadeHawk
| That is the script I use to debug gitweb (well, after changes, but...) | 16:04 |
|
shy
| when i go in the commit,i have this message : | 16:07 |
|
| 403 Forbidden - Unknown commit object. | 16:07 |
|
| pasky: the git log is ok | 16:07 |
|
pasky
| what is your git version? | 16:08 |
|
shy
| git version 1.1.3 | 16:08 |
|
pasky
| ...but gitweb version...? | 16:09 |
|
shy
| 220 | 16:09 |
|
pasky
| because I'm confused from [17:47] < shy> i will test with the last package | 16:09 |
|
| what is "the last package" here? | 16:10 |
|
shy
| nono | 16:10 |
|
| i haven't yet test with the last package :p | 16:10 |
|
pasky
| well, 1.1.3 is very old | 16:10 |
|
| it would be best if you could upgrade both your git and gitweb version | 16:10 |
|
shy
| i do that | 16:10 |
|
| ok so git version 1.4.2 | 16:15 |
|
| i must modify gitweb.cgi directly ? | 16:17 |
|
| the new gitweb is not beautiful | 16:18 |
|
pasky
| what do you mean? | 16:20 |
|
shy
| maybe the css is not find | 16:20 |
|
| have you an exemple of projects_list ? | 16:21 |
|
ShadeHawk
| git.git Jakub+Narebski | 16:25 |
|
| git/git.git Jakub+Narebski | 16:25 |
|
| gitweb _might_ need new enough git version. For example newest git requires git-rev-list to have --full-history option, and git to have --git-dir option, which means post 1.4.2 | 16:26 |
|
| old gitweb was self contained. | 16:27 |
|
| in new gitweb you must copy gitweb.css, git-logo.png, git-favicon.png and tell gitweb where to find them. Although you can go without | 16:27 |
|
shy
| uhm i do that | 16:28 |
|
| but any change | 16:28 |
|
ShadeHawk
| Here is the script I use to update gitweb: http://nopaste.php-q.net/240358 | 16:32 |
|
| with symlinks gitweb in both /var/www/cgi-bin, /var/www/perl, var/www/html to /home/local/gitweb | 16:33 |
|
shy
| i see in apache log, that it didn't find the css | 16:35 |
|
| uhm but he path is right | 16:35 |
|
| s/he/the | 16:36 |
|
| uhm | 16:37 |
|
| gitweb.cgi: Use of uninitialized value in pattern match (m//) at /home/pouik/gitweb/gitweb.cgi line 34 | 16:37 |
|
| File does not exist: /var/www/home, referer: | 16:40 |
|
| ... | 16:40 |
|
| what's your configuration for apache ? | 16:41 |
| → ag joined | 16:45 |
|
shy
| ok i have correct the error | 16:46 |
|
| but i don't know why gitweb got in /var/www/home/ | 16:46 |
| → pasky joined | 16:46 |
| → matled_ joined | 16:49 |
|
shy
| great ! | 16:53 |
|
| all works ! | 16:53 |
|
| thanks guys :p | 16:53 |
| matled_ → matled | 16:59 |
| → anders_ joined | 17:10 |
| → boto joined | 17:17 |
| → robinr joined | 17:20 |
| → DrNick joined | 17:28 |
| → devogon joined | 18:00 |
| → chexum joined | 18:01 |
| → robinr joined | 18:04 |
| → devogon joined | 18:48 |
| → polyonymous joined | 19:09 |
| → DrNick joined | 19:16 |
| → xjjk joined | 19:22 |
| → GeertB joined | 19:24 |
| → lyakh joined | 19:48 |
| → dmlb2000 joined | 20:38 |
| ← chexum left | 20:47 |
| → robfitz joined | 22:09 |
| → segher joined | 23:38 |