git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] gitweb: Add treediff

From
Jakub Narebski <jnareb@gmail.com>
Date
Mar 27, 2007, 01:15 UTC
Message-ID
<200703270315.54901.jnareb@gmail.com>
In-Reply-To
<20070326210548.GD1128@auto.tuwien.ac.at>
Martin Koegler wrote:
> On Mon, Mar 26, 2007 at 06:12:27PM +0100, Jakub Narebski wrote:
>> On Sun, Mar 25, 2007, Martin Koegler wrote:
Show 14 quoted lines
>>> +sub git_treediff {
>>> +	my $format = shift || 'html';
>>> +	my $from = $file_parent || "";
>>> +	my $to = $file_name || "";
>> 
>> I'd use  $file_name || '';  here, and of course
>> 
>> +	my $from = $file_parent || $file_name || '';
>> 
>> The unwritten rule is that we use 'fp' parameter (thet $file_parent
>> variable is set) only 
> 
> How do I specifiy the root tree (=tree in commit) with hpb/fp, as fp
> can not be empty, but only undefined?

As I said in previous message, we can simply relax check for 'f' and 'fp' parameters, by changing

	!validate_pathname($file_name)
to
	!defined validate_pathname($file_name)
 
Still, there are some places where we assume that 'f' and 'fp' cannot be
empty, like in above proposal. It would be:
+	my $from = (defined $file_parent ? $file_parent : $file_name) || '';

Again, I don't want to loose the assumption that we generate 'fp' _only_ if it is different from 'f'. Otherwise old links would cease working, which breaks backwards-compatibility, and is not cool. "Cool UR_is don't change."

Show 6 quoted lines
>>> +
>>> +	if (!defined $hash) {
>>> +		if (!defined $hash_base) {
>>> +			die_error('','tree parameter missing');
>> 
>> This conflicts with the coding style used elsewhere in the gitweb
[...]
>> Examples:
>> 	die_error(undef, "Couldn't find base commit");
[...]
> I didn't know this. I'll change this.

What's strange in other place you used die_error accoring to coding guidelines.

Show 15 quoted lines
>>> +
>>> +	} elsif ($format eq 'plain') {
>>> +		my $filename = basename($project) . "-diff.patch";
>>> +
>> 
>> In "commitdiff_plain" view we use
>> 
>> 		my $filename = basename($project) . "-$hash.patch";
>> 
>> Perhaps we should use the same: "-diff.patch" does not make much sense.
>> Is it a typo?
> 
> No. What unique name do you propose? It needs to include $hash and $hase_parent.
> In this case, $hash could be $hash_base:$file_name, I'm not sure, how to escape 
> $file_name.

For "commitdiff" case sole $hash is also not unique. But if not -hash, then perhaps -treediff instead of simply -diff?

-- 
Jakub Narebski
Poland
Previous: Martin KoeglerNext: Jakub Narebski
Message 9 of 28 in “gitweb: show no difference message”
  1. gitweb: show no difference messageMartin Koegler, Mar 25, 2007
  2. gitweb: Support comparing blobs with different namesMartin Koegler, Mar 25, 2007
  3. gitweb: link base commit (hpb) to blobdiff outputMartin Koegler, Mar 25, 2007
  4. gitweb: support filename prefix in git_patchset_bodyMartin Koegler, Mar 25, 2007
  5. gitweb: support filename prefix in git_difftree_bodyMartin Koegler, Mar 25, 2007
  6. gitweb: Add treediffMartin Koegler, Mar 25, 2007
  7. Jakub NarebskiMar 26, 2007
  8. Martin KoeglerMar 26, 2007
  9. Jakub NarebskiMar 27, 2007
  10. Jakub NarebskiMar 26, 2007
  11. Martin KoeglerMar 26, 2007
  12. Jakub NarebskiMar 27, 2007
  13. gitweb: Support comparing blobs (files) with different namesJakub Narebski, Mar 26, 2007
  14. Martin KoeglerMar 26, 2007
  15. Jakub NarebskiMar 27, 2007
  16. Martin KoeglerMar 27, 2007
  17. Jakub NarebskiMar 27, 2007
  18. Martin KoeglerMar 28, 2007
  19. Jakub NarebskiMar 30, 2007
  20. Jakub NarebskiMar 30, 2007
  21. Martin KoeglerMar 31, 2007
  22. Jakub NarebskiMar 31, 2007
  23. gitweb: Fix bug in "blobdiff" view for split (e.g. file to symlink) patchesJakub Narebski, Mar 31, 2007
  24. Jakub NarebskiMar 26, 2007
  25. Jakub NarebskiMar 26, 2007
  26. Jakub NarebskiApr 3, 2007
  27. Jakub NarebskiApr 4, 2007
  28. Junio C HamanoApr 5, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.