GithubHelp home page GithubHelp logo

continuity's Introduction

continuity: Continuous dev flow via GitHub Issues, Pivotal Tracker, or JIRA.

Inspired by GitHub Flow (https://guides.github.com/introduction/flow)


The Concept
===========

This is a re-summarization of GitHub Flow:
- Anything in the 'master' branch is deployable.
- All new work is created with a 'issue' branch off of 'master' (or an
  integration branch).
- In process work is regularly committed locally and pushed to a remote 'issue'
  branch.
- When the 'issue' branch is ready for review, open a pull request.
- Once the 'issue' branch is reviewed, merge it into 'master' (or an
  integration branch).
- Ideally, 'master' will be deployed as soon as an 'issue' is merged and pushed.

The first and last of these points are informed primarily by The Lean Startup
Movement. If you haven't already, buy and read the book by Eric Ries
(http://theleanstartup.com). Seriously, do that now. Then come back here when
you're inspired to continuously build-measure-learn.

The middle four points are covered by continuity. Once a git repository is
configured for continuity; issue management, branching, pull request review, and
merging are a breeze. And it's all handled at the command line using custom git
commands. So you're not bouncing around between github.com, pivotaltracker.com,
JIRA, and your code in order to get things done. Stay in the zone!


The Installation
================

Simple with pip:

$ pip install continuity

Better with brew:

$ brew tap jzempel/formula
$ brew install https://raw.github.com/jzempel/homebrew-formula/master/continuity.rb

To configure a repository for continuity, run the following command:

$ continuity init


The Interface
=============

init
    Initialize a git repository for use with continuity.

start (aliased by init as git-start)
    Start a branch linked to an issue/story.

commit
    Augments issue/story commit messages with a pre-commit-msg hook.

review (aliased by init as git-review)
    Open a GitHub pull request for issue/story branch review.

finish (aliased by init as git-finish)
    Finish an issue/story branch.

tasks (aliased by init as git-tasks)
    List and manage issue/story tasks.

* with GitHub Issues or JIRA configuration:

issues (aliased by init as git-issues)
    List open issues.

issue (aliased by init as git-issue)
    Display issue branch information.

* with Pivotal Tracker configuration:

backlog (aliased by init as git-backlog)
    List backlog stories.

story (aliased by init as git-story)
    Display story branch information.


Check out the documentation (http://pythonhosted.org/continuity) for more
details.

continuity's People

Contributors

jzempel 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

Watchers

 avatar  avatar  avatar

continuity's Issues

PyPI package name

Hey Jonathan,

I'm interested in the name 'continuity' on PyPI for a new project.

I saw that your last release was in 2017, so I wonder if you're still using this package?

If not, would you mind to freeing up this name and transfer the ownership to my account (samuel.burbulla)?

Would be glad to hear from you!

Best,
Samuel

Unable to interactive rebase

On attempt to git rebase -i [<commit>] with message edits.

Traceback (most recent call last):
  File "/Users/jzempel/.virtualenvs/pw/bin/continuity", line 9, in <module>
    load_entry_point('continuity==0.4.2', 'console_scripts', 'continuity')()
  File "/Users/jzempel/.virtualenvs/pw/lib/python2.7/site-packages/continuity-0.4.2-py2.7.egg/continuity/cli.py", line 795, in main
    commands[command].__call__(args)
  File "/Users/jzempel/.virtualenvs/pw/lib/python2.7/site-packages/continuity-0.4.2-py2.7.egg/continuity/cli.py", line 58, in _commit
    configuration = git.get_configuration("branch", git.branch.name)
  File "/Users/jzempel/.virtualenvs/pw/lib/python2.7/site-packages/continuity-0.4.2-py2.7.egg/continuity/git.py", line 44, in branch
    return self.repo.head.ref
  File "/Users/jzempel/.virtualenvs/pw/lib/python2.7/site-packages/GitPython-0.3.2.RC1-py2.7.egg/git/refs/symbolic.py", line 244, in _get_reference
    raise TypeError("%s is a detached symbolic reference as it points to %r" % (self, sha))
TypeError: HEAD is a detached symbolic reference as it points to 'e039ccc12c43f4b49aaac65dbbbcfb8111525160'
Could not amend commit after successfully picking e039ab5... [close #13] Remove icon
This is most likely due to an empty commit message, or the pre-commit hook
failed. If the pre-commit hook failed, you may need to resolve the issue before
you are able to reword the commit.

Pyinstaller Issue

Traceback (most recent call last):
  File "<string>", line 11, in <module>
  File "/private/tmp/continuity-20160927-71796-32nlb8/continuity-0.10.1/pyinstaller-3.1/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
  File "pkg_resources/__init__.py", line 68, in <module>
  File "pkg_resources/extern/__init__.py", line 60, in load_module
ImportError: The 'packaging' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.
pyi_rth_pkgres returned -1

Is this ready for use?

I installed with brew but I see I got the issue you just fixed a few hours ago... How stable is this? Should I just clone your repo and keep pulling updates or do you have a roadmap of changes that it would be better to wait on?

I just started making a small set of tools that let me keep up with branches named like {prefix}PT12345. So I can have feat-PT12345 (for feature stories) or fix-PT12345 (for bugs) and the output from my git commands gets parsed for ^.*?PT(\d+) and injects the full story title. Currently it caches stories locally so it's not hitting PT every time you look at a list of branches. Looks like your tools have a LOT more power and I'd love to try them out :)

(And I'm glad I'm not the only one that sees the benefit of coupling all this together in a work flow.)

For posterity, here was my error that looked like it matched up with your last fix...

Traceback (most recent call last):
  File "<string>", line 16, in <module>
  File "build/build/pyi.darwin/continuity/outPYZ1.pyz/continuity.cli", line 766, in main
  File "build/build/pyi.darwin/continuity/outPYZ1.pyz/continuity.cli", line 641, in init
  File "build/build/pyi.darwin/continuity/outPYZ1.pyz/continuity.cli", line 388, in _init_github
  File "build/build/pyi.darwin/continuity/outPYZ1.pyz/continuity.github", line 474, in create_token
TypeError: unbound method _request() must be called with GitHub instance as first argument (got str instance instead)

Prevent git-start from a non-integration branch

All git start commands should branch off the continuity.integration-branch configuration. Branching topics and sub-topics is something you can decide to do on your own, but it isn't in the spirit of GitHub Flow.

Explicitly import sys.exist

# git start 299
Retrieving issue EGMT-299 from JIRA for hasun...
Traceback (most recent call last):
  File "<string>", line 16, in <module>
  File "/private/tmp/continuity-oPLR/continuity-0.8.2/build/continuity/out00-PYZ.pyz/continuity.cli", line 134, in main
  File "/private/tmp/continuity-oPLR/continuity-0.8.2/build/continuity/out00-PYZ.pyz/continuity.cli.commons", line 83, in __call__
  File "/private/tmp/continuity-oPLR/continuity-0.8.2/build/continuity/out00-PYZ.pyz/continuity.cli.jira", line 359, in execute
NameError: global name 'exit' is not defined

git-issues not handling unicode characters

Traceback (most recent call last):
  File "<string>", line 16, in <module>
  File "continuity/cli/__init__.py", line 134, in main
  File "continuity/cli/commons.py", line 85, in __call__
  File "continuity/cli/github.py", line 186, in execute
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2318' in position 9: ordinal not in range(128)
main returned -1

Traceback on git commit

I just did a "sudo yum update" on an ec2 instance, and now continuity is throwing this error on a git commit:

Traceback (most recent call last):
  File "/usr/bin/continuity", line 9, in <module>
    load_entry_point('continuity==0.9.8', 'console_scripts', 'continuity')()
  File "/usr/lib/python2.6/dist-packages/pkg_resources/__init__.py", line 521, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.6/dist-packages/pkg_resources/__init__.py", line 2632, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.6/dist-packages/pkg_resources/__init__.py", line 2312, in load
    return self.resolve()
  File "/usr/lib/python2.6/dist-packages/pkg_resources/__init__.py", line 2318, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.6/site-packages/continuity/cli/__init__.py", line 12, in <module>
    from .commons import get_commands
  File "/usr/lib/python2.6/site-packages/continuity/cli/commons.py", line 15, in <module>
    from continuity.services.commons import ServiceException
  File "/usr/lib/python2.6/site-packages/continuity/services/commons.py", line 14, in <module>
    from requests.packages.urllib3 import disable_warnings
ImportError: No module named packages.urllib3

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.