Git Product home page Git Product logo

lolcommits's Introduction

lolcommits

Gem Depfu Maintainability Test Coverage

git-based selfies for software developers

lolcommits takes a snapshot with your webcam every time you git commit code, and archives a lolcat style image with it. Git blame has never been so much fun.

By default, the lol images are stored by a Github style short SHA in a ~/.lolcommits directory created for you.

History

Originally created by @mroth in 2011 as a joke project for Hack && Tell, lolcommits has grown considerably since then, and is now primarily maintained by @matthutchinson.

Thank you to all of the contributors throughout the years!

Sample images

Please add your own lolcommit to the People Using Lolcommits page on our wiki!

Requirements

Installation

macOS

You'll need ImageMagick installed. Homebrew makes this easy.

brew install imagemagick

Then install with:

[sudo] gem install lolcommits

If you're using RVM (or rbenv), you can/should probably omit the sudo, but the default macOS Ruby install usually requires it.

Lolcommits v0.8.1 was the last release to support Ruby < 2.0. If you'd like to use older Rubies try:

[sudo] gem install lolcommits --version 0.8.1   # for Ruby 1.9
[sudo] gem install lolcommits --version 0.7.0   # for Ruby 1.8

Linux

Install these dependencies using your package manager of choice, for example in Ubuntu:

sudo apt-get install mplayer imagemagick libmagickwand-dev

For Ubuntu 14.04 or newer, you need to manually install ffmpeg since it no longer ships with the default Ubuntu sources (downloads here).

Then install with:

gem install lolcommits

For more details, see Installing on Linux.

Windows - here be dragons!

It works, but you'll need some more detailed instructions to get the dependencies installed. See the wiki page for Installing on Windows.

Usage

Enabling and basic usage

Within any git repository, simply run lolcommits --enable. From that point on, any git commit will automatically trigger a lolcommit capture! By default, all lolcommits are stored in ~/.lolcommits and placed in a subdirectory by project name, with a filename matching the commit hash.

Follow these steps to enable lolcommits across all your repos; using git init and the init.templatedir setting.

Don't worry about it too much, half the fun of lolcommits is forgetting it's installed!

Other commands

OK, if you insist... Since you know about --enable, common sense suggests there is also a repository specific --disable, hopefully you can guess what that does.

Other handy common commands include --last, which will open for display your most recent lolcommit, or --browse, which pops open the directory containing all the lolcommit images for your current repository. You can always do --help for a full list of available commands.

NOTE: Any extra arguments you pass with --enable are appended to the git post-hook capture command. For example;

lolcommits --enable --delay 5 --animate 4 --fork

Will configure capturing of an animated gif (4 secs) after a 5 sec delay in a forked process. See the section below for more capture configuration options.

Capture configuration options

lolcommits has some capture options for additional lulz. You can enable these via environment variables like so;

  • LOLCOMMITS_DEVICE set a webcam device - except windows (non-animated) captures
  • LOLCOMMITS_VIDEO (in seconds) set time for capturing a video - requires ffmpeg
  • LOLCOMMITS_ANIMATE (in seconds) set time for capturing an animated gif - requires ffmpeg
  • LOLCOMMITS_DELAY (in seconds) set delay time before capturing (for slow webcams to warmup)
  • LOLCOMMITS_FORK fork lolcommit runner (capture command forks to a new process, speedily returning you to your terminal)
  • LOLCOMMITS_STEALTH disable all notification messages when capturing
  • LOLCOMMITS_DIR set the output directory used for all repositories (defaults to ~/.lolcommits)
  • LOLCOMMITS_CAPTURE_DISABLED disables lolcommit capturing in the commit hook (when set as 'true')

Or they can be set with arguments to the capture command (located in your repository's .git/hooks/post-commit file).

  • --device {name} or -d {name}
  • --video {seconds} or -v {seconds}
  • --animate {seconds} or -a {seconds}
  • --delay {seconds} or -w {seconds}
  • --fork
  • --stealth

You can configure lolcommit text positions, font styles (type, size, color etc.) or add a transparent overlay to your images. Simply configure the default loltext plugin with this command:

lolcommits --config -p loltext

To find out more about styling, read about the loltext options.

Use lolcommits --devices to list all attached video devices available for capturing.

Finally, run lolcommits --help for details on all the available arguments.

Videos

You can tell lolcommits to capture an mp4 video (instead of an image). ffmpeg is required and can be installed like so;

To enable, use the -v {seconds} option or set the LOLCOMMITS_VIDEO environment variable with the number of seconds to capture.

Animated Gifs

Animated gifs can take a while to generate (depending on the number of seconds you capture and the capabilities of your machine).

To enable, use the -a {seconds} option or set the LOLCOMMITS_ANIMATE environment variable with the number of seconds to capture. If you find animated capturing takes too long, try setting LOLCOMMITS_FORK=true.

Example animated lolcommit gif

NOTE: If both LOLCOMMITS_ANIMATE and LOLCOMMITS_VIDEO options are set, the video duration takes precedence and is applied to both captures.

Plugins

A growing number of plugins are available, allowing you to transform or share your lolcommits with others. The default plugin simply appends your commit message and sha to the captured image. Others can post to Twitter, Tumblr (and other services), or even translate your commit messages to lolspeak. Check them out on our plugins page.

To list all installed plugins use:

lolcommits --plugins

Installed plugins can be easily enabled, configured or disabled with the --config option:

lolcommits --config
# or
lolcommits --config -p loltext

Interested in developing your own plugin? Follow this simple guide at the Lolcommits Sample Plugin README.

Timelapse

Watch your face decay while you program, with an animated timelapse gif!

lolcommits --timelapse
# or for just today's lolcommits
lolcommits --timelapse --period today

Troubles?

Try our trouble-shooting FAQ, or take a read through our wiki. If you think something is broken or missing, please raise a Github issue (and please check if we haven't already addressed it).

License

The program is available as open source under the terms of LGPL-3.

lolcommits's People

Contributors

bfontaine avatar cnvandev avatar codegoblin avatar crittermike avatar csabapalfi avatar daniellesucher avatar depfu[bot] avatar drewwells avatar ecarnevale avatar felixroos avatar ferada avatar fukayatsu avatar hsatac avatar jhawthorn avatar johanb avatar kenmazaika avatar leewillis77 avatar matthutchinson avatar mrclmrvn avatar mroth avatar mveytsman avatar numan1617 avatar prydonius avatar russellb avatar ruxton avatar salzig avatar samwize avatar sionide21 avatar tak avatar they4kman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lolcommits's Issues

lolcommits fails to put text into image

When I do a commit, I get a exception:

L:\users\tschumacher2\Projekte\zeiterfassung>git commit
Waiting for Emacs...
c:/Ruby200/lib/ruby/gems/2.0.0/gems/mini_magick-3.5.0/lib/mini_magick.rb:418:in `run': mogrify.exe: unable to open image `Datenbank-Backend\': No such file or d
irectory @ error/blob.c/OpenBlob/2641. (MiniMagick::Invalid)
mogrify.exe: no decode delegate for this image format `Datenbank-Backend\' @ error/constitute.c/ReadImage/550.
mogrify.exe: unable to open image `auf\': No such file or directory @ error/blob.c/OpenBlob/2641.
mogrify.exe: no decode delegate for this image format `auf\' @ error/constitute.c/ReadImage/550.
mogrify.exe: unable to open image `MSSQL'
'umgestellt.': Invalid argument @ error/blob.c/OpenBlob/2641.
mogrify.exe: no decode delegate for this image format `MSSQL'
'umgestellt.' @ error/constitute.c/ReadImage/550.
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/mini_magick-3.5.0/lib/mini_magick.rb:366:in `combine_options'
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/lolcommits-0.4.3/lib/lolcommits/plugins/loltext.rb:23:in `mm_run'
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/lolcommits-0.4.3/lib/lolcommits/plugins/loltext.rb:14:in `run'
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/lolcommits-0.4.3/lib/lolcommits/plugin.rb:29:in `execute'
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/lolcommits-0.4.3/lib/lolcommits/runner.rb:97:in `block (2 levels) in <module:Lolcommits>'
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:416:in `_run__776742360__run__659722579__callbacks'
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `__run_callback'
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in `_run_run_callbacks'
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in `run_callbacks'
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/lolcommits-0.4.3/lib/lolcommits/runner.rb:41:in `run'
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/lolcommits-0.4.3/bin/lolcommits:155:in `do_capture'
        from c:/Ruby200/lib/ruby/gems/2.0.0/gems/lolcommits-0.4.3/bin/lolcommits:294:in `<top (required)>'
        from c:/Ruby200/bin/lolcommits:23:in `load'
        from c:/Ruby200/bin/lolcommits:23:in `<main>'
*** Preserving this moment in history.
[master 63b58d7] Das Datenbank-Backend auf MSSQL umgestellt.
 4 files changed, 226 insertions(+), 158 deletions(-)

In ~/.lolcommit/zeiterfassung there is a '63b58d71be6.jpg' but it has no commit message over it.

From the error message I think it might be bad quoting when calling mogrify.exe. In Windows cmd.exe you can't quote with single quote, but only double quotes.

error with: lolcommits --enable

Floris-MacBook-Pro:gitfolder flori$ lolcommits --enable
/Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick2.bundle, 9): Library not loaded: /usr/lib/libltdl.7.dylib (LoadError)
  Referenced from: /usr/local/lib/libMagickCore.5.dylib
  Reason: image not found - /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick2.bundle
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick.rb:11
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /Library/Ruby/Gems/1.8/gems/lolcommits-0.1.4/lib/lolcommits.rb:8
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /Library/Ruby/Gems/1.8/gems/lolcommits-0.1.4/bin/lolcommits:7
    from /usr/bin/lolcommits:19:in `load'
    from /usr/bin/lolcommits:19

i tried reinstall imagemagick, but the error persists

Floris-MacBook-Pro:gitfolder flori$ brew update imagemagick --from-source
Initialized empty Git repository in /usr/local/.git/
remote: Counting objects: 67979, done.
remote: Compressing objects: 100% (34510/34510), done.
remote: Total 67979 (delta 45391), reused 52965 (delta 32671)
Receiving objects: 100% (67979/67979), 9.65 MiB | 1.31 MiB/s, done.
Resolving deltas: 100% (45391/45391), done.

please help me

Uncaught exception when color enabled in ~/.gitconfig

I am getting an exception thrown when I commit with lolcommits. Here is the callstack that is printed:
(Using lolcommits version 0.1.2)

marc@menasor ~/dev/swrve/dashboard $ git commit
/Users/marc/.rvm/gems/ruby-1.9.2-p290/gems/git-1.2.5/lib/git/lib.rb:153:in `block in process_commit_data': undefined method `[]=' for nil:NilClass (NoMethodError)
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/gems/git-1.2.5/lib/git/lib.rb:135:in `each'
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/gems/git-1.2.5/lib/git/lib.rb:135:in `process_commit_data'
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/gems/git-1.2.5/lib/git/lib.rb:93:in `full_log_commits'
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/gems/git-1.2.5/lib/git/log.rb:108:in `run_log'
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/gems/git-1.2.5/lib/git/log.rb:101:in `check_log'
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/gems/git-1.2.5/lib/git/log.rb:89:in `first'
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/gems/lolcommits-0.1.2/lib/lolcommits.rb:41:in `parse_git'
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/gems/lolcommits-0.1.2/lib/lolcommits.rb:55:in `capture'
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/gems/lolcommits-0.1.2/bin/lolcommits:94:in `do_capture'
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/gems/lolcommits-0.1.2/bin/lolcommits:173:in `<top (required)>'
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/bin/lolcommits:19:in `load'
    from /Users/marc/.rvm/gems/ruby-1.9.2-p290/bin/lolcommits:19:in `<main>'
[master c30a724] Comments
 1 files changed, 4 insertions(+), 3 deletions(-)```


marc@menasor ~ $ gem --version
1.8.15
marc@menasor ~ $ ruby --version
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.1.0]
marc@menasor ~ $ bundle --version
Bundler version 1.0.21
marc@menasor ~ $ rvm --version
rvm 1.8.6 by Wayne E. Seguin ([email protected]) [https://rvm.beginrescueend.com/]
marc@menasor ~ $ git --version
git version 1.7.5.4
marc@menasor ~ $ uname -a
Darwin menasor.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64

Add option to omit SHA and commit message

I'd love it if I would be able to store just the snapshot without the SHA and commit message. Ideally, lolcommits would store the image twice, once with SHA and msg, and once with just the image.

GitHub for Mac doesn't always trigger lolcommits

Not sure exactly why, but lolcommits isn't always triggered when running GitHub for Mac. Restarting seems to fix it however.

When this happens the following is put in console.log:

17/10/2012 11:26:08.845 GitHub[12301]: Error: animationCompletionBlock didn't complete!

No annotations on image

Hi, I'm using OSX, lolcommits-0.4.1pre1 and LOLCOMMITS_DEBUG=1

The capture is done, but not annotated. Here's output:

$ lolcommits --capture     
Outputting at DEBUG verbosity
Runner: Making sure user isn't rebasing
Plugin: Lolcommits::Tranzlate: Initializing
Plugin: Lolcommits::Tranzlate: Disabled, doing nothing for execution
*** Preserving this moment in history.
Capturer: initializing new instance #
Capturer: making system call for /Users/holek/.rvm/gems/ruby-1.9.3-p125-perf@global/gems/lolcommits-0.4.1pre1/lib/lolcommits/../../vendor/ext/imagesnap/imagesnap -q "/Users/holek/.lolcommits/code/tmp_snapshot.jpg" -w 0 
Runner: resizing snapshot
Runner: copying resized image to /Users/holek/.lolcommits/code/b64f8b5961e.jpg
Plugin: Lolcommits::Loltext: Initializing
Plugin: Lolcommits::Loltext: I am enabled, about to run
Plugin: Lolcommits::Loltext: Annotating image via MiniMagick
Plugin: Lolcommits::Loltext: Writing changed file to /Users/holek/.lolcommits/code/b64f8b5961e.jpg
Plugin: Lolcommits::DotCom: Initializing
Plugin: Lolcommits::DotCom: Disabled, doing nothing for execution
Plugin: Lolcommits::StatsD: Initializing
Plugin: Lolcommits::StatsD: I am enabled, about to run
Plugin: Lolcommits::LolTwitter: Initializing
Plugin: Lolcommits::LolTwitter: Disabled, doing nothing for execution
Plugin: Lolcommits::Lolsrv: Initializing
Plugin: Lolcommits::Lolsrv: Disabled, doing nothing for execution
Plugin: Lolcommits::Uploldz: Initializing
Plugin: Lolcommits::Uploldz: Disabled, doing nothing for execution
Runner: running cleanup

Error on Install

I'm a Ruby noob, so I'm not quite sure what's gone wrong. I installed ImageMagick just fine through brew.

sudo gem install lolcommits
Building native extensions.  This could take a while...
ERROR:  Error installing lolcommits:
    ERROR: Failed to build gem native extension.

        /Users/dave/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config.
checking for clang... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/dave/.rvm/rubies/ruby-1.9.3-p125/bin/ruby
/Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp'
    from /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:931:in `block in have_header'
    from /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
    from /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
    from /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
    from /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
    from /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
    from /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:930:in `have_header'
    from extconf.rb:193:in `<main>'


Gem files will remain installed in /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1 for inspection.
Results logged to /Users/dave/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1/ext/RMagick/gem_make.out

Halp!

`split': invalid byte sequence in US-ASCII (ArgumentError) in SourceTree

I'm on Mountain Lion using latest Version of SourceTree (http://www.sourcetreeapp.com/) and every time I try to commit I get this error:

git -c diff.mnemonicprefix=false -c core.quotepath=false commit -q -F /var/folders/yz/6ngr49dd0fv22kphv_yq_47m0000gn/T/SourceTreeTemp.4r1ovf 
/Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/git-1.2.5/lib/git/lib.rb:672:in `split': invalid byte sequence in US-ASCII (ArgumentError)
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/git-1.2.5/lib/git/lib.rb:672:in `command_lines'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/git-1.2.5/lib/git/lib.rb:92:in `full_log_commits'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/git-1.2.5/lib/git/log.rb:108:in `run_log'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/git-1.2.5/lib/git/log.rb:101:in `check_log'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/git-1.2.5/lib/git/log.rb:89:in `first'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/lolcommits-0.4.0/lib/lolcommits/git_info.rb:6:in `initialize'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/lolcommits-0.4.0/lib/lolcommits/runner.rb:27:in `new'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/lolcommits-0.4.0/lib/lolcommits/runner.rb:27:in `initialize'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/lolcommits-0.4.0/bin/lolcommits:133:in `new'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/lolcommits-0.4.0/bin/lolcommits:133:in `do_capture'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/gems/lolcommits-0.4.0/bin/lolcommits:252:in `<top (required)>'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/bin/lolcommits:19:in `load'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/bin/lolcommits:19:in `<main>'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/bin/ruby_noexec_wrapper:14:in `eval'
    from /Users/flori/.rvm/gems/ruby-1.9.3-p362/bin/ruby_noexec_wrapper:14:in `<main>'
Completed successfully

Hope you can help me,
regards,
Flori

PS: Terminal works fine...

PPS: And My Path looks like this (in Info.plist of Sourcetree):

<key>LSEnvironment</key>
<dict>
     <key>PATH</key>
     <string>/Users/flori/.rvm/gems/ruby-1.9.3-p362/bin:/Users/flori/.rvm/gems/ruby-1.9.3-p362@global/bin:/Users/flori/.rvm/rubies/ruby-1.9.3-p326/bin:/Users/flori/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:</string>
</dict>

GitHub for mac barfs completely when lolcommits is enabled

Perhaps it is something about git pre-commit hooks?

Specifically, when I tried to revert a specific file before committing using Github for Mac, this happened

lol

I'm posting this error here because I wasn't sure exactly what lolcommits is doing.

If you could maybe give me an idea where this could be causing the client to crash, I can submit a bug report, but I am posting here because I thought this was hilarious.

Can't open images with my favorite viewer

Hi there,

Could you open the picture with xdg-open or whatever instead of calling directly the browser ? I have a default application feh to open images, and would prefer to see it instead , when running 'lolcommit -l'

Thanks !

Lolcommits not taking photo on Ubuntu 12.10

I'm on Ubuntu 12.10, just installed Lolcommits today. Every time I enable lolcommits on a repo and commit, I get this error:

Preserving this moment in history.
/usr/lib/ruby/1.9.1/fileutils.rb:1515:in stat': No such file or directory - /tmp/d20130123-17526-1hkx50r/00000006.jpg (Errno::ENOENT) from /usr/lib/ruby/1.9.1/fileutils.rb:1515:inblock in fu_each_src_dest'
from /usr/lib/ruby/1.9.1/fileutils.rb:1531:in fu_each_src_dest0' from /usr/lib/ruby/1.9.1/fileutils.rb:1513:infu_each_src_dest'
from /usr/lib/ruby/1.9.1/fileutils.rb:508:in mv' from /var/lib/gems/1.9.1/gems/lolcommits-0.4.0/lib/lolcommits/capture_linux.rb:13:incapture'
from /var/lib/gems/1.9.1/gems/lolcommits-0.4.0/lib/lolcommits/runner.rb:46:in block in run' from /var/lib/gems/1.9.1/gems/activesupport-3.0.0/lib/active_support/callbacks.rb:418:in_run_run_callbacks'
from /var/lib/gems/1.9.1/gems/activesupport-3.0.0/lib/active_support/callbacks.rb:93:in run_callbacks' from /var/lib/gems/1.9.1/gems/lolcommits-0.4.0/lib/lolcommits/runner.rb:37:inrun'
from /var/lib/gems/1.9.1/gems/lolcommits-0.4.0/bin/lolcommits:137:in do_capture' from /var/lib/gems/1.9.1/gems/lolcommits-0.4.0/bin/lolcommits:252:in<top (required)>'
from /usr/local/bin/lolcommits:23:in load' from /usr/local/bin/lolcommits:23:in

'

No image is saved.

Sorry if this is obvious, I don't know Ruby at all. Thx!

RMagick broken again

Like before, I upgrade imagemagick (6.8.0-10) using homebrew, and lolcommits stopped working.

The issue is not the same. It appears RMagick is broken this time :

$ lolcommits /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libMagickCore.5.dylib (LoadError) Referenced from: /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick2.bundle Reason: image not found - /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick2.bundle from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in require'
from /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick.rb:11
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in require'
from /Library/Ruby/Gems/1.8/gems/lolcommits-0.3.4/lib/lolcommits.rb:4
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in require'
from /Library/Ruby/Gems/1.8/gems/lolcommits-0.3.4/bin/lolcommits:7
from /usr/bin/lolcommits:19:in load' from /usr/bin/lolcommits:19

I did wait a little bit in order to find the answer on the internet but found nothing.
Does someone know what is happenning to my lolcommits setup ?

I tried to re-install rmagick, but it not more successful :

`` $ gem pristine rmagick
Restoring gem(s) to pristine condition...
Building native extensions. This could take a while...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for xcrun... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... yes
checking for InitializeMagick() in -lMagickCore... no
checking for InitializeMagick() in -lMagick... no
checking for InitializeMagick() in -lMagick++... no
Can't install RMagick 2.13.1. Can't find the ImageMagick library or one of the dependent libraries. Check the mkmf.log file for more detailed information.

Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/ext/RMagick/gem_make.out
``

I use osx 10.8.2 and up-to-date homebrew install.

only tmp image is stored on mac os x

since I installed lolcommits I made a bunch of commits, but there is only one image in my ~/.lolcommits folder called 'tmp_snapshot.jpg' ... is this the expected behavior ?

--enable Clobbers Existing Hooks

I have a fairly elaborate set of hooks I use on many of my projects to ensure consistently and quality. Enabling lolcommits replaced my pre-commit hook file with yours.

What if yours appended to the end if it already exists?

Segfault on commit capture, but captures fine after commit.

$ git commit -m 'foo'
/Users/alex/.rvm/gems/ruby-1.9.3-p194@playtime/gems/rmagick-2.13.1/lib/RMagick2.bundle: [BUG] Segmentation fault
ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]

.git/hooks/post-commit: line 2: 68878 Abort trap: 6           lolcommits --capture

But, if I then run lolcommits --capture, it captures absolutely fine, just as if it had fired in post-commit.

On a clean install of 10.7.4.

$ rvm --version

rvm 1.14.5 (stable) 

$ gem list

*** LOCAL GEMS ***

addressable (2.2.8)
bundler (1.1.4)
choice (0.1.6)
git (1.2.5)
launchy (2.1.0)
lolcommits (0.2.0)
methadone (1.2.1)
rake (0.9.2.2)
rmagick (2.13.1)
rubygems-bundler (1.0.3)
rvm (1.11.3.5)

$ ruby --version
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]

feature request: allow to set the image snap delay

Just tested this on a bit older iMac 21". All images were dark. Somehow the imagesnap needed to be passed a sleight delay of 2 seconds in order for it to take a proper picture. I've modified the script myself to hardcode this delay. However it might be nice to allow this to be set @

lolcommits --enable --delay 2.0

This value could be passed down to the image snap call

imagesnap -w 2.0

or something.
Are you open to this possibility ? then I might create a pull-request for it.

Error on a fresh new Mountain Lion installation

I bought a new mac with Mountain Lion installed. Already installed all the requirements to get lolcommits to work (xcode, command line tools, xquartz), but this error happens when commiting:

/Library/Ruby/Gems/1.8/gems/lolcommits-0.3.1/lib/lolcommits/plugins/loltext.rb:20:in annotate': Postscript delegate failed/var/folders/2z/bzrvdkhj3t13350n4lr_nf3w0000gn/T/magick-GaBm9QeP': No such file or directory @ error/ps.c/ReadPSImage/830: (null)' (Magick::ImageMagickError) from /Library/Ruby/Gems/1.8/gems/lolcommits-0.3.1/lib/lolcommits/plugins/loltext.rb:20:inrun'
from /Library/Ruby/Gems/1.8/gems/lolcommits-0.3.1/lib/lolcommits/plugin.rb:25:in execute' from /Library/Ruby/Gems/1.8/gems/lolcommits-0.3.1/lib/lolcommits/runner.rb:69:inexecute_lolcommits_loltext'
from /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0/lib/active_support/callbacks.rb:419:in _run_run_callbacks' from /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0/lib/active_support/callbacks.rb:93:insend'
from /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0/lib/active_support/callbacks.rb:93:in run_callbacks' from /Library/Ruby/Gems/1.8/gems/lolcommits-0.3.1/lib/lolcommits/runner.rb:33:inrun'
from /Library/Ruby/Gems/1.8/gems/lolcommits-0.3.1/bin/lolcommits:129:in do_capture' from /Library/Ruby/Gems/1.8/gems/lolcommits-0.3.1/bin/lolcommits:252 from /usr/bin/lolcommits:23:inload'
from /usr/bin/lolcommits:23

Someone could help me to know why this 'annotate' error is happening? Thanks!

GitHub for Mac doesn't always trigger lolcommits

Not sure exactly why, but lolcommits isn't always triggered when running GitHub for Mac. Restarting seems to fix it however.

When this happens the following is put in console.log:

17/10/2012 11:26:08.845 GitHub[12301]: Error: animationCompletionBlock didn't complete!

no such file to load -- rmagick (LoadError)

Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in gem_original_require': no such file to load -- rmagick (LoadError) from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:inrequire'
from /Users/johanbruning/.git_hooks/post-commit//lolcommit:4

I'm using rbenv & ruby 1.9.3-p125.

I have homebrew installed & rmagick

Used the rake install method.

A test file with the following code:

#!/usr/bin/env ruby

require 'rubygems'
require 'RMagick'
require 'git'
require 'choice'
include Magick

puts "great success!"

Works flawlessly.

What am I doing wrong ?

dotcom plugin dies with broken pipe in ruby-2.0.0

See https://travis-ci.org/mroth/lolcommits/jobs/4880736 for an example

The relevant error:

233 /home/travis/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/net/http/generic_request.rb:184:in `write': Broken pipe (Errno::EPIPE)
234 from /home/travis/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/net/http/generic_request.rb:184:in `copy_stream'
235 from /home/travis/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/net/http/generic_request.rb:184:in `send_request_with_body_stream'
236 from /home/travis/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/net/http/generic_request.rb:114:in `exec'
237 from /home/travis/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/net/http.rb:1410:in `block in transport_request'
238 from /home/travis/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/net/http.rb:1409:in `catch'
239 from /home/travis/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/net/http.rb:1409:in `transport_request'
240 from /home/travis/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/net/http.rb:1382:in `request'
241 from /home/travis/.rvm/gems/ruby-2.0.0-rc1/gems/rest-client-1.6.7/lib/restclient/net_http_ext.rb:51:in `request'
242 from /home/travis/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/net/http.rb:1375:in `block in request'
243 from /home/travis/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/net/http.rb:851:in `start'
244 from /home/travis/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/net/http.rb:1373:in `request'
245 from /home/travis/.rvm/gems/ruby-2.0.0-rc1/gems/rest-client-1.6.7/lib/restclient/net_http_ext.rb:51:in `request'
246 from /home/travis/.rvm/gems/ruby-2.0.0-rc1/gems/httparty-0.10.2/lib/httparty/request.rb:91:in `perform'
247 from /home/travis/.rvm/gems/ruby-2.0.0-rc1/gems/httparty-0.10.2/lib/httparty.rb:456:in `perform_request'
248 from /home/travis/.rvm/gems/ruby-2.0.0-rc1/gems/httmultiparty-0.3.8/lib/httmultiparty.rb:81:in `post'
249 from /home/travis/.rvm/gems/ruby-2.0.0-rc1/gems/httmultiparty-0.3.8/lib/httmultiparty.rb:54:in `post'
250 from /home/travis/build/mroth/lolcommits/lib/lolcommits/plugins/dot_com.rb:15:in `run'
251 from /home/travis/build/mroth/lolcommits/lib/lolcommits/plugin.rb:29:in `execute'
252 from /home/travis/build/mroth/lolcommits/lib/lolcommits/runner.rb:96:in `block (2 levels) in <module:Lolcommits>'
253 from /home/travis/.rvm/gems/ruby-2.0.0-rc1/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:420:in `_run__321297534__run__1047259538__callbacks'
254 from /home/travis/.rvm/gems/ruby-2.0.0-rc1/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:405:in `__run_callback'
255 from /home/travis/.rvm/gems/ruby-2.0.0-rc1/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:385:in `_run_run_callbacks'
256 from /home/travis/.rvm/gems/ruby-2.0.0-rc1/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:81:in `run_callbacks'
257 from /home/travis/build/mroth/lolcommits/lib/lolcommits/runner.rb:40:in `run'
258 from /home/travis/build/mroth/lolcommits/bin/lolcommits:148:in `do_capture'
259 from /home/travis/build/mroth/lolcommits/bin/lolcommits:282:in `<main>'

investigate repackaging as a homebrew package

I believe most of the usage is mac-centric, so having a homebrew package could reduce the amount of steps required for install (by making imagemagick a dependency, etc) and possibly make things simpler w/r/t RVM and the whatnot.

Need to do some research on this, figure out how libraries / gem dependencies could be packaged...

Took a snapshot, but no lol

When I committed to my git repo after installing lolcommits, it took a snapshot, but there was no lol.

The snapshot was created, I see it in ./lolcommits/<project_name>/tmp_snapshot.jpg but there is no SHA file and the commit message does not appear in the snapshot.

request to make lolcommits installable via homebrew

request from @josegonzalez make lolcommits a homebrew installable package.

long term plan to get this going, work in progress, a lot of this has to happen in sequence....

  • imagesnap recipe updated in homebrew (pull request sent Homebrew/legacy-homebrew#8357 )
  • get pull request icefox/git-hooks#2 accepted and merged (allows for symlinked files to be hooks)
  • create githooks formula for homebrew, get merged into master (starting on this at https://github.com/mroth/homebrew/blob/master/Library/Formula/git-hooks.rb )
  • change Rake installer for lolcommits
    • use brew installer for imagesnap and git-hooks
    • install into /usr/local/bin
    • symlink into actual directory
  • create versioned binary version of lolcommits
  • change install script for lolcommits to be a brew recipe
    • dependencies on imagemagick, etc
    • figure out rubygem depenecies (homebrew handles this with :ruby ?)
    • install version from binary instead of HEAD
    • bin.install lolcommits into main path
    • symlink into .githooks
    • need cleanup to remove symlink
    • caveat message to tell people to run githooks --install in any git directory they want it in

find pure ruby replacement for imagemagick/rmagick

They are the standards of the industry, but it's by far where most of the dependency chain comes from. Something that could be handled just via a ruby gem (ideally one without native extensions, but if that's needed and it compiles cleanly, so be it, it can at least be version managed via bundler).

Requirements:

  • Ability to resize an image (potentially with selective cropping for aspect ratio correction).
  • Ability to composite text on top of an image, at arbitrary coordinates, using a supplied truetype font.
  • Ability to style text with an outside "stroke" in an arbitrary color.

Thus far I can't find anything to do this, so leaving this as an open issue as a reminder.

Directory names with spaces do weird things

If the directory the git repository is in has a space in it, lolcommits creates the wrong directory and fills it with images.

Say the directory is called Lol Commits...

When a commit is made, 2 directories are created Lol and Lol Commits.
Lol Commits has a small directory named tmpdir??? where the ? are numbers.
Lol is filled with jpgs numbered sequentially. The longer you let it run before aborting (^C) the more images it stores. For the the short time I let it run, it create over 100 jpgs.

I don't normally use spaces in git repos, and I have renamed the folder in this particular case to avoid it.

easier setup

my life is busy, I want to install this w/o having to understand how github post commit hooks work, am I lazy - oh yeah you bet ya, still, seems useful.

Fails after mountain lion install

/Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick2.bundle, 9): Library not loaded: /usr/lib/libltdl.7.dylib (LoadError)
Referenced from: /usr/local/lib/libMagickCore.5.dylib
Reason: image not found - /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick2.bundle
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in require' from /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick.rb:11 from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in require' from /Library/Ruby/Gems/1.8/gems/lolcommits-0.2.0/lib/lolcommits.rb:8 from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in require' from /Library/Ruby/Gems/1.8/gems/lolcommits-0.2.0/bin/lolcommits:7 from /usr/bin/lolcommits:19:inload'
from /usr/bin/lolcommits:19
[webapp eacb6a8] derp2
1 file changed, 1 insertion(+)

Library not loaded: /usr/local/lib/libMagickCore.4.dylib (LoadError)

I installed imagemagick with brew but I'm having a strange issue still:

/Users/jpsilvashy/.rvm/gems/ruby-1.9.2-p290/gems/rmagick-2.13.1/lib/RMagick2.bundle: dlopen(/Users/jpsilvashy/.rvm/gems/ruby-1.9.2-p290/gems/rmagick-2.13.1/lib/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libMagickCore.4.dylib (LoadError)
  Referenced from: /Users/jpsilvashy/.rvm/gems/ruby-1.9.2-p290/gems/rmagick-2.13.1/lib/RMagick2.bundle
  Reason: image not found - /Users/jpsilvashy/.rvm/gems/ruby-1.9.2-p290/gems/rmagick-2.13.1/lib/RMagick2.bundle
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /Users/jpsilvashy/.rvm/gems/ruby-1.9.2-p290/gems/rmagick-2.13.1/lib/RMagick.rb:11
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require'
    from /Users/jpsilvashy/.git_hooks/post-commit//lolcommit:4

Not sure what to do, I tried unlinking and reinstalling imagemagick with no luck.

issues with tower.app (was: Plugins not working)

I added the following to my config.yml file.

--- 
tranzlate: 
  enabled: true
loltext: 
  enabled: true

And it seems the image isn't getting the translated commit message added, I don't know whether my images should be renamed as well but I only ever have the one image, tmp_snapshot.jpg

Problems setting up lolcommits on Linux

Hello,
I'm trying to set up lolcommits but whenever I do gem install lolcommits I get:

ERROR: Error installing lolcommits:
ERROR: Failed to build gem native extension.

    /home/andrei/.rvm/rubies/ruby-1.9.3-rc1/bin/ruby extconf.rb

Full stack here : http://paste.opensuse.org/81537435

I have all dependencies installed and also ruby-1.9.3-p194-dev. Am I missing something ?

Thanks!

Newer versions of ImageMagick (OSX)

I must have updated brew or something, but now I can't do anything with lolcommits because the version of ImageMagick I have is too recent. Here is the error I get:

/Users/Alex/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': This installation of RMagick was configured with ImageMagick 6.7.5 but ImageMagick 6.7.7-6 is in use. (RuntimeError)

I can't seem to be able to downgrade my install of ImageMagick easily with brew.

What is the fix for this?

Fail gracefully when camera goes missing

I use lolcommits on my laptop. At the office, my docking station has a webcam attached, and all goes well, but when on the go, there's no webcam, and lolcommits fails noisily. This means I have to disable lolcommits (and then remember to re-enable it later) any time I commit outside the office.

lolcommits should fail gracefully, perhaps with a WARNING message, when the webcam is unavailable (or provide the option to do so)

Captures empty image when using external iSight camera

Yes, it's probably my fault for having an older Cinema Display screen that doesn't have a built-in camera, but I wanted to give this a go anyway. It looks like it never turns on the external iSight camera, so the resulting image is a big black rectangle with the commit message stamped on it.

There's probably some humor value there, but not exactly what I'd hoped for.

ImageMagick Error on commit (OSX)

*** Preserving this moment in history.
/Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick.rb:1635:in read': unable to open image/Users/Burton/.lolcommits/skeleton/tmp_snapshot.jpg': No such file or directory @ error/blob.c/OpenBlob/2614 (Magick::ImageMagickError)
from /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick.rb:1635:in initialize' from /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick.rb:1634:ineach'
from /Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick.rb:1634:in initialize' from /Library/Ruby/Gems/1.8/gems/lolcommits-0.1.4/lib/lolcommits.rb:123:innew'
from /Library/Ruby/Gems/1.8/gems/lolcommits-0.1.4/lib/lolcommits.rb:123:in capture' from /Library/Ruby/Gems/1.8/gems/lolcommits-0.1.4/bin/lolcommits:102:indo_capture'
from /Library/Ruby/Gems/1.8/gems/lolcommits-0.1.4/bin/lolcommits:186
from /usr/bin/lolcommits:19:in `load'
from /usr/bin/lolcommits:19
[master a6be094] Woot
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test3.php

rebase creates multiple lolcommits

As reported by @nibblebot, doing a rebase to rewrite history triggers lolcaptures for every commit, which means it can go off a zillion times for a large rebase. We should detect a rebase and not figure lolcommits on commits occuring as part of a rebase.

LOLCOMMITS IS SECRETLY PHONING HOME OMG

I too like data, but phoning home on every commit is not cool. Especially that you're not mentioning this on the README or ask people if they're OK with it.

Apart from that I salute you for creating lolcommits, for it has made my life more hilarious :-)

P.S.
I wish lolcommits would be used more :(

No method error in tranzlate

When I enable the options to translate into lolspeak (export LOLCOMMITS_TRANZLATE=1) and attempt to make a commit, I get this stack trace. My webcam does not turn on. It works perfectly without tranzlate turned on.

/var/lib/gems/1.8/gems/lolcommits-0.1.4/lib/tranzlate/lolspeak.rb:85:in `tranzlate': undefined method `sample' for ["teh"]:Array (NoMethodError)
    from /var/lib/gems/1.8/gems/lolcommits-0.1.4/lib/tranzlate/lolspeak.rb:84:in `each'
    from /var/lib/gems/1.8/gems/lolcommits-0.1.4/lib/tranzlate/lolspeak.rb:84:in `tranzlate'
    from /var/lib/gems/1.8/gems/lolcommits-0.1.4/lib/tranzlate/lolspeak.rb:98:in `tranzlate'
    from /var/lib/gems/1.8/gems/lolcommits-0.1.4/lib/lolcommits.rb:69:in `capture'
    from /var/lib/gems/1.8/gems/lolcommits-0.1.4/bin/lolcommits:102:in `do_capture'
    from /var/lib/gems/1.8/gems/lolcommits-0.1.4/bin/lolcommits:186
    from /var/lib/gems/1.8/bin/lolcommits:19:in `load'
    from /var/lib/gems/1.8/bin/lolcommits:19

This on Ubuntu 10.10, lolcommits installed from gem.

all lolcommits commands spam about system_timer on ruby 1.8.7

Faraday: you may want to install system_timer for reliable timeouts

related to the faraday gem on ruby 1.8.7... need to figure out if message can be suppressed, or if we can have the lolcommits gemspec only require system_timer on ruby 1.8.7 so we don't install it unnecessarily in 1.9.x

storing lolcommits directly in git

possibly the image could be stored by cgit:
git notes --ref lolcommits add --file=

i didn't notice the git gem supporting git notes atm. next step would obviously be to request github to show the lolcommits from repos. they currently support text notes (https://github.com/blog/707-git-notes-display), but no mention of image notes (yet!), didn't try either though.

fail at resize image

my commits go through, but lolcommits explodes when it tries to resize the image. logs below:

~/Code/iOS/StepOut
‣ export LOLCOMMITS_DEBUG=1                                                                                                                                              master ↑
~/Code/iOS/StepOut
‣ lolcommits --test -c                                                                                                                                                   master ↑
Outputting at DEBUG verbosity
*** Capturing in test mode.
Runner: Making sure user isn't rebasing
Plugin: Lolcommits::Tranzlate: Initializing
Plugin: Lolcommits::Tranzlate: Disabled, doing nothing for execution
*** Preserving this moment in history.
Capturer: initializing new instance #<Lolcommits::CaptureMac:0x007fa46298c520>
Capturer: making system call for /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/lolcommits-0.4.3/lib/lolcommits/../../vendor/ext/imagesnap/imagesnap -q "/Users/Ohayon/.lolcommits/test/tmp_snapshot.jpg" -w 0 
Runner: resizing snapshot
/Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/mini_magick-3.5.0/lib/mini_magick.rb:167:in `create': MiniMagick::Invalid (MiniMagick::Invalid)
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/mini_magick-3.5.0/lib/mini_magick.rb:76:in `read'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/mini_magick-3.5.0/lib/mini_magick.rb:137:in `block in open'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/mini_magick-3.5.0/lib/mini_magick.rb:136:in `open'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/mini_magick-3.5.0/lib/mini_magick.rb:136:in `open'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/lolcommits-0.4.3/lib/lolcommits/runner.rb:71:in `resize_snapshot!'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/lolcommits-0.4.3/lib/lolcommits/runner.rb:52:in `block in run'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:414:in `_run__4010056221761920250__run__103071466313927965__callbacks'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:405:in `__run_callback'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:385:in `_run_run_callbacks'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:81:in `run_callbacks'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/lolcommits-0.4.3/lib/lolcommits/runner.rb:41:in `run'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/lolcommits-0.4.3/bin/lolcommits:146:in `do_capture'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/gems/lolcommits-0.4.3/bin/lolcommits:294:in `<top (required)>'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/bin/lolcommits:19:in `load'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/bin/lolcommits:19:in `<main>'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in `eval'
    from /Users/Ohayon/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in `<main>'

loaderror on windows

I followed the install guide but I'm getting this error when I do lolcommits --enable:

$ lolcommits --enable
c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require':
126: The specified module could not be found.   - c:/Ruby193/lib/ruby/gems/1.9.1
/gems/rmagick-2.13.1/lib/RMagick2.so (LoadError)
        from c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:i
n `rescue in require'
        from c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:i
n `require'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1/lib/RMagick.rb:1
1:in `'
        from c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:i
n `require'
        from c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:i
n `require'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/lolcommits-0.1.3/lib/lolcommits
.rb:8:in `'
        from c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:i
n `require'
        from c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:i
n `require'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/lolcommits-0.1.3/bin/lolcommits
:7:in `rescue in '
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/lolcommits-0.1.3/bin/lolcommits
:3:in `'
        from c:/Ruby193/bin/lolcommits:19:in `load'
        from c:/Ruby193/bin/lolcommits:19:in `'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.