GithubHelp home page GithubHelp logo

seyz / baboon Goto Github PK

View Code? Open in Web Editor NEW
120.0 120.0 9.0 327 KB

Detect source code merge conflicts in realtime. Simply get rid of merge hells.

Home Page: http://baboon-project.org

Python 100.00%

baboon's People

Contributors

bitdeli-chef avatar piwhy avatar raphdg avatar rhunter avatar seyz avatar superalex 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

baboon's Issues

Hidden files need to be ignore by default

During the initialization (or when you create a new file in the watched directory), the hidden files need to be ignore by default. The user can remove the ignore "flag" to watch the files he wants.

Shelve stacktrace ?

2012/09/28 18:10:52 INFO  Bye ! (MainThread/sigint_handler:166)
Exception TypeError: "'NoneType' object is not callable" in <bound method DbfilenameShelf.__del__ of {'db/migrate/20111011195702_share_anything.rb': 1348848651.511066, 'app/assets/images/branding/asterisk_white.png': 1348848651.511066, 'spec/shared_behaviors/stream.rb': 1348848651.511066, 'app/assets/images/buttons/[email protected]': 1348848651.511066, 'features/step_definitions/uri-step.rb': 1348848651.511066, 'app/views/conversations/_conversation.haml': 1348848651.511066, 'app/models/relayable_retraction.rb': 1348848651.511066, 'app/controllers/services_controller.rb': 1348848651.511066, 'app/assets/templates/flow_tpl.jst.hbs': 1348848651.511066, 'spec/helper_methods.rb': 1348848651.511066, 'app/views/notifier/comment_on_post.markerb': 1348848651.511066, 'app/assets/images/social_media_logos/tumblr-48x48.png': 1348848651.511066, 'config/locales/diaspora/lt.yml': 1348848651.511066, 'db/migrate/20110603212633_likes_dependent_delete.rb': 1348848651.511066, 'app/assets/javascripts/app/views/post-viewer/new_comment.js': 1348848651.511066, 'config/initializers/cors.rb': 1348848651.511066, 'app/assets/images/img/glyphicons-halflings-red.png': 1348848651.511066, 'spec/lib/stream/person_spec.rb': 1348848651.511066, 'app/models/notifications/comment_on_post.rb': 1348848651.511066, 'features/conversations.feature': 1348848651.511066, 'app/presenters/post_presenter.rb': 1348848651.511066, 'app/assets/images/static-loader.png': 1348848651.511066, 'config/locales/diaspora/nb.yml': 1348848651.511066, 'app/assets/images/icons/search_grey.png': 1348848651.511066, 'lib/salmon/salmon.rb': 1348848651.511066, 'config/locales/devise/devise.fr.yml': 1348848651.511066, 'app/views/comments/index.mobile.haml': 1348848651.511066, 'app/assets/javascripts/app/views.js': 1348848651.511066, 'app/models/user/querying.rb': 1348848651.511066,

Verification of node permission during the rsync.

During the first stanza sent for the rsync task, the node is given according to the config entry in the configuration file without any server-side verification (if the user is a subscriber on this node). It means that if the user changes the
value of the config entry to any node, the user will write the change in the directory of the chosen project.

Create method generate the following error.

~/projects/internal/baboon (master *) $ python bin/baboon create techta --path /tmp
Creation in progress...
Traceback (most recent call last):
  File "bin/baboon", line 7, in <module>
    Main()
  File "/home/raph/projects/internal/baboon/baboon/main.py", line 30, in __init__
    getattr(commands, self.which)()
  File "/home/raph/projects/internal/baboon/baboon/commands/commands.py", line 84, in create
    with AdminTransport(logger_enabled=False) as transport:
  File "/home/raph/projects/internal/baboon/baboon/transport.py", line 53, in __enter__
    self.open()
  File "/home/raph/projects/internal/baboon/baboon/transport.py", line 69, in open
    self.process(block=block)
  File "/home/raph/projects/external/SleekXMPP/sleekxmpp/basexmpp.py", line 191, in process
    self.plugin[name].post_init()
  File "/home/raph/projects/external/SleekXMPP/sleekxmpp/plugins/xep_0004/dataforms.py", line 50, in post_init
    self.xmpp.plugin['xep_0030'].add_feature('jabber:x:data')
KeyError: 'xep_0030'

Deal with pending subscription

We need to deal with pending subscription.

How to notify a project owner there's an new pending subscription ?
How to retrieve the list (xep 0050 normally) ?
etc.

What about add/remove spaces ?

What about detection conflict when you add/remove some spaces (e.g. at the end of the line) ?
Need a trim or not ?
Consider spaces like another letters or not ?

Windows support

We need to test if baboon works on Windows.

Baboon uses watchdog but it seems the windows support is not very good. Is it enough for our use cases ?

SIGINT support

Baboon needs to handle the sigint signal for a clean close.

Create a setup.json

Create a setup.json in order to install easily baboon and all its dependencies.

Detection of new file

When a new file is created on the watch project :

  • Add it to the watched directory

Use the xmpp presence

Print a log message (or something other later) when a user is connected. Same thing when the user is disconnected.

The xmpp presence can be useful for this task.

KeyError Exception during project deletion

I create a project foo with --nosave option.

So, my configuration file has no foo entry. Great.

I delete my foo project and I have this stacktrace:

Deletion in progress...
The project foo is successfuly deleted.
Traceback (most recent call last):
  File "bin/baboon", line 9, in <module>
    Main()
  File "/home/seyz/workspace/external/baboon/baboon/main.py", line 29, in __init__
    getattr(commands, self.which)()
  File "/home/seyz/workspace/external/baboon/baboon/commands/commands.py", line 125, in delete
    del config['projects'][project]
KeyError: 'foo'

Color logs

It will be cool to have some colors in the console logs.

Support deleted file

When a file is deleted, a diff must be generated with minus on all lines in order to detect conflict.

Check config file does not work with register

I have the following configuration file:

[server]
max_stanza_size = 65535
pubsub = pubsub.baboon-project.org
streamer = streamer.baboon-project.org
server = [email protected]/baboond

[user]
passwd = secret
jid = [email protected]

[cortex-web]
scm = git
path = /home/seyz/workspace/internal/cortex-web

# Example of project definition
#[awesome_project]      # The project name on the baboon server
#path = /pathto/project # The project path of your system
#scm = git              # The source code manager you use for this project
#enable = 1             # You want baboon to actually watch this project

I replaced 'server' entry by 'master' for testing and:

(baboon)seyz@dogwood ~/workspace/external/baboon (master) $ python bin/baboon register marci --nosave
Password: 
Confirm password: 

Registration in progress...
Traceback (most recent call last):
  File "bin/baboon", line 9, in <module>
    Main()
  File "/home/seyz/workspace/external/baboon/baboon/main.py", line 29, in __init__
    getattr(commands, self.which)()
  File "/home/seyz/workspace/external/baboon/baboon/commands/commands.py", line 43, in register
    transport = RegisterTransport(callback=_on_action_finished)
  File "/home/seyz/workspace/external/baboon/baboon/transport.py", line 426, in __init__
    super(RegisterTransport, self).__init__()
  File "/home/seyz/workspace/external/baboon/baboon/transport.py", line 45, in __init__
    self.server_addr = config['server']['master']
KeyError: 'master'

parse .gitignore

Baboon should only watched the files that doesn't match the patterns in the .gitignore file

parse .hgignore

Baboon should only watched the files that doesn't match the patterns in the .hgignore file

Create a difflib parser

I think that diff_match_patch is not adapted for the patch feature. It will be better to remove this dependency and to use the standard difflib library of python and create a difflib parser.

OSX support

We need to test if Baboon works well on OSX.

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.