Please do not top-post. On 11.04.2013, Trenton D. Adams wrote: > #1 would actually work. Though long term it would be cool to view it > with all the most recent commit information, kind of like github does. > You know, showing "updated 4 days ago". > > On Wed, Apr 10, 2013 at 11:03 AM, Jakub Narębski <jnareb@xxxxxxxxx> wrote: >> W dniu 07.04.2013 05:02, Trenton D. Adams pisze: >> >>> On that first page that shows up, it shows the .git folder. It would >>> be kind of nice if it shared out both the git repo and the actual >>> current project files. I frequently have stuff I'd like to see in a >>> web browser, and even requires one (i.e. Navigating to >>> file:///home/blah/blah doesn't work; ajax requests for example) >> >> There are a few possible solutions, from simplest to most complicated: >> >> 1. Configure gitweb ran by git-instaweb to have 'worktree' link in >> the action bar pointing to 'file:///path/to/repo' (or rather >> 'file:///path/to/workdir') via 'actions' feature, adding e.g. >> >> $feature{'actions'}{'default'} = >> [('worktree', 'file:///path/to/repo', 'summary')]; >> >> to gitweb_config.perl / gitweb.conf used by git-instaweb's gitweb. >> >> This of course works only for local use, so either git-instaweb >> or gitweb (in config) should check that we use it locally >> (e.g. if hostname is 'localhost' or equivalent). [...] Unfortunately it turns out such simple solution doesn't really work. First, for some reason Firefox 20.0 refuses to follow file:/// link, even though it shows correctly worktree if copy'n'pasted as URL in new window / new tab. Second, it would work only for the top git repository. There can be repositories being submodules, or in untracked subdirectories (like e.g. 't/trash directory.tNNNN*/.git' in git/.git), and said 'worktree' link would always lead to top git repository workdir. But anyway, here you have it: -- >8 -- Subject: [PATCH] git-instaweb: Show project files... kind of (WIP) On first page that git-instaweb shows, it shows the .git folder. It would be kind of nice if it shared out both the git repo and the actual current project files (i.e. current worktree). [...] [...] This commit implements solution 1.), with git-instaweb enabling it only for local use, which means when it is run with `--local` option. Signed-off-by: Jakub Narebski <jnareb@xxxxxxxxx> --- git-instaweb.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/git-instaweb.sh b/git-instaweb.sh index 01a1b05..43ae255 100755 --- a/git-instaweb.sh +++ b/git-instaweb.sh @@ -22,6 +22,13 @@ restart restart the web server . git-sh-setup fqgitdir="$GIT_DIR" +if test x"$(git rev-parse --is-bare-repository)" = xfalse +then + fqworktree="$(git rev-parse --show-toplevel)" +else + fqworktree="" +fi + local="$(git config --bool --get instaweb.local)" httpd="$(git config --get instaweb.httpd)" root="$(git config --get instaweb.gitwebdir)" @@ -588,6 +595,13 @@ our \$projects_list = \$projectroot; \$feature{'remote_heads'}{'default'} = [1]; EOF + test x"$fqworktree" != x && + test x"$local" = xtrue && + cat >>"$fqgitdir/gitweb/gitweb_config.perl" <<EOF +\$feature{'actions'}{'default'} = [ + ('worktree', 'file://$fqworktree', 'summary') +]; +EOF } configure_httpd() { -- 1.8.2.1.367.geafc030.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html