10 years agoFix merge commit logic
Chris Han []
Fix merge commit logic

A commit is a merge commit if it has multiple parents. The tip commit
of each head being merged become the parents of the merge commit.

10 years agoChange capitalization style to match
Chris Han []
Change capitalization style to match

10 years agoShortLog: Show only 'real commit' titles in bold
Tanguy Pruvot []
ShortLog: Show only 'real commit' titles in bold

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

10 years agoAppend backslashes to paths on windows
Chris Han []
Append backslashes to paths on windows

10 years agoMove windows and 64 bit tests to utility functions
Chris Han []
Move windows and 64 bit tests to utility functions

10 years agoQuote temp dir in diff command, for windows tempdirs with spaces in them
Chris Han []
Quote temp dir in diff command, for windows tempdirs with spaces in them

10 years agoFix default diff binary lookup
Chris Han []
Fix default diff binary lookup

Stupid mistake... wrote the function but forgot to actually use it

10 years agoBump version
Chris Han []
Bump version

10 years agoDefine background for commitdiff TOC
Chris Han []
Define background for commitdiff TOC

10 years agoExtract new strings
Chris Han []
Extract new strings

10 years agoi18n show all link
Chris Han []
i18n show all link

10 years agoAllow side by side commitdiff TOC to show the chosen diff and hide the
Chris Han []
Allow side by side commitdiff TOC to show the chosen diff and hide the
rest

10 years agoAdd a count to the side by side table of contents
Chris Han []
Add a count to the side by side table of contents

10 years agoMake side by side commitdiff TOC sticky
Chris Han []
Make side by side commitdiff TOC sticky

10 years agoIncrease TOC indent a bit
Chris Han []
Increase TOC indent a bit

10 years agoAdjust side-by-side display of added/deleted files to be closer to the way diff programs show
Chris Han []
Adjust side-by-side display of added/deleted files to be closer to the way diff programs show

10 years agoStart working on sidebar navigation for side by side commitdiff
Chris Han []
Start working on sidebar navigation for side by side commitdiff

10 years agoConsolidate copy-and-pasted diff mode cookie code
Chris Han []
Consolidate copy-and-pasted diff mode cookie code

10 years agoRemove extraneous pipe, fix diff output links
Chris Han []
Remove extraneous pipe, fix diff output links

10 years agoadd side-by-side commit-diff view
Tanguy Pruvot []
add side-by-side commit-diff view

10 years agoFix commit lookups where a commit is referenced by the name of a ref
Chris Han []
Fix commit lookups where a commit is referenced by the name of a ref
rather than a commit hash

Bug #78

10 years agoFix HEAD commit lookup on blob_plain
Chris Han []
Fix HEAD commit lookup on blob_plain

Bug #79

10 years agoAdded || ($end == ':') to check if there was the : operator at the end. Works with gitolite served repositories. Should work with gitosis as well.
mdevilz []
Added || ($end == ':') to check if there was the : operator at the end. Works with gitolite served repositories. Should work with gitosis as well.

Bug #77

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

10 years agoMake newly added blocks align correctly in side-by-side view
Chris Han []
Make newly added blocks align correctly in side-by-side view

Added blocks of code (so all '+' lines) are aligning incorrectly - they
appear one line higher than where they actually are, which is confusing
because it generally makes the code look like it's syntactially invalid.

This change does fix it, but I'm really don't think that it's the right
solution. Labeling it as a HACK for now to revisit later.

10 years agoRemember user's preference of seeing unified or side-by-side blobdiffs
Chris Han []
Remember user's preference of seeing unified or side-by-side blobdiffs

10 years agoBlobdiff and side by side diff templates are pretty much identical now - merge them
Chris Han []
Blobdiff and side by side diff templates are pretty much identical now - merge them

10 years agoSplit actual side-by-side display into its own template
Chris Han []
Split actual side-by-side display into its own template

10 years agoThe blobdiff and sidediff controllers are virtually identical now - merge them
Chris Han []
The blobdiff and sidediff controllers are virtually identical now - merge them

10 years agoI messed up whitespace-only lines - make sure they have enough height to show up
Chris Han []
I messed up whitespace-only lines - make sure they have enough height to show up

10 years agoAllow side by side diff lines to wrap so the view doesn't get really wide with long lines
Chris Han []
Allow side by side diff lines to wrap so the view doesn't get really wide with long lines

10 years agoDetach class names from model code so we can change them easily
Chris Han []
Detach class names from model code so we can change them easily

10 years agoMove split diff parsing code to FileDiff class
Chris Han []
Move split diff parsing code to FileDiff class

Now that the HTML escaping has been moved out of the controller layer to
the view layer, there's nothing view-specific about the diff parsing
code - move it to the model layer so it can be reused

10 years agoMake diff command a constant
Chris Han []
Make diff command a constant

10 years agoMove side by side diff look-and-feel related styles to gitphpskin.css
Chris Han []
Move side by side diff look-and-feel related styles to gitphpskin.css

10 years agoMove side by side diff html escaping to view layer
Chris Han []
Move side by side diff html escaping to view layer

10 years agoImplemented side-by-side diff comparison of files
Mattias Ulbrich []
Implemented side-by-side diff comparison of files

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

10 years agoChinese translation
seefan []
Chinese translation

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

10 years agoBump version
Chris Han []
Bump version

10 years agoMerge branch 'stylesheet'
Chris Han []
Merge branch 'stylesheet'

10 years agoRemove a few generic styles
Chris Han []
Remove a few generic styles

10 years agoFix crashes in tag commit load
Chris Han []
Fix crashes in tag commit load

10 years agoDon't load tag data if we want the commit and it's already been set
Chris Han []
Don't load tag data if we want the commit and it's already been set

10 years agoUse count parameter on head/tag list
Chris Han []
Use count parameter on head/tag list

10 years agoStore refs as separate tag and head collections again
Chris Han []
Store refs as separate tag and head collections again

This avoids having to call instanceof on the objects over and over

10 years agoImprove performance of tag listing
Chris Han []
Improve performance of tag listing

This changes the tag / head list functions GetTags and GetHeads to use
for-each-ref to let git do the age sorting internally (which is much
faster) and changes them to build off of the data already loaded by the
main ref list loading function

10 years agoUse a shared ref ref list for finding a commit's tags and heads
Chris Han []
Use a shared ref ref list for finding a commit's tags and heads

This uses a new function to just load all refs without any accompanying
data, which we use to find the heads or refs for a given commit. Since
when displaying ref badges we only care about its type and name.

10 years agoClean up CSS stylesheets, split apart functional vs skin css
Chris Han []
Clean up CSS stylesheets, split apart functional vs skin css

10 years agoFix warning on blob page with mime type lookup turned off
Chris Han []
Fix warning on blob page with mime type lookup turned off

10 years agoRemove the commit containing tag from the cache
Chris Han []
Remove the commit containing tag from the cache

To be safe, you should clear your cache after taking this commit

Bug #65

10 years agoWrap javascript livesearch in a setTimeout
Chris Han []
Wrap javascript livesearch in a setTimeout

This will help when searching lots of projects - it waits until the user
stops typing before running the search, instead of looping through all
projects every letter the user presses - bug #72

This also attaches the search to the paste event, so pasting in the live
search field will trigger the search - bug #73

10 years agoAdd attribution and link to footer
Chris Han []
Add attribution and link to footer

Bug #66

10 years agoEscape html in the titlebar
Chris Han []
Escape html in the titlebar

10 years agoMake language setting cookie a permanent cookie
Chris Han []
Make language setting cookie a permanent cookie

While I know that you can set cookies up to the year 2038, I would
prefer to be a good citizen to the user's browser, so I'm capping
the lifetime at 1 year.

Bug #67

10 years agoDegrade gracefully when system doesn't have the posix functions installed, rather than erroring
Chris Han []
Degrade gracefully when system doesn't have the posix functions installed, rather than erroring

10 years agoBump version to 0.2.2
Chris Han []
Bump version to 0.2.2

11 years agoExtract executable error messages into gettext
Chris Han []
Extract executable error messages into gettext

11 years agoMove the config value out of the error message string
Chris Han []
Move the config value out of the error message string

11 years agoShow an error message if the git or diff EXEs aren't working, bug #57
Chris Han []
Show an error message if the git or diff EXEs aren't working, bug #57

11 years agoTry to guess the right binary on a Windows x64 system
Chris Han []
Try to guess the right binary on a Windows x64 system

I really hate making use of php_uname especially because it's disabled
for security reasons on some shared hosting providers. However there
isn't really another reliable way - you can't just test the integer size
in PHP because the build of php might not match the operating system
word size itself (eg running 32bit php on 64bit windows).

11 years agoSplit diff executable access into its own wrapper class
Chris Han []
Split diff executable access into its own wrapper class

11 years agoUse system defined temp dir for diffs, bug #58
Chris Han []
Use system defined temp dir for diffs, bug #58

11 years agoBreak tmpdir handling out into its own class
Chris Han []
Break tmpdir handling out into its own class

11 years agogitweb.owner, if defined, should actually override the file owner
Chris Han []
gitweb.owner, if defined, should actually override the file owner

11 years agoAdded loading of owner from repository config file (gitweb.config).
Cory Thomas []
Added loading of owner from repository config file (gitweb.config).

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

11 years agoTurned clone/push url into link.
Cory Thomas []
Turned clone/push url into link.

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

11 years agoGerman translation
Andy Tandler []
German translation

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

11 years agoAdd utility script to minify javascripts
Chris Han []
Add utility script to minify javascripts

11 years agoAllow pages to use minified versions of javascript files if found
Chris Han []
Allow pages to use minified versions of javascript files if found

11 years agoMove javascript path and extension hardcodes out of controllers
Chris Han []
Move javascript path and extension hardcodes out of controllers

11 years agoTerminate javascript functions with semicolons
Chris Han []
Terminate javascript functions with semicolons

11 years agoMake sure to declare javascript variable so it's not global
Chris Han []
Make sure to declare javascript variable so it's not global

11 years agoRussian translation
Aidsoid []
Russian translation

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

11 years agoAdd phpdoc config file
Chris Han []
Add phpdoc config file

11 years agoFix resource header, add version header
Chris Han []
Fix resource header, add version header

11 years agoDocument memcache cache handler function
Chris Han []
Document memcache cache handler function

11 years agoFix up warnings/errors in phpdoc tags
Chris Han []
Fix up warnings/errors in phpdoc tags

11 years agoEscape for-each-ref format differently
Chris Han []
Escape for-each-ref format differently

11 years agoRight align tag links
Chris Han []
Right align tag links

11 years agoSmarter way of getting project age for caching and display
Chris Han []
Smarter way of getting project age for caching and display

11 years agoDocument objectcache option
Chris Han []
Document objectcache option

11 years agoSet a reasonable default for object cache, also use -1 for never expire to keep consistent with current cachelifetime config option
Chris Han []
Set a reasonable default for object cache, also use -1 for never expire to keep consistent with current cachelifetime config option

11 years agoCache tree object
Chris Han []
Cache tree object

11 years agoStart caching blob object (currently only blob file contents)
Chris Han []
Start caching blob object (currently only blob file contents)

11 years agoForgot to remove parent member variable after removing get/set
Chris Han []
Forgot to remove parent member variable after removing get/set

11 years agoRemove the in-memory tree and blob cache
Chris Han []
Remove the in-memory tree and blob cache

Tree and blob objects can't be reliably cached in-memory during runtime
because trees and blobs are hashes of their content, but the objects
also contain info such as parent commit and filename - something not
inherently tied to a blob hash. If the same blob or tree is used in two
different places for two different paths and loaded from the cache, the
second time will carry over the path and commit from the first, which is
incorrect data.
When these objects are enabled for the object cache, they'll have
fine-grained control over their serialization, so we can skip data like
these fields that shouldn't carry over to multiple instances.

11 years agoDon't completely replace parent GetHash, override and call base
Chris Han []
Don't completely replace parent GetHash, override and call base

11 years agoParent pointer for filesystem objects isn't actually used
Chris Han []
Parent pointer for filesystem objects isn't actually used

11 years agoObject cache support for tags
Chris Han []
Object cache support for tags

Also improves performance by not requiring the entire tag list to be
loaded if a single tag object is needed. The full list is loaded if all
tags are needed (and it doesn't reload already loaded tags).

11 years agoGive object cache its own lifetime in case you want to use a longer lifetime for it
Chris Han []
Give object cache its own lifetime in case you want to use a longer lifetime for it

11 years agoImplement object caching for commits
Chris Han []
Implement object caching for commits

I bent the serialization rules a little here. Git commit objects store
pointers to various other objects - other parent commits, the project,
the tree, etc. These references would be lost upon serialization.
Therefore, in the __sleep magic method to prepare for serialization, I
"reference" each object - I turn the object into a string identifier
that can be used to retrieve the object again later (for commits and
trees the hash, for the project the name, etc).
But the problem is that I can't "dereference" these objects in the
equivalent __wakeup method - if the commit points to the tree and the
tree points to the commit, then when you try to deserialize the commit
it'll try to deserialize the tree, which will then try to deserialize
the commit... which is an infinite loop.
Therefore, now these references actually remain in the object and are
just-in-time dereferenced when you want to actually access that
referenced object (using a getter). This also has the advantage of
easing the processing when loading from the cache, so that all the
object references aren't resolved at once, they're only resolved when
you need them.

11 years agoStart adding object cache class - framework for enhancement #39
Chris Han []
Start adding object cache class - framework for enhancement #39

11 years agoMerge branches 'projectsearch' and 'master'
Chris Han []
Merge branches 'projectsearch' and 'master'

11 years agoMake live project search case insensitive
Chris Han []
Make live project search case insensitive

11 years agoExtract strings
Chris Han []
Extract strings

11 years agoShow a message when no matching projects are found
Chris Han []
Show a message when no matching projects are found

11 years agoInitial implementation of javascript live project search
Chris Han []
Initial implementation of javascript live project search

11 years agoAdd search box to filter projects on the front project list page
Chris Han []
Add search box to filter projects on the front project list page

Enhancement #17

11 years agoSmarty's escape is too aggressive, the single quote escape is interfering with the example bug pattern
Chris Han []
Smarty's escape is too aggressive, the single quote escape is interfering with the example bug pattern

11 years agoAllow bug pattern/url to be overridden on a per-project basis
Chris Han []
Allow bug pattern/url to be overridden on a per-project basis

11 years agoDocument bug url config options
Chris Han []
Document bug url config options

comments