Giter Site home page Giter Site logo

gonzalo-bulnes / pair Goto Github PK

View Code? Open in Web Editor NEW
10.0 1.0 2.0 622 KB

๐Ÿ Pair seamlessly with Git when using Github

License: GNU General Public License v3.0

Makefile 2.41% Go 97.59%
pair-programming collaboration command-line-tool multi-platform

pair's Introduction

A pair emoji

Pair

Pair seamlessly with Git when using Github



You love attributing your pairs when committing together? We all do!

But writing names once and again is repetitive enough that we forget doing it, isn't it?

Not anymore! Start your pairing sessions and switch pairs with a simple ๐Ÿ command, while keeping control over your commit messages! Ready to get started?

Usage

pair with "Gonzalo <[email protected]>" # that's all!

# Wanna pair swap?
pair with "Alice <[email protected]>"

# Never stop pairing!
# Well, if you do:
pair stop

That sounds cool, how does it work?

Installation

Go Report Card Build Status

Binaries for official releases may be downloaded from the releases page on GitHub.

If you want to compile it from source, try:

go get github.com/gonzalo-bulnes/pair/...

For Unix/Linux users, you can install pair using the following command. You may want to change the version number in the command below from v1.0.0-alpha2 to whichever version you want:

curl -sL -o /usr/local/bin/pair \
    https://github.com/gonzalo-bulnes/pair/releases/download/v1.0.0-alpha2/pair-linux-amd64 \
 && chmod +x /usr/local/bin/pair

Contributing

GoDoc PRs Welcome

Whether it is your first pull request or your 100th, the contributing guidelines are here to help you get started!

Please note that by participating in this project, you agree to abide by its code of conduct. That is true for pull requests, and also when participating in issues.

Similar projects

You might also want to check git-pair, an independent project that seems similar in spirit to the approach proposed in #12. Also written in Go, it might be a nice opportunity to see different approaches to the same problem!

Made by fine people at the Recurse Center, the more the merrier! ๐Ÿ™

Credits

The pear emoji in the header was rendered from an SVG that belongs to Google and was published under the Apache License v2.0 as part of Noto Emoji.

Thanks to the team behind shush for their inspiring README!

License

Pair
Copyright (C) 2018 Gonzalo Bulnes Guilpain

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

pair's People

Contributors

gonzalo-bulnes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

aakn deeplow

pair's Issues

When using pair for the first time I get (error 20)

When the setting commit.template has never been set, Git returns an error when attempting to read it. It itself this is fine (it is how Git works after all), but it would be good if Pair coud handle the case more gracefully.

Workaround:

  1. run git config --global commit.template ~/.GIT_TEMPLATE
  2. then run pair with "Alice <[email protected]>" again!

The Makefile should use GOLANG_CMD consistently

Some targets of the Makefile use the GOLANG_CMD instead of directly calling go.

The GOLANG_CMD as it is defined at the top of the Makefile allows to execute go without having it installed, by using a Docker container instead. (That container is created from a lightweight official Docker image for Go.)

It is convenient, because it makes easy to change the version of Go if needed, and to ensure that everyone working on the project uses the same.

But not all the Makefile targets use it! (Oops! ๐Ÿ™„ ) Namely, install-for-testing and test should be refactored to use GOLANG_GMD.

Luckily, the pair-linux-amd64 target can be used as an example, and I'm happy to help if you want to pick this up ๐Ÿ™‚

Use prepare-commit-msg git hook rather than git templates to populate each commit

Populating the "co-authored-by" line using the prepare-commit-msg git hook, rather than git commit templates, would solve some problems related to managing/editing commit templates and, I think, would make pair behave correctly in more contexts. This would involve a substantial refactor, but I think it may be worth it. The prepare-commit-msg hook seems almost purpose-made for this use case.

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.