# [PATCH] gitweb: Enable tree (directory) history display

2 messages from 2006-02-27 to 2006-02-27. Participants: Luben Tuikov, Linus Torvalds.
Thread: https://gitlist.dev/t/3481

## Luben Tuikov, 2006-02-27 18:55

Subject: [PATCH] gitweb: Enable tree (directory) history display
Message-ID: <20060227185554.75822.qmail@web31810.mail.mud.yahoo.com>
URL: https://gitlist.dev/e/20060227185554.75822.qmail%40web31810.mail.mud.yahoo.com

```
Hi,

I find this patch very useful, especially when a directory (tree) describes
a project.

This patch allows history display of whole trees/directories,
a la "git-rev-list HEAD <dir or file>", but somewhat
slower, since exported git repository doesn't have
the files checked out so we have to use
"$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin \'$file_name\'"
method.  Maybe someone can find a speed up for this.  And better yet,
maybe links can be static as opposed to dynamic, so that you don't have to
navigate each and everytime if you want to find the history of the same
directory.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>

---

 gitweb.cgi |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

5c8ae3db3561238a57201fcb3297f16d7b37f377
diff --git a/gitweb.cgi b/gitweb.cgi
index c1bb624..452528f 100755
--- a/gitweb.cgi
+++ b/gitweb.cgi
@@ -1504,6 +1504,7 @@ sub git_tree {
                              "</td>\n" .
                              "<td class=\"link\">" .
                              $cgi->a({-href => "$my_uri?" .
esc_param("p=$project;a=tree;h=$t_hash$base_key;f=$base$t_name")}, "tree") .
+                             " | " . $cgi->a({-href => "$my_uri?" .
esc_param("p=$project;a=history;h=$hash_base;f=$base$t_name")}, "history") .
                              "</td>\n";
                }
                print "</tr>\n";
-- 
1.2.3.g6db0

```

## Linus Torvalds, 2006-02-27 19:56

Subject: Re: [PATCH] gitweb: Enable tree (directory) history display
Message-ID: <Pine.LNX.4.64.0602271154400.22647@g5.osdl.org>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0602271154400.22647%40g5.osdl.org
In-Reply-To: <20060227185554.75822.qmail@web31810.mail.mud.yahoo.com>

```


On Mon, 27 Feb 2006, Luben Tuikov wrote:
> 
> This patch allows history display of whole trees/directories,
> a la "git-rev-list HEAD <dir or file>", but somewhat
> slower, since exported git repository doesn't have
> the files checked out so we have to use
> "$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin \'$file_name\'"

No no. 

Just use 

	git-rev-list $hash -- $file_name

where the "--" is the important part.

As a usability-enhancer, you can leave out the "--" to separate filenames 
and other things, but when you leave out the "--", git requires that the 
filenames exist.

		Linus

```
