jzempel / continuity Goto Github PK
View Code? Open in Web Editor NEWA strategy for continuous development, inspired by GitHub Flow.
License: Other
A strategy for continuous development, inspired by GitHub Flow.
License: Other
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.
...for starting from a non-integration branch.
Steps to duplicate:
continuity init
a repo for githubcontinuity init
repo for github againResult: Invalid GitHub credentials.
Workaround: goto token settings, delete repo token, and try again.
Thanks.
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
continuity 'git-finish' should behave like 'git-merge'
I got a little function happy in here. Use a better CLI class inheritance model.
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.
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
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)
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.
# 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
...to allow setting an estimate from the command line.
To solve for gitpython-developers/GitPython#687
TypeError("PackingType of packed-Refs not understood...)
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
...should respond with "fatal: Not a git repository" like other commands.
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
https://help.github.com/articles/merging-a-pull-request
https://github.com/blog/1335-tidying-up-after-pull-requests
This mirrors the "Merging via command line" instruction provided by GitHub and should prevent the "Closed with unmerged commits" message on closed pull requests.
i.e. git checkout -b temp
&& git issue
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.