Giter Site home page Giter Site logo

git-together's People

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

git-together's Issues

Latest release seg faults on Catalina

Hey there,

We noticed today that running git with no arguments segmentation faults on our newer workstations. This has already been fixed, per issue #45, but the latest release (v0.1.0-alpha.21) available to brew install doesn't contain this fix. Could ya'll cut a new release and update the tap?

Alternatively, if you have guidance on another way we should be installing, we can follow that, but we're kinda hesitant to install the necessary Rust tooling to compile from source on our workstations.

  • Nat from CF R&D

Add license

We should probably add a license since we use this regularly.

libssl could not be loaded

As in issue #37, I receive an issue after install via the tap:

dyld[65451]: Library not loaded: '/usr/local/opt/[email protected]/lib/libssl.1.1.dylib'
  Referenced from: '/opt/homebrew/Cellar/git-together/0.1.0-alpha.24/bin/git-together'
  Reason: tried: '/usr/local/opt/[email protected]/lib/libssl.1.1.dylib' (no such file), '/usr/local/lib/libssl.1.1.dylib' (no such file), '/usr/lib/libssl.1.1.dylib' (no such file)
[1]    65451 abort      git-together

Opening a new issue to drive out instructions for a workaround or for a fix within this project.

Command to show currently set authors/pair

Maybe I'm missing it and it already exists, but I can't figure out an easy way to determine who the currently set author(s) are.

When I do git with sh km and then do git with, it shows all potential authors instead of the current ones. And I don't see any option like git with --list or git with -l. It would be nice to have.

git-author

Maybe support this functionality in git-together?

Configuration example

I just wanted to tell you I appreciate the characters from The Expanse as committers in the configuration example, it's nice to see you having fun ๐Ÿ‘จโ€๐Ÿš€ ๐Ÿš€.

git commit --amend

It appears that amend is adding multiple sign-offs.

commit 1a9462c67aa33c012727241759d31f0b8c36dcb6
Author: Larry Hamel <[email protected]>
Date:   Mon Jun 5 09:40:05 2017 -0700

    add Gogland ide prefs

    includes templates for ginkgo

    Signed-off-by: Todd Sedano <[email protected]>
    Signed-off-by: Larry Hamel <[email protected]>

Maybe this is due to the auto-rotation of the author and committer. We like the auto-rotation of the author and committer.

libssl path issue on Mac release

I'm seeing the following issue on my Macbook after install via the tap:

dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /Users/jamie/.brew/bin/git-together
  Reason: image not found
fish: 'git-together' terminated by signal SIGABRT (Abort)

I think this may be due to my brew prefix being pointed at my user directory. I am new to rust so I am not sure how rustc handles linking to paths for dynamic libraries. When I build the project local I have no trouble with the resulting binaries. I can also fix the issue by linking my user directory opt directory into /usr/local/.

May be a limited corner case but if you decide it's worth fixing I am happy to help debug further.

Git rebase

Hi,

I just played with git-together and tried git-together rebase -i, it looks like it maintains the existing author and committer.

For my current team, that behavior is really nice. I thought that maybe the committer would be reset by the current settings of git-together.

Were you planning on changing it?

don't error when git-together.active git config is not found

Thanks for making this tool. It's been very helpful for growing collaborative practices in my org.

A paper cut felt among engineers relates to the practice of aliasing git with git-together and interacting with repositories that have opted out if git together config. The UX looks a bit like this atm

git commit -m "making changes"
Error: error getting git config for 'git-together.active'
Caused by: config value 'git-together.active' was not found; class=Config (7); code=NotFound (-3)

which causes friction and friction is a turn off for wider adoption. It would be great if instead this tool emitted a warning so that its visible that this repo a person is interacting with is not yet configured for git-together but allowed the git process to continue

segmentation fault after upgrading to macOS Catalina

We're reproduced this on a couple of iMacs - git-together was previously installed (under macOS Mojave), then started showing segfaults after the upgrade to Catalina. It does appear that the git-together commands work, since the terminal integration showing the active pair does show it changing, even after the segfault message. Not sure if the warning about the panic from calling git-together with no arguments is normal, or connected to the same segfault issue.

ยฑ lw |master {7} โœ“| โ†’ git with lw ns
Segmentation fault: 11

ยฑ lw+ns |master {7} โœ“| โ†’ git-together
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /rustc/50f8aadd746ebc929a752e5ffb133936ee75c52f/src/libcore/macros.rs:41:40
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

ยฑ lw+ns |master {7} โœ“| โ†’ git --version
git version 2.24.1

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

cargo
Cargo.toml
  • error-chain 0.12
  • git2 0.14
github-actions
.github/workflows/ci.yml
  • actions/checkout v2
  • actions-rs/toolchain v1
  • actions-rs/cargo v1
  • actions/checkout v2
  • actions-rs/toolchain v1
  • actions-rs/cargo v1
  • actions/checkout v2
  • actions-rs/toolchain v1
  • actions-rs/cargo v1
  • actions/checkout v2
  • actions-rs/toolchain v1
  • actions-rs/cargo v1
.github/workflows/release.yml
  • actions/checkout v2
  • actions-rs/toolchain v1
  • actions-rs/cargo v1
  • actions/checkout v2
  • actions/create-release v1
  • actions/checkout v2
  • actions-rs/toolchain v1
  • actions-rs/cargo v1
  • actions/upload-release-asset v1
  • actions/upload-release-asset v1

  • Check this box to trigger a request for Renovate to run again on this repository

Feature request: display the current pair on the command line prompt

As a developer, I expect to easily see who is currently paired on my system.

Given I have already set a pair with 'git-together with ab cd'
When I type anything on the command prompt
Then I expect to see 'ab cd' on the command prompt.

Side note: I'm willing to update pivotal workstation-setup with git-together, I'd just like to see how to print this to the command prompt.

Make git command a config option

I've been trying to get magit (for emacs) and fugitive (for vim) to work well with git-together. One of the problems for both is that if they are launched and don't rely on aliases, then even if you change the "git binary" for those apps, it can't find the original git binary when using pass through commands. git-together assumes that git is in the current $PATH, so that breaks down when plugins are not using the default user's shell to exec commands. See #31 and #22 for examples.

One approach to fixing that could be to make the git binary configurable from here:

Command::new("git")

If this is set in the git-together config, this also could allow forwarding to other git proxy commands (like hub). I don't know when I'll have time to work on this, but opening the issue up for discussion.

Git-wide options and IntelliJ integration don't work

git-together assumes that the first argument is the subcommand, e.g. git commit [more args]. But options that apply to git as a whole rather than to a particular subcommand have to be specified before the subcommand. IntelliJ's git integration passes one such option: git -c core.quotepath=false commit --only -F <temp dir>/git-commit-msg-.txt -- <files to commit>. Because git-together assumes that the first argument is the subcommand, it doesn't apply signoffs when the above command is run.

I'm not sure what the best way to fix this is. The easy thing to do would be to search for commit-triggering subcommands anywhere in the argument list, but that could lead to false positives. The most correct thing to do would be to emulate Git's argument parsing. But that's a lot of extra complexity and would be likely to break if more git-wide options are added in the future.

error while loading shared libraries: api-ms-win-crt-math-l1-1-0.dll

When we tried to run git-together.exe on Windows, we got this error message:

C:/path/to/git-together.exe: error while loading shared libraries: api-ms-win-crt-math-l1-1-0.dll: cannot open shared object file: No such file or directory

We had to install the Visual C++ Redistributable for it to work.

So not really a bug, but perhaps update the README to mention this dependency?

Ensure git aliases are followed

git ci when aliased to git commit doesn't set signed-off by. This may not be possible with the current setup, but ideally these are resolved prior to proxying down to git.

Feature request: git-together with

As a developer, I expect to easily see who is currently paired on my system.

Given I have already set a pair with 'git-together with ab cd'
When I type 'git-together with'
Then I expect to see the name and email address for ab and cd

Could GIT_TOGETHER_GLOBAL be an environment variable?

see https://github.com/pivotal/git-author/issues/22 for a full reproduction of the real issue in our development environment.

In multi-repo development environments (all of CF) we'd like to be able to set authors for all repos globally, every time. We also use git aliases heavily. git-author fits most of our needs, but leaves a small gap where using git with ab cd can set local repo state. Once that state is set, it frequently sticks around and sneaks into our commit messages. We'd like to effectively disable running git with without the --global flag, and it seems like an environment variable would make that really easy.

Exit code from git is not forwarded

git diff --quiet should return an exit code of 1 when a difference exists. When it's aliased to git-together, it always returns an exit code of 0.

Feature request: git-together pair ab cd

As a developer, I expect to easily set who is currently paired on my system.

When I type 'git-together pair ab cd'
Then I expect them to be paired

Sidenote: I'm worried about this confusing people who have been using git pair and them not realizing that something different is going on. I'm not sure how to handle this.

Occasional failure to swap committer/sign-offer

Experienced on Windows 10 with git-together release 11.

Seems to be intermittent--usually works, and this is after the commit;

 2017-04-19 16:32:50 โ˜†  EUROPA-WIN10 in /mnt/c/Users/pivotal/workspace/<snip>
ยฑ md+al |benchmark S:1 โœ—| โ†’ git commit -m "Add <snip>"
[benchmark 0272f8c] Add <snip>
 Author: <snip>
warning: CRLF will be replaced by LF in benchmark/benchmark.ps1.
The file will have its original line endings in your working directory.
 1 file changed, 24 insertions(+)
 create mode 100644 benchmark/benchmark.ps1
error: error setting git config 'git-together.active': 'al+md'
caused by: [2/-1] failed to rename lockfile to '/mnt/c/Users/pivotal/workspace/<snip>/.git/config': Permission denied

 2017-04-19 16:33:04 โ˜†  EUROPA-WIN10 in /mnt/c/Users/pivotal/workspace/<snip>
ยฑ md+al |benchmark โœ“| โ†’

Windows support

Spinning Windows releases would be mega useful!

Appveyor?

Linux support

Hi!

I'd like to be using git-together while coding on Linux.
Currently (version 0.1.0-alpha.26) the binary is a Mach-O 64-bit arm64 executable

file  /home/linuxbrew/.linuxbrew/Cellar/git-together/0.1.0-alpha.26/bin/git-together
/home/linuxbrew/.linuxbrew/Cellar/git-together/0.1.0-alpha.26/bin/git-together: Mach-O 64-bit arm64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|PIE|HAS_TLV_DESCRIPTORS>

I'm quite capable to build in rust, and make it available in Linux, but I don't know how to make a PR that actually fixes it for Linux users with homebrew.

Alternatively, I'm happy to document building from source in the README, so users on all platforms can benefit.

`git revert --abort` doesn't work with `--signoff`?

We hadn't set our git with when we ran git revert --abort and it said:

โ†’ git revert --abort
error: error getting git config for 'git-together.active'
caused by: [7/-3] config value 'git-together.active' was not found

Then we set our git with and tried again:

โ†’ git revert --abort
fatal: revert: --signoff cannot be used with --abort

Our workstations is macOS,

โ†’ git-together --version
git version 2.13.0

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.