Dolt repo browser 0.4.0 available

70 views
Skip to first unread message

Christian Johansen

unread,
Oct 3, 2012, 5:08:44 AM10/3/12
to gito...@googlegroups.com
Hey people,

Dolt, our new repository/code browser has now been released in version 0.4.0.
It's roughly complete at this point, incorporating the features we wanted for
the first version. There are some minor niceties still to fix, but none that
have high priority.

We need as much input as possible on using this with real projects in various
languages. If you find strange syntax highighting etc, please report. If you
can post a public repo to reproduce strange behavior, even better.

Please try it out and let me know if you experience any issues:

    gem install dolt

    # Browse a single repo
    dolt path/to/repo

    # Browse many repos (will list all git repos in given directory)
    dolt ~/projects

I will now start integrating this back into Gitorious.

--
MVH
Christian

cjohansen

unread,
Oct 3, 2012, 1:51:38 PM10/3/12
to gito...@googlegroups.com, chri...@cjohansen.no
After some more tweaking, 0.4.2 is now out. It works properly and has everything. Give it a shot!

Wari Wahab

unread,
Oct 4, 2012, 3:28:44 AM10/4/12
to gito...@googlegroups.com
Dolt does not seem to support cucumber features, as well as scripts that does not have an extension, and starts with "#!/usr/bin/env ruby" for example.

Christian Johansen

unread,
Oct 4, 2012, 5:00:30 AM10/4/12
to gito...@googlegroups.com
On Thu, Oct 4, 2012 at 9:28 AM, Wari Wahab <wari....@gmail.com> wrote:
Dolt does not seem to support cucumber features, as well as scripts that does not have an extension, and starts with "#!/usr/bin/env ruby" for example.

Well, Gherkin is under Pygment's supported language list: http://pygments.org/languages/ Do you have a sample cucumber file with the extension you're using so I can try it?

I have added shebang language detection, which seems to not work for you: https://gitorious.org/gitorious/dolt/blobs/master/lib/dolt/view/syntax_highlight.rb#line90
Will try with that exact shebang and figure it out.

Thanks for the feedback. Btw, I just put out a new version that supports submodules.

Christian

Wari Wahab

unread,
Oct 4, 2012, 5:10:35 AM10/4/12
to gito...@googlegroups.com
I was about to test submodules later in the day. Kudos to adding that support before I can come around to it. 

The feature file is a simple text file:

features/myfeature.feature
---------
Feature: I want moolah
  In order to be rich
  As a poor old lad
  I need to rob a bank

  Scenario: Grab some weapons
    When I head to my stash area
    Then I pick my guns up
    I should be able to cause massive damage
-------

PS: a "move up one level back" button would be great, pressing back just don't work as well ;)

I did get the server to crash when browsing one directory:

>> Thin web server (v1.5.0 codename Knife)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop
/home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/json-1.7.5/lib/json/common.rb:223:in `encode': "\xC3" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/json-1.7.5/lib/json/common.rb:223:in `generate'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/json-1.7.5/lib/json/common.rb:223:in `generate'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/bin/../views/tree_history.erb:1:in `evaluate_source'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/tilt-1.3.3/lib/tilt/template.rb:209:in `instance_eval'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/tilt-1.3.3/lib/tilt/template.rb:209:in `evaluate_source'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/tilt-1.3.3/lib/tilt/template.rb:144:in `cached_evaluate'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/tilt-1.3.3/lib/tilt/template.rb:127:in `evaluate'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/tilt-1.3.3/lib/tilt/template.rb:76:in `render'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/template_renderer.rb:42:in `render'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/sinatra/actions.rb:99:in `block in tree_history'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/repo_actions.rb:72:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/repo_actions.rb:72:in `block in repo_action'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `set_deferred_status'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:191:in `succeed'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/git/repository.rb:49:in `block (2 levels) in tree_history'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `set_deferred_status'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:191:in `succeed'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/git/repository.rb:70:in `block in build_history'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `set_deferred_status'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:191:in `succeed'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/async/when.rb:28:in `resolve'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/async/when.rb:57:in `resolve'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/async/when.rb:103:in `block in all'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/async/when.rb:112:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/async/when.rb:112:in `block in all'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/async/when.rb:123:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/async/when.rb:123:in `block (2 levels) in wait_for_all'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `set_deferred_status'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:191:in `succeed'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/lib/dolt/git/repository.rb:81:in `block in deferred_method'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `set_deferred_status'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:191:in `succeed'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/em_pessimistic-0.1.2/lib/em_pessimistic/deferrable_child_process.rb:55:in `unbind'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/eventmachine.rb:1435:in `event_callback'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run_machine'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/eventmachine.rb:187:in `run'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/thin-1.5.0/lib/thin/backends/base.rb:63:in `start'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/thin-1.5.0/lib/thin/server.rb:159:in `start'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/thin-1.5.0/lib/thin/server.rb:145:in `start'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.4.2/bin/dolt:71:in `<top (required)>'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/bin/dolt:19:in `load'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/bin/dolt:19:in `<main>'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/bin/ruby_noexec_wrapper:14:in `eval'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/bin/ruby_noexec_wrapper:14:in `<main>'

Christian Johansen

unread,
Oct 4, 2012, 6:08:15 AM10/4/12
to gito...@googlegroups.com
Thanks,

Turns out I was loading the syntax highlighting language wrong. Fixed that, and then Cucumber features works. Will push yet another update later today.

Any chance you can share the repo that caused the crash?

Christian

--
To post to this group, send email to gito...@googlegroups.com
To unsubscribe from this group, send email to
gitorious+...@googlegroups.com



--
MVH
Christian

Christian Johansen

unread,
Oct 4, 2012, 6:39:05 AM10/4/12
to gito...@googlegroups.com
Just released 0.5.0.
  • Path/breadcrumb of files always has a clickable leading slash, taking you back to the root
  • Tree path always has a clickable leading slash
  • Tree limits how wide it nests when you descend into nested directories (try surfing more than three directories deep to see)
  • Fixed lexer loading, so lots more file types should now be correctly highlighted

With this release, my todo-list is proper empty, so report whatever you find.

Christian
--
MVH
Christian

Wari Wahab

unread,
Oct 4, 2012, 8:57:32 AM10/4/12
to gito...@googlegroups.com
Using 0.5.0, https://github.com/schacon/showoff will crash dolt.

On submodules, if the submodule has not 'git submodule init', it will link to http://localhost:3000/reponame/tree/g...@git.somewhere.com:project/another-repo.git

It also crashed with:


>> Thin web server (v1.5.0 codename Knife)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop
/home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.5.0/lib/dolt/sinatra/actions.rb:61:in `block in tree': unexpected return (LocalJumpError
)
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.5.0/lib/dolt/repo_actions.rb:74:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.5.0/lib/dolt/repo_actions.rb:74:in `block in repo_action'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `set_deferred_status'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:198:in `fail'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.5.0/lib/dolt/git/repository.rb:49:in `block in tree'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `set_deferred_status'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:198:in `fail'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/em_rugged-0.1.3/lib/em_rugged/deferrable.rb:37:in `rescue in block (2 levels) in d
efer'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/em_rugged-0.1.3/lib/em_rugged/deferrable.rb:34:in `block (2 levels) in defer'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/eventmachine.rb:1037:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/eventmachine.rb:1037:in `block in spawn_threadpool'

Christian Johansen

unread,
Oct 4, 2012, 9:18:20 AM10/4/12
to gito...@googlegroups.com
Tried surfing around showoff a little, and dolt didn't crash. Where exactly did you see the crash? And does the stack trace below belong to that crash?

Wari Wahab

unread,
Oct 4, 2012, 10:07:53 AM10/4/12
to gito...@googlegroups.com
I have a directory of repositories, deleted showoff, and git clone it again, and from that directory (not showoff). I do a `dolt .`, and clicked on showoff link.

What I see is the circular wait thingy, and the stake trace.is similar to the earlier one:

>> Thin web server (v1.5.0 codename Knife)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop
/home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/json-1.7.5/lib/json/common.rb:223:in `encode': "\xC3" from ASCII-8BIT to UTF-8 (Encoding::Undef
inedConversionError)
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/json-1.7.5/lib/json/common.rb:223:in `generate'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/json-1.7.5/lib/json/common.rb:223:in `generate'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.5.0/bin/../views/tree_history.erb:1:in `evaluate_source'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/tilt-1.3.3/lib/tilt/template.rb:209:in `instance_eval'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/tilt-1.3.3/lib/tilt/template.rb:209:in `evaluate_source'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/tilt-1.3.3/lib/tilt/template.rb:144:in `cached_evaluate'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/tilt-1.3.3/lib/tilt/template.rb:127:in `evaluate'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/tilt-1.3.3/lib/tilt/template.rb:76:in `render'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.5.0/lib/dolt/template_renderer.rb:42:in `render'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.5.0/lib/dolt/sinatra/actions.rb:99:in `block in tree_history'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.5.0/lib/dolt/repo_actions.rb:72:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.5.0/lib/dolt/repo_actions.rb:72:in `block in repo_action'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `set_deferred_status'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:191:in `succeed'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.5.0/lib/dolt/git/repository.rb:74:in `block (2 levels) in tree_history'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `call'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:151:in `set_deferred_status'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/eventmachine-1.0.0/lib/em/deferrable.rb:191:in `succeed'
        from /home/wari/.rvm/gems/ruby-1.9.3-p194@myhome/gems/dolt-0.5.0/lib/dolt/git/repository.rb:95:in `block in build_history'
Reply all
Reply to author
Forward
0 new messages