Code Monkey home page Code Monkey logo

gitorg's People

Contributors

mariocj89 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gitorg's Issues

Pull command

Brings locally new repos present in github but not locally.

Port to older versions of python

The new version of gitorg requires python3.6.

Consider porting to older versions of python if there is a usecase for it.

It takes down the fun of coding on it but many platforms don't have a 3.6 version installed.

gitorg push

Creates in the github organization the repos created locally

Status command

Status should return the status of the organisation locally.

It should print:

  • Repos in github but missing locally
  • Repos added locally but missing in github
  • Differences in the repo locally and in github (to be defined what differences)

Support `gitorg add` on a non initialized folder

Explore the idea of supporting gitorg add jumping over the gitorg init step.

Some users might use gitorg just to clone an organization of a user, for that usecase it might be simpler to just do gitorg add in a single command and the first one triggering an init.

gitorg pull

Create a new command that brings locally all repositories listed but not available locally.

Support folder renaming

At the moment when a folder is renamed locally, gitorg will report it as added and the original. Support some way to enable this.

As an example gitorg add github:python brings you locally all repositories from the python org. If you rename peps repository to python-pep gitorg will report it missing.

Solution: Explore the option of getting local names from the default git remote rather than the name of the folder. In the previous example, origin will still be python/pep

Reproduce:

gitorg init
gitorg add github:python
mv peps python-peps
gitorg status  # This will now report peps as missing

Include source information in gitorg status

When running gitorg status and a repository is missing, only "D reponame" appears, but there is no way to know where it comes from.

Include the list where it comes from on the side:
D reponame [github:org/*]

Report protocol when cloning a list

If a long list of repositories is being cloned the user gets no feedback on what is going on.
Add a progress bar to give the user the feeling the app is not just "stuck"

Configure default protocol

Allow the user to configure a default protocol.

For example if github is configured as such, the following will be identical:

gitorg add mariocj89
gitorg add github:mariocj89

Include git status in functionality

When performing gitorg status the app can also compare the main branch of the repo in github with the version locally, gitorg pull can bring those changes locally and gitorg push send them

User customization of protocols

Allow users to define their own protocols that inherit from github.

This should be configuration only and allow to override:

  • Token (To be produced via marioc89/github-token)
  • API_URL

As an example, a command like:

$ gitorg protocol create
> Choose a base protocol [github]:  github
> API_ENDPOINT: enterprisegithub.mycompany.com/api/v3/
> Do you want to generate a token to access the API? [Y/n]
> Choose a name for your new protocol: ghe

Will allow the user to later run:

gitorg add ghe:myuser

Note, this is a complex issue

Run action across all repositories

Implement a new command for gitorg that will run a shell action across all the repositories.

Example:
gitorg <new_name> ls .git will run ls .git in all repositories locally. Note this is different from just running a shell script in all local folders as not all files in a folder are git repositories. It will be identical though to run the command in all local git folders.

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.