Giter Club home page Giter Club logo

pulla's Introduction

Pulla

Join the chat at https://gitter.im/shubhamchaudhary/pulla

PyPI Version PyPI Downloads PyPI License GitHub tag GitHub release

Build Status Travis-CI Coverage Status Build Status Snap-CI Circle CI Requirements Status

GitHub issues Stories in Ready ![Stories in Progress](https://badge.waffle.io/shubhamchaudhary/pulla.png?label=in progress&title=In Progress)

Are you tired of doing git pull into all your git folders to keep them updated.

With Pulla we present a solution to you:

Pulla lets you pull code into all subfolder containing git projects.

Usage

code $  ls
vdm                   wordpowermadeeasy

code $  pulla
wordpowermadeeasy:  Success
vdm:                Success

code $  pulla --verbose
Directory is:  ~/code/
----------------------
vdm : git pull --verbose
----------------------
remote: Counting objects: 69, done.
remote: Compressing objects: 100% (58/58), done.
remote: Total 69 (delta 40), reused 0 (delta 0)
Unpacking objects: 100% (69/69), done.
From bitbucket.org:varunest/vdm
   88fc178..371f66f  master     -> origin/master
Updating 88fc178..371f66f
Fast-forward
 app/src/main/AndroidManifest.xml                                            |   8 +-
 app/src/main/java/com/example/videodownloadmanager/MainActivity.java        |  38 ++--
 app/src/main/java/com/example/videodownloadmanager/PlaceholderFragment.java |  15 +-
 app/src/main/res/drawable/action_bar_icon.png                               | Bin
 app/src/main/res/menu/main.xml                                              |  14 +-
 app/src/main/res/values/styles.xml                                          |   5 +-
 6 files changed, 87 insertions(+), 22 deletions(-)
 create mode 100644 app/src/main/java/com/example/videodownloadmanager/Constants.java
 mode change 100644 => 100755 app/src/main/res/drawable/action_bar_icon.png
----------------------
wordpowermadeeasy : git pull --verbose
----------------------
remote: Counting objects: 47, done.
remote: Compressing objects: 100% (31/31), done.
remote: Total 47 (delta 12), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (47/47), done.
From github.com:shubhamchaudhary/wordpowermadeeasy
 = [up to date]      master     -> origin/master
 = [up to date]      fullscreen -> origin/fullscreen
 * [new branch]      wordnik    -> origin/wordnik
Already up-to-date.
----------------------

code $ pulla -h

Installation

Pulla is available from PyPi

# pip install pulla

Contributors

Checkout CONTRIBUTION.md file

wercker status

pulla's People

Contributors

ylogx avatar tanjot avatar waffle-iron avatar gitter-badger avatar

Stargazers

Marcin Bielak avatar Sahil Dua avatar MR.LI /MR LEE avatar davidteren avatar Morton Fox avatar TJ Atterberry avatar  avatar  avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

pulla's Issues

Refactor move status formatting function

Shouldn't the function which formats status in pulla.py be a part of utils.py.

 def get_formatted_status_message(self, directory, status_msg):
        format_string = '{0:<' + str(self.max_dir_length + 10) + '} {1:<10}'
        return format_string.format(os.path.join(directory), status_msg)

all.PHONY in Makefile

all.PHONY gives error: **make: * No rule to make target `all'. Stop.
Using .PHONY:all resolves the error.

Also, if found this comparison between .PHONY:target and target:.PHONY @https://goo.gl/9RX0Wo

Should the usage be reversed?

Close issue # 11

The work for logging is done. For improvements we have issue # 16.

Verbosity level referred as 1, 2, 3

Instead of referring verbosity as 1, 2, 3 for 'low', 'medium' and 'high', it should be referred as verbosity_levels.low, verbosity_levels.medium and verbosity_levels.high with structure:

verbosity_levels = {'low':1,
                    'medium':2,
                    'high':3
                  }

Pulla messes up output in verbose mode due to multi threads

work  pulla --verbose
----------------------
----------------------
----------------------
----------------------
----------------------
----------------------
----------------------
----------------------
----------------------
----------------------
From github.com:health/Doppler_ServiceProc_Firmware
 = [up to date]      master     -> origin/master
From github.com:health/DisinfectionDashboard
 = [up to date]      master     -> origin/master
Already up-to-date.
Doppler_ServiceProc_Firmware         Success
----------------------
From github.com:health/API
 = [up to date]      master     -> origin/master
From github.com:health/E2E
 = [up to date]      master     -> origin/master
From github.comhealth/APIDocumentation
 = [up to date]      master     -> origin/master
From github.com:health/Chestnut_Portal
 = [up to date]      master     -> origin/master
 = [up to date]      ControllerWebApp -> origin/ControllerWebApp
From github.com:health/MonkeyRunner_Device_Tester
 = [up to date]      master     -> origin/master
Already up-to-date.
DisinfectionDashboard                Success
----------------------
Already up-to-date.
API                             Success
----------------------
From github.com:health/Doppler_Update_Java
 = [up to date]      master     -> origin/master
Already up-to-date.
E2E                                  Success
----------------------
Already up-to-date.
APIDocumentation                     Success
----------------------
Already up-to-date.
Chestnut_Portal                      Success
----------------------
Already up-to-date.
MonkeyRunner_Device_Tester           Success
----------------------
remote: Counting objects: 124, done.
remote: Compressing objects: 100% (75/75), done.
remote: Counting objects: 261, done.
remote: Compressing objects: 100% (231/231), done.
Already up-to-date. 50% (62/124), 132.00 KiB | 63.00 KiB/s
Doppler_Update_Java                  Success
----------------------
remote: Total 261 (delta 123), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (261/261), 118.51 KiB | 48.00 KiB/s, done.
Resolving deltas: 100% (123/123), done.
From github.com:health/Callisto
   9fc8586..7025dc5  master     -> origin/master
 = [up to date]      8.2_motor_com_fault_test -> origin/8.2_motor_com_fault_test
 = [up to date]      9.0_fault_test_code_for_card_271 -> origin/9.0_fault_test_code_for_card_271
 = [up to date]      9.0_pulse_latch_reset_test_for_eddie -> origin/9.0_pulse_latch_reset_test_for_eddie
 = [up to date]      9.1_fault_test_code_for_card_271 -> origin/9.1_fault_test_code_for_card_271
 = [up to date]      diag_refactoring -> origin/diag_refactoring
 = [up to date]      ioiofragmentactivity -> origin/ioiofragmentactivity
 = [up to date]      release_7.9 -> origin/release_7.9
 = [up to date]      release_8.0 -> origin/release_8.0
 = [up to date]      release_8.1 -> origin/release_8.1
 = [up to date]      release_8.2 -> origin/release_8.2
 = [up to date]      release_9.0 -> origin/release_9.0
 = [up to date]      release_9.1 -> origin/release_9.1

Refactor classnames

Class names should be capital and method names should be small as per pep8

Verbosity flag to log information at different levels

As discussed in issue #6 we should have an option to specify verbosity level via --verbosity flag.
Logging module can be used to make logging at different debug level easier.

Acceptance Criterion:

  • When I give --verbosity=2, I get more verbose details
  • Logging module method can be used to add verbose information at different levels like - verbose, info, debug, warning, error

Folder flag does not work

Folder flag --folder does nothing right now.

Output:

➜  pulla git:(master) pulla -f ~/code/work
➜  pulla git:(master)

Acceptance Criterion:
Whenever user specifies a folder with --folder flag, pulla changes runtime directory and does it's thing in that folder

Improvements for logging ref issue#11

  1. Use only 3 levels of logging to increase understanding

    • Low level: Show success/fail
    • Medium level: Show low level + verbose
    • High level: Show all logs
  2. Hide logging functionality outside the class

    • Use dictionary structure to list levels and reference outside
           LEVELS = {'high':logging.DEBUG,
                     'medium':logging.INFO,
                     'low':logging.WARNING
                     }
    

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.