10 years agoStart working on commit message tooltips
Chris Han []
Start working on commit message tooltips

Only enabled on the blame page so far

10 years agoFix a couple warnings in commitdiff
Chris Han []
Fix a couple warnings in commitdiff

10 years agoGet rid of some php warnings
Chris Han []
Get rid of some php warnings

10 years agoNew way of specifying projects and categories
Chris Han []
New way of specifying projects and categories

This changes the way projects are specified with categories in an array.
There is a new config file in the config directory, projects.conf.php,
where the projects are listed using the git_projects array. In order to
make the transition easier for upgrading users without breaking
everything when they upgrade, this will allow a fallback to the legacy
method. If the file projects.conf.php exists, it will read that using
the new array format. If it doesn't exist, it will continue to use the
legacy array format that was specified in the main gitphp.conf.php.

This change was necessary because the previous format was limited to
only a single piece of metadata for a project - one category as a
string. Now, with this format, an arbitrary amount of metadata can be
specified for any project - so future enhancements can take advantage of
this and it will be very easy to add extra metadata.

This uses PHP's standard syntax for specifying multidimensional arrays.
It is admittedly more complicated than the old method because you have
to get all the syntax with commas and array() declarations correct,
which may be difficult for non-PHP programmers. I considered doing an
actual config file parser; however since this file is loaded every
single time you load any page, I wanted it to be as lightweight as
possible, and nothing is more lightweight than PHP's native syntax.

10 years agoFix blame line alignment issue in Firefox
Chris Han []
Fix blame line alignment issue in Firefox

10 years agoDon't use generic classes for blame hover
Chris Han []
Don't use generic classes for blame hover

10 years agoAdd geshi support to blame page
Chris Han []
Add geshi support to blame page

This uses a really nasty hack to take apart the HTML table that geshi
returns, in order to inject a table cell with the blame data.
Unfortunatly because geshi only returns a complete block of HTML,
there's no good way to do this.

10 years agoUse substr instead of str_replace when making category out of directory
Chris Han []
Use substr instead of str_replace when making category out of directory

Using str_replace can be a problem if your projectroot is the same as
one of the subdirectories of the project. For example:

If you projectroot is /git/, and your project is
/git/projects/php/git/gitphp.git, str_replace will remove both
appearances of '/git/' even though you only intended to remove the first
one

10 years agoFix blame when it returns filenames because of rename detection
Chris Han []
Fix blame when it returns filenames because of rename detection

10 years agoRight-align file sizes in tree view
Chris Han []
Right-align file sizes in tree view

10 years agoWhen scanning a directory for projects, set the category based on the subdirectory that it's in
Calen Pennington []
When scanning a directory for projects, set the category based on the subdirectory that it's in
(cherry picked from commit 395389c0469beda860d02cba19aefa9c4b26b069)

Signed-off-by: Chris Han <xiphux@gmail.com>

10 years agoMake git-daemon-export-ok exclusion a config value
Chris Han []
Make git-daemon-export-ok exclusion a config value

Just enabling this would be an automatic change, and many people
would suddenly see all their projects disappear and not know what
happened. I like the idea of respecting git-daemon-export-ok but I
can't reasonably expect everyone to go through all their repositories
and add this when they upgrade, so the exclusion is set by a config
option that's off by default.

Also, Gitweb doesn't do this at all so the odds of people having this
magic file set are even lower.

10 years agoOnly check git-daemon-export-ok if we're walking the directory structure
Calen Pennington []
Only check git-daemon-export-ok if we're walking the directory structure
(cherry picked from commit fff605dbe0f8facd9746175f82edf12def64a06e)

Signed-off-by: Chris Han <xiphux@gmail.com>

10 years agoOnly allow access to a project if it has git-daemon-export-ok set
Calen Pennington []
Only allow access to a project if it has git-daemon-export-ok set
(cherry picked from commit d992ac9922874b230a60671ac7ac23f135cd2ff1)

Signed-off-by: Chris Han <xiphux@gmail.com>

10 years agoFix bug where file path was displaying duplicated in blob and blame view
Chris Han []
Fix bug where file path was displaying duplicated in blob and blame view

10 years agoFix gzip snapshots to use the right variable
Chris Han []
Fix gzip snapshots to use the right variable

Thanks to Daniel G. Siegel for pointing this out

10 years agoImplementing feedback (renaming path to f and removing snapshot from files)
Tejas Dinkar []
Implementing feedback (renaming path to f and removing snapshot from files)

10 years agoAdded the ability to get snapshot from any level at tree level
Tejas Dinkar []
Added the ability to get snapshot from any level at tree level

10 years agoAdding support for getting a tarball of a particular part of repo
Tejas Dinkar []
Adding support for getting a tarball of a particular part of repo

10 years agoFix auto cache expiration
Chris Han []
Fix auto cache expiration

I made a typo in ControllerBase that was preventing auto cache expiration
from working

10 years agourlencoded the project's name, for projects like "C#"
Marijn Koesen []
urlencoded the project's name, for projects like "C#"

10 years agoMake project path sanitation slightly less restrictive to allow symlinked projects
Chris Han []
Make project path sanitation slightly less restrictive to allow symlinked projects

Based on a fix by Esa-Matti Suuronen

10 years agoAvoid premature exception when the config is completely empty
Chris Han []
Avoid premature exception when the config is completely empty

10 years agoMake tree view blob sizes fallback gracefully on older versions
Chris Han []
Make tree view blob sizes fallback gracefully on older versions

The tree view used -l indiscriminately to get blob sizes, without
taking into account that the -l option only appeared in git 1.5.3,
in which case the tree would fail to display anything (because the
command returned only the help message because of the invalid -l
parameter). Now it falls back properly depending on the version,
only displaying blob sizes if running on git 1.5.3 or greater.

10 years agoTry to simplify the config for users
Chris Han []
Try to simplify the config for users

Now the example config file only has the bare minimum config option (projectroot). It
also has the git projects array (since that is frequently used), and the cache option
commented out (since really everyone should be using caching, but it requires setup of
the cache directory so I can't enable it by default).

All other non-essential config options have been moved to a defaults file that doesn't
actually get loaded or used at all, but is just for documentation purposes. Users can
copy any config values from the defaults file into their config file and set as necessary.

Will need to evaluate to see if any other really frequently used config options should be
copied from the defaults file to the example file so users are more likely to see them.

10 years agoAdd magic database fallbacks
Chris Han []
Add magic database fallbacks

10 years agoAdd fallback for diff executable
Chris Han []
Add fallback for diff executable

10 years agoFix bug in git binary fallback
Chris Han []
Fix bug in git binary fallback

10 years agoRemove constants file since there was pretty much nothing left in it
Chris Han []
Remove constants file since there was pretty much nothing left in it

10 years agoTest for projectroot before attempting to instantiate project list
Chris Han []
Test for projectroot before attempting to instantiate project list

10 years agoDisplay action in header
Chris Han []
Display action in header

10 years agoDon't allow jumping to head for a blob that doesn't exist in head
Chris Han []
Don't allow jumping to head for a blob that doesn't exist in head

10 years agoUse path instead of file variable in blob template
Chris Han []
Use path instead of file variable in blob template

10 years agoTurn script url into a smarty function, fix a few strict warnings
Chris Han []
Turn script url into a smarty function, fix a few strict warnings

10 years agoFix bug in project index
Chris Han []
Fix bug in project index

10 years agoUse smarty plugin dir instead of loading each one manually
Chris Han []
Use smarty plugin dir instead of loading each one manually

10 years agoAdd highlighting and trimming in file search, show line numbers for matching lines
Chris Han []
Add highlighting and trimming in file search, show line numbers for matching lines

10 years agoFix highlight and trim when searching commit messages
Chris Han []
Fix highlight and trim when searching commit messages

10 years agoMove command definitions into exe class file
Chris Han []
Move command definitions into exe class file

10 years agoRemove unused constant
Chris Han []
Remove unused constant

10 years agoChange git link to point to git homepage
Chris Han []
Change git link to point to git homepage

10 years agoUpdate copyright in header
Chris Han []
Update copyright in header

10 years agoUse blob as template variable for blob objects, rather than hash
Chris Han []
Use blob as template variable for blob objects, rather than hash

10 years agoUse the same template variable for commits, regardless of whether it comes in as hash or hashbase
Chris Han []
Use the same template variable for commits, regardless of whether it comes in as hash or hashbase

10 years agoCurrent project global no longer needed
Chris Han []
Current project global no longer needed

10 years agoMove filesearch code to commit class
Chris Han []
Move filesearch code to commit class

Currently highlighting isn't being done and long lines aren't being trimmed

10 years agoMove path code into filesystemobject class and path template to a component template
Chris Han []
Move path code into filesystemobject class and path template to a component template

10 years agoFix exception on commit page of very first commit
Chris Han []
Fix exception on commit page of very first commit

10 years agoMove titlebar to component template
Chris Han []
Move titlebar to component template

10 years agoClean up blobdiff template
Chris Han []
Clean up blobdiff template

10 years agoClean up blob controller
Chris Han []
Clean up blob controller

10 years agoFixes to blame
Chris Han []
Fixes to blame

10 years agoMove blame code inside blob object
Chris Han []
Move blame code inside blob object

10 years agoChange geshi output a bit
Chris Han []
Change geshi output a bit

10 years agoMove history listing code to blob object
Chris Han []
Move history listing code to blob object

10 years agoOld include is no longer necessary
Chris Han []
Old include is no longer necessary

10 years agoComment out global exception catch temporarily to make development easier
Chris Han []
Comment out global exception catch temporarily to make development easier

10 years agoRemove unused modestr file
Chris Han []
Remove unused modestr file

10 years agoMove file mime functions into blob class
Chris Han []
Move file mime functions into blob class

10 years agoFix filenames in diffs for added/removed files
Chris Han []
Fix filenames in diffs for added/removed files

10 years agoUse refs from commit object for commitdiff
Chris Han []
Use refs from commit object for commitdiff

10 years agoMove code to lookup the tag containing a commit into commit object
Chris Han []
Move code to lookup the tag containing a commit into commit object

10 years agoUse tree object data for tree view (incomplete)
Chris Han []
Use tree object data for tree view (incomplete)

10 years agoAllow fetching commit by ref name
Chris Han []
Allow fetching commit by ref name

10 years agoAdd a logger
Chris Han []
Add a logger

10 years agoMove standard searches (commit/author/committer) into project class
Chris Han []
Move standard searches (commit/author/committer) into project class

10 years agoMove diffing code into filediff class
Chris Han []
Move diffing code into filediff class

10 years agoPass project to filediff object
Chris Han []
Pass project to filediff object

10 years agoGet rid of trailing empty line in commit comment
Chris Han []
Get rid of trailing empty line in commit comment

10 years agoStart using classes for tree diffs
Chris Han []
Start using classes for tree diffs

10 years agoMove clone url onto project object
Chris Han []
Move clone url onto project object

10 years agoHave controller use project object log
Chris Han []
Have controller use project object log

10 years agoStart getting log off of project object, unify log/shortlog controller logic
Chris Han []
Start getting log off of project object, unify log/shortlog controller logic

10 years agoFix header css on pages
Chris Han []
Fix header css on pages

10 years agoExport the project object itself to the template
Chris Han []
Export the project object itself to the template

10 years agoRename plaintext commitdiff template
Chris Han []
Rename plaintext commitdiff template

10 years agoLet smarty decide date formatting rather than date_str
Chris Han []
Let smarty decide date formatting rather than date_str

10 years agoMove all display functions into controller classes to share code and move the messy supercontroller code out of the index
Chris Han []
Move all display functions into controller classes to share code and move the messy supercontroller code out of the index

10 years agoNo longer needed
Chris Han []
No longer needed

10 years agoMove snapshot formats back to defs file
Chris Han []
Move snapshot formats back to defs file

10 years agoForgot to remove this file
Chris Han []
Forgot to remove this file

10 years agoMove snapshotting to commit class
Chris Han []
Move snapshotting to commit class

10 years agoStart getting ref info from object (some page headers are broken now because of different css
Chris Han []
Start getting ref info from object (some page headers are broken now because of different css

10 years agoMove heads to their own class, get rid of old ref reading code
Chris Han []
Move heads to their own class, get rid of old ref reading code

10 years agoClean up tag class doc a bit
Chris Han []
Clean up tag class doc a bit

10 years agoMove tag listing into project class
Chris Han []
Move tag listing into project class

10 years agoStart on tag object (incomplete, tag view url now uses just tag name rather than refs/tags/tagname)
Chris Han []
Start on tag object (incomplete, tag view url now uses just tag name rather than refs/tags/tagname)

10 years agoThere's no need to keep passing gitbin in
Chris Han []
There's no need to keep passing gitbin in

10 years agoUse iteration over project list rather than project array
Chris Han []
Use iteration over project list rather than project array

10 years agoMissed an include
Chris Han []
Missed an include

10 years agoCreate and use commit object
Chris Han []
Create and use commit object

10 years agoWrap using the git binary in a class; note that operations on the
Chris Han []
Wrap using the git binary in a class; note that operations on the
project list like age and snapshot are broken at the moment

10 years agoStart using objects for certain things that never change (project root, project, etc) rather than passing in arguments
Chris Han []
Start using objects for certain things that never change (project root, project, etc) rather than passing in arguments

10 years agoCreate projectlist classes
Chris Han []
Create projectlist classes

10 years agoRename classes to include a fake namespace, since I can't expect everyone to be running PHP 5.3
Chris Han []
Rename classes to include a fake namespace, since I can't expect everyone to be running PHP 5.3

10 years agoStart transitioning project info to a class
Chris Han []
Start transitioning project info to a class

10 years agoFix copyright
Chris Han []
Fix copyright

10 years agoMove config handling to a class
Chris Han []
Move config handling to a class

10 years agoForgot to include geshi
Chris Han []
Forgot to include geshi

10 years agoBump version
Chris Han []
Bump version

comments