Code Monkey home page Code Monkey logo

gh-repo-export's Introduction

Nice to meet you! πŸ‘‹

About me πŸ§‘β€πŸ’»

What are some honest, unfiltered things about you?
What drives you nuts?
  • Disorder, conflict, confusion, and ambiguity
  • Coordination and communication without visuals, documentation, roadmaps, agendas, and/or setting expectations
  • Inconsistency without exception and reasoning
What are your quirks?
  • I tend to step in and potentially overstep when I perceive disorder, conflict, confusion, or ambiguity; please believe this comes from a good place.
  • I am a very visual person πŸ–ΌοΈ and might need to sketch or diagram problems to understand them better.
  • I might jokingly πŸ˜† say I hate all programming languages or tools as a way of staying detached; they all have strengths, weaknesses, and idiosyncrasies.
  • I believe writing documentation or communications takes as much thought and effort as writing code; sometimes it takes time
What are some things that people might misunderstand about you that you should clarify?
  • Sometimes my πŸ€” face gets confused with my 😠 or 😑 face; being a πŸ‘¨β€πŸ¦² makes facial features more distinct but πŸ™‡ for patience

About my colleagues πŸ‘©β€πŸ’Ό

What qualities do you particularly value in your colleagues?
  • Proactive in communication and taking action
  • Prepared for events and discussions
  • Celebrate successes, achievements, and good fortunes of others
  • Genuine and introspective about who they are, where they come from, and what truly matters most to them
What do you wish colleagues didn’t do?
  • High-level planning and coordination efforts without data and/or roadmaps
  • Asking for help without relevant information provided upfront
How can people earn an extra gold star with you?
  • Be genuine celebrating others!
  • Be persistent in seeing a question answered or a problem solved!
  • Present short and long term solutions upfront; a majority of hard problems need both and this is often a cause of talking past one another!
  • Take and own responsibility actively!

About my interactions 🀝

How do you coach people to do their best work and develop their talents?
  • Celebrate others' efforts in channels / venues where their leaders can see and recognize it (Slack, formal accolade processes, etc)
  • Get to know colleagues (backgrounds, experiences, values, and aspirations) and include them in discussions and activities around them
  • Partner together on activities, training one another up in a safe space
  • Spend 1:1 time asking for feedback
What’s the best way to communicate with you?
  • Visuals are better than documentation, both are better than verbal knowledge sharing
  • Provide context, agendas, and any expectations prior to meetings so I can actively participate
  • Tell me how much time you need, so I can block that off for you especially; I prefer to be present for discussions as a courtesy for you
What’s the best way to convince you to do something?
  • Actively ask and engage me, give me space to ask questions
  • Demonstrate it is something everyone on the team and/or organization is doing
  • Affirm this is what will make me successful and celebrated
  • If there isn't data for this, then explicitly ask me for trust; this works especially when reciprocated if I need to ask for trust, too
How do you like to give feedback?
  • For feedback that might be potentially sensitive; personal; or emotional, I will ask for 1:1 time on video and might follow up with additional context after the conversation
  • I prefer giving feedback around the results of work and other external things as I try to disassociate people from the work done
  • I try to ask lots of questions because I really do want to understand; sometimes it’s a lot because situations are complex
How do you like to get feedback?
  • Help me feel like we collectively have something to improve and that we are in it together
  • Help me feel heard and understood even if you can't sympathize or empathize
  • Please reinforce the good things as much as improving others

gh-repo-export's People

Contributors

andyfeller avatar joshjohanning avatar timrogers avatar tspascoal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gh-repo-export's Issues

Update `gh api` calls in order to support Git Bash

Overview

In #7, @tspascoal made some initial changes to gh-repo-export for this to
work on Windows using Git Bash. This is based on discovery from
cli/cli#6415 where the leading slash of the API path
causes Windows to interpret it as a local file path.

This issue is to ensure these changes are implemented, tested, and released.

Action Items

Tasks

Add support for repository file and bulk or individual archiving option

Overview

There has been feedback from colleagues and users that a couple of additions to gh-repo-export would be welcomed:

  1. Being able to read the list of repositories from a file rather than arguments
  2. Being able to generate individual archive files rather than a bulk archive

This issue is for expanding gh-repo-export to support both of these enhancements along with updated documentation.

Action Items

Tasks

Discovery around command or documentation for unlocking repositories in certain situations

Overview

Thanks to feedback @esleyshaffer, it might be useful to expand on gh-repo-export tool to include documentation if not functionality around unlocking previously locked repositories in the case of rollback.

Using the "Unlock an organization repository
" endpoint, someone might want to delete the locks placed during a gh repo-stats --lock-repositories run. This should be easy enough to add except for reworking the option handling nature of the script.

Action Items

Tasks

Implement essential CI/CD workflows

Overview

There are no GitHub Actions workflows for gh-repo-export, which doesn't help pull requests from contributors.

While I figure out how to safely provide workflows that cannot be subverted, I want to have some basic essential checks including shellcheck and maybe actionlint.

Action Items

Tasks

macOS: declare: -A: invalid option

The latest update to support a repos.txt file broke on my machine :(

$ gh repo-export joshjohanning-org repos.txt
Reading repositories from file: repos.txt
/Users/joshjohanning/.local/share/gh/extensions/gh-repo-export/gh-repo-export: line 142: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]

Looks like this might not work out of the box for macOS without updating bash?

My bash version:

$ bash --version
GNU bash, version 3.2.57(1)-release (arm64-apple-darwin22)
Copyright (C) 2007 Free Software Foundation, Inc.

https://stackoverflow.com/questions/6047648/associative-arrays-error-declare-a-invalid-option
https://www.ianoutterside.com/bash-invalid-option/

I can probably update my bash, but I'm assuming others may run into this as well. Unsure if there is a different way to solve this without using the declare -A command?

Add support for secure token storage

Token storage change in latest release of gh

This is a message from the GitHub CLI team, maintainers of gh, writing to inform you that the most recent release of gh contains changes which may affect your extension. The latest release introduces the feature of storing authentication tokens in the system keyring (encrypted storage) instead of in a plain text file.
The keyrings that are supported are:

  • Keychain on macOS

  • GNOME Keyring on Linux (Secret Service dbus interface)

  • Wincred on Windows

This has huge security benefits for the users of our tool and was one of our oldest outstanding issues. Unfortunately this change has the potential to break extensions that rely on utilizing the users authentication token to work.

In order to have continued compatibility with gh there are some actions you, as an extension author, need to take. These actions will depend on the implementation of your extension.

Extensions built in Go using go-gh:

  1. Upgrade your go-gh version to v1.2.1, the latest version.

  2. Verify that in your extension retrieval of the user authentication token is done using the auth.TokenForHost function.

    • If you were previously accessing the authentication token using any other method it will no longer work.
    • Automatic resolution of the authentication token when using the API clients will continue to work without changes.

All other extensions:

  1. Verify that in your extension retrieval of the user authentication token is done by shelling out to the gh auth token command.

    • If you were previously accessing the authentication token using the gh config get command, reading the configuration file directly, or any other methods it will no longer work.

As of right now storing the authentication token in the system keyring is an opt-in feature, but in the near future it will be required and at that point if the changes above are not made then your extension will be broken for all users. If you have any questions/concerns about this change please feel free to open a discussion in the gh repo.

Thanks,
The GitHub CLI Team

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.