Chris Han [Fri, 26 Aug 2011 01:55:18 +0000 ]
Extract website string
Chris Han [Fri, 26 Aug 2011 01:49:32 +0000 ]
Allow displaying a website url for a project
Chris Han [Thu, 25 Aug 2011 03:56:26 +0000 ]
Support tagged blobs
Chris Han [Thu, 25 Aug 2011 03:47:29 +0000 ]
Disallow history/blame for non-file blobs
Chris Han [Sun, 14 Aug 2011 15:58:22 +0000 ]
Fix scrunched project list with really long descriptions
Chris Han [Sun, 14 Aug 2011 15:18:14 +0000 ]
Write to a temporary file when caching snapshots in case of terminated downloads
Chris Han [Mon, 08 Aug 2011 00:50:43 +0000 ]
Minify css
Chris Han [Sat, 30 Jul 2011 23:15:40 +0000 ]
Fix log order for commits at the same time (such as rebases)
Chris Han [Sat, 30 Jul 2011 22:28:20 +0000 ]
Use cache dir constant
Chris Han [Sat, 30 Jul 2011 05:24:45 +0000 ]
Cache snapshot tarballs
Chris Han [Sat, 30 Jul 2011 04:03:55 +0000 ]
Deliver archives incrementally to avoid OOM errors, by not using smarty
gzip requires a nasty hack using a tempfile because gzip files have a
header and trailer, so they can't be compressed in chunks. And php's
gzopen and compress.zlib:// don't seem to work with anything that's not
a file, so you can't compress on the fly to something like php://temp or
php://output
Chris Han [Sat, 30 Jul 2011 01:12:26 +0000 ]
Factor out command creation from execution
Chris Han [Sat, 30 Jul 2011 21:16:09 +0000 ]
Don't cache entire project object
Serialization works recursively, which means everything contained inside
the project object is also serialized, which is a bunch of wasted space
and may not be safe.
The only thing we need to find a project is its path.
Chris Han [Sat, 30 Jul 2011 17:42:04 +0000 ]
Use the shared smarty cache instead of handling it manually
This cuts down the code and allows us to use memcache if configured.
Since the list of projects is background-level data (and not HTML
pages), it uses the object cache. But since it's not immutable like git
objects, the lifetime uses the regular cache lifetime setting, which is
generally set shorter than the object cache lifetime (that could even be
set to -1).
Chris Han [Sat, 30 Jul 2011 17:18:44 +0000 ]
Allow overriding lifetime on a per-object basis
Chris Han [Sat, 30 Jul 2011 17:00:52 +0000 ]
Abstract out object cache settings to prepare for multiple caches
Chris Han [Sat, 30 Jul 2011 16:40:50 +0000 ]
Merge cached project directory code into ProjectListDirectory
Since cache handling is a logical extension of the directory lister
driver, it should be in the same class and handled internally. Also
this keeps caching code out of the ProjectList factory
Tanguy Pruvot [Thu, 28 Jul 2011 18:03:28 +0000 ]
Cache project list if set to auto discover them
(cherry picked from commit 7b5bc0db7ec4ac45a02535c099530bd7a280ca86)
Conflicts:
include/git/ProjectListDirectory.class.php
Chris Han [Thu, 28 Jul 2011 04:30:57 +0000 ]
Allow compatibility mode to be specified per-project
Chris Han [Thu, 28 Jul 2011 03:49:42 +0000 ]
Project class is getting kind of big, reorganize a bit with code folds
Chris Han [Thu, 28 Jul 2011 00:30:19 +0000 ]
Forgot that the exception message property was protected
Chris Han [Thu, 28 Jul 2011 00:13:23 +0000 ]
Turn on benchmarking separately from debugging
Chris Han [Thu, 28 Jul 2011 00:02:58 +0000 ]
Make it easier to debug why projects are/aren't appearing
Chris Han [Thu, 28 Jul 2011 00:00:38 +0000 ]
Put html line breaks between debug messages
Chris Han [Wed, 27 Jul 2011 02:46:20 +0000 ]
Don't read description repeatedly
Chris Han [Wed, 27 Jul 2011 02:45:51 +0000 ]
Suppress warnings when description file doesn't exist
Chris Han [Wed, 27 Jul 2011 02:42:40 +0000 ]
Support scm-manager repository configs
Requires xml support. Only displays repositories marked as 'public'.
Chris Han [Sat, 23 Jul 2011 04:44:17 +0000 ]
Extract new diff message
Chris Han [Thu, 21 Jul 2011 04:27:55 +0000 ]
Don't require a valid diff exe if using xdiff
Chris Han [Thu, 21 Jul 2011 04:27:07 +0000 ]
Fix blobdiff with xdiff
Chris Han [Thu, 21 Jul 2011 04:05:44 +0000 ]
Display message when diffing binary files with xdiff
Chris Han [Thu, 21 Jul 2011 03:45:28 +0000 ]
Use xdiff if installed
Chris Han [Sun, 17 Jul 2011 15:31:37 +0000 ]
Merge branch 'experimental/nogit'
Chris Han [Sun, 17 Jul 2011 05:58:23 +0000 ]
Sometimes finfo_open chokes on the magic file and floods warnings
All sorts of junk "invalid offset" and "invalid type" messages, suppress
them
Chris Han [Sun, 17 Jul 2011 05:47:06 +0000 ]
Fix tag objects dereferencing their commits
Chris Han [Sun, 17 Jul 2011 05:24:05 +0000 ]
Don't do redundant regexes when reading commit data
Chris Han [Sun, 17 Jul 2011 05:19:38 +0000 ]
Fix tree links in logs
Chris Han [Sun, 17 Jul 2011 04:58:11 +0000 ]
Make the limit for the git exe fallback for the log configurable
Chris Han [Sun, 17 Jul 2011 04:38:56 +0000 ]
Cache packfile index offsets
Chris Han [Sun, 17 Jul 2011 04:19:08 +0000 ]
Store projectroot internally rather than loading it every time
Chris Han [Sun, 17 Jul 2011 00:17:24 +0000 ]
For subtree snapshots include path in archive filename and prefix
Chris Han [Sun, 17 Jul 2011 00:09:34 +0000 ]
This was supposed to be static
Chris Han [Sun, 17 Jul 2011 00:08:58 +0000 ]
Factor out slugification into utility function
Chris Han [Sun, 17 Jul 2011 00:02:15 +0000 ]
Make subtree snapshots using direct tree objects rather than path restrictions
Chris Han [Sat, 16 Jul 2011 21:55:45 +0000 ]
Use standard blob methods for split diff so it can use raw git objects
Chris Han [Sat, 16 Jul 2011 21:51:14 +0000 ]
Recurse tree paths using raw git objects
Chris Han [Sun, 10 Jul 2011 23:06:39 +0000 ]
Load sorted tag list using raw git objects
Chris Han [Sun, 10 Jul 2011 22:43:37 +0000 ]
Load sorted head list using raw git objects
Chris Han [Sun, 10 Jul 2011 21:57:42 +0000 ]
Load project epoch using raw git objects
Chris Han [Sun, 10 Jul 2011 21:10:23 +0000 ]
Read gitweb.owner from raw config file
Chris Han [Sun, 10 Jul 2011 20:37:03 +0000 ]
Fall back on git rev-list if skipping a significant number of commits
Chris Han [Sun, 10 Jul 2011 20:25:04 +0000 ]
Fix unset index warnings when listing log
Chris Han [Sun, 10 Jul 2011 20:02:38 +0000 ]
Load project log using raw git objects
Based on the log walking code from glip
Walking the log in raw php is a bit of a mixed bag as far as
performance. If you're walking commits close to the tip of the head
performance is good, because you save the shell call to git-rev-list and
performance wise it's light to load the parents of the first 50 commits.
However, in raw PHP we have to do the walking ourselves, which means we
can't --skip the first 100 or so commits - so when listing commits
several pages away from the head, we have to walk all the way from the
tip down to that page, and then discard the more recent commits we don't
care about.
So the loading time increases for each log page further away from the
tip (earlier commits).
Chris Han [Sun, 10 Jul 2011 05:29:31 +0000 ]
Fix head commit lookup crashes for projects without any commits
Chris Han [Sun, 10 Jul 2011 05:20:23 +0000 ]
Load ref list using raw git files
Chris Han [Sun, 10 Jul 2011 03:35:43 +0000 ]
Load HEAD using repo file pointer
Chris Han [Sun, 10 Jul 2011 02:39:04 +0000 ]
Load tag data from pack
Chris Han [Sat, 09 Jul 2011 22:55:04 +0000 ]
Fix binary search of v1 pack indices
Chris Han [Sat, 09 Jul 2011 22:40:06 +0000 ]
Load tree data from pack
Chris Han [Sat, 09 Jul 2011 21:57:37 +0000 ]
Calculate size of blob if not set
Chris Han [Sat, 09 Jul 2011 18:05:16 +0000 ]
Load blob data from pack
Chris Han [Sat, 09 Jul 2011 17:58:55 +0000 ]
Document compat config option
Chris Han [Sat, 09 Jul 2011 17:30:50 +0000 ]
Load commit data from pack
Chris Han [Sat, 09 Jul 2011 16:45:09 +0000 ]
Read commit parents from parent lines in the commit object
Chris Han [Sat, 09 Jul 2011 16:20:52 +0000 ]
Use binary search on index files
Chris Han [Sat, 09 Jul 2011 15:28:52 +0000 ]
Add packed object extraction class
Based on glip by Patrik Fimml
Chris Han [Fri, 08 Jul 2011 00:52:53 +0000 ]
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.
Chris Han [Fri, 08 Jul 2011 00:47:17 +0000 ]
Change capitalization style to match
Tanguy Pruvot [Thu, 07 Jul 2011 19:44:21 +0000 ]
ShortLog: Show only 'real commit' titles in bold
Signed-off-by: Chris Han <xiphux@gmail.com>
Chris Han [Fri, 01 Jul 2011 02:20:20 +0000 ]
Append backslashes to paths on windows
Chris Han [Fri, 01 Jul 2011 02:09:53 +0000 ]
Move windows and 64 bit tests to utility functions
Chris Han [Fri, 01 Jul 2011 01:25:02 +0000 ]
Quote temp dir in diff command, for windows tempdirs with spaces in them
Chris Han [Fri, 01 Jul 2011 00:52:41 +0000 ]
Fix default diff binary lookup
Stupid mistake... wrote the function but forgot to actually use it
Chris Han [Sat, 25 Jun 2011 01:30:22 +0000 ]
Bump version
Chris Han [Thu, 23 Jun 2011 01:28:19 +0000 ]
Define background for commitdiff TOC
Chris Han [Sun, 19 Jun 2011 02:05:59 +0000 ]
Extract new strings
Chris Han [Sun, 19 Jun 2011 02:02:09 +0000 ]
i18n show all link
Chris Han [Sat, 18 Jun 2011 04:49:52 +0000 ]
Allow side by side commitdiff TOC to show the chosen diff and hide the
rest
Chris Han [Sat, 18 Jun 2011 04:12:10 +0000 ]
Add a count to the side by side table of contents
Chris Han [Sat, 18 Jun 2011 02:34:09 +0000 ]
Make side by side commitdiff TOC sticky
Chris Han [Sat, 18 Jun 2011 02:31:47 +0000 ]
Increase TOC indent a bit
Chris Han [Sat, 18 Jun 2011 01:46:03 +0000 ]
Adjust side-by-side display of added/deleted files to be closer to the way diff programs show
Chris Han [Fri, 17 Jun 2011 03:17:25 +0000 ]
Start working on sidebar navigation for side by side commitdiff
Chris Han [Wed, 15 Jun 2011 03:31:27 +0000 ]
Consolidate copy-and-pasted diff mode cookie code
Chris Han [Wed, 15 Jun 2011 03:02:48 +0000 ]
Remove extraneous pipe, fix diff output links
Tanguy Pruvot [Tue, 14 Jun 2011 08:09:02 +0000 ]
add side-by-side commit-diff view
Chris Han [Sat, 11 Jun 2011 01:37:38 +0000 ]
Fix commit lookups where a commit is referenced by the name of a ref
rather than a commit hash
Bug #78
Chris Han [Sat, 11 Jun 2011 00:29:13 +0000 ]
Fix HEAD commit lookup on blob_plain
Bug #79
mdevilz [Thu, 02 Jun 2011 01:32:16 +0000 ]
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>
Chris Han [Fri, 27 May 2011 03:34:22 +0000 ]
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.
Chris Han [Thu, 26 May 2011 03:37:42 +0000 ]
Remember user's preference of seeing unified or side-by-side blobdiffs
Chris Han [Thu, 26 May 2011 03:11:19 +0000 ]
Blobdiff and side by side diff templates are pretty much identical now - merge them
Chris Han [Thu, 26 May 2011 02:58:50 +0000 ]
Split actual side-by-side display into its own template
Chris Han [Thu, 26 May 2011 02:47:14 +0000 ]
The blobdiff and sidediff controllers are virtually identical now - merge them
Chris Han [Thu, 26 May 2011 02:30:52 +0000 ]
I messed up whitespace-only lines - make sure they have enough height to show up
Chris Han [Thu, 26 May 2011 02:23:20 +0000 ]
Allow side by side diff lines to wrap so the view doesn't get really wide with long lines
Chris Han [Thu, 26 May 2011 02:21:03 +0000 ]
Detach class names from model code so we can change them easily
Chris Han [Thu, 26 May 2011 01:59:59 +0000 ]
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
Chris Han [Thu, 26 May 2011 01:41:17 +0000 ]
Make diff command a constant
Chris Han [Thu, 26 May 2011 01:36:11 +0000 ]
Move side by side diff look-and-feel related styles to gitphpskin.css