Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bulk edit repos #51

Closed
Bluscream opened this issue Jul 7, 2018 · 9 comments
Closed

Bulk edit repos #51

Bluscream opened this issue Jul 7, 2018 · 9 comments

Comments

@Bluscream
Copy link

Bluscream commented Jul 7, 2018

Let me explain a little background, recently i was sued by some company and the police didn't tell me more than that it was about some "github repo". In order to be cooperative and increase my chances of the lawsuit being dropped i decided to not delete my account but rather get github premium and make all my repos private until i get information what repo this stuff is about. After purchasing premium i was shocked to see that it doesn't apply to all organisations (i have many repos outsourced) and that i can't bulk edit my stuff. The police was kind enough to tell me that it was one of the repos on my account so i was not worried about the orgs anymore but i had to go through the process of editing the setting of 200+ repos by hand which was kind of a pain in the ass and took me some time but i did it anyway for legal reasons. Now that the case has been dropped i don't need github premium anymore, i had more time and a free head to think about it. I contacted github support about that and asked them why there is no way to bulk edit your stuff because the FAQ states that i will loose all private repos when my gh premium status gets revoked for whatever reason. They said they can't do sh*t and gave me some API endpoints, but i don't feel confident enough to do anything with it so i wanted to ask you if you could help me (and maybe others that want to switch from premium to free and have a bunch of repos on private) by creating something to convert multiple repos at once. I don't really care if it's a "bot" or a website or a userscript.

email-convo

grafik

grafik

@Mottie
Copy link
Owner

Mottie commented Jul 7, 2018

Hi @Bluscream!

I don't have any private repos, so I don't know the process of converting repos from private to public. I wouldn't think it would be difficult. I'm not sure how I can help.

@Bluscream
Copy link
Author

I can give you temporary access to my account if that helps :)

@Mottie
Copy link
Owner

Mottie commented Jul 7, 2018

LOL, no don't do that.

I saw this documentation - https://help.github.com/articles/making-a-private-repository-public/

If you need a userscript to fill in the input, just give me the id of that input.

@Bluscream
Copy link
Author

Bluscream commented Jul 7, 2018

If you need a userscript to fill in the input, just give me the id of that input.

Wouldn't that only make 1 repo public?

anyway:

input of repo name:

<input class="form-control input-block" autofocus="" required="" pattern="[oO][bB][sS]-[cC][oO][nN][fF][iI][gG]|[bB][lL][uU][sS][cC][rR][eE][aA][mM]/[oO][bB][sS]-[cC][oO][nN][fF][iI][gG]" aria-label="Type in the name of the repository to confirm that you want to change the visibility of this repository." name="verify" type="text">

box: with button:

<li class="Box-row">
          

      <details class="details-reset details-overlay details-overlay-dark">
        <summary class="btn btn-danger boxed-action">Make public</summary>
        <details-dialog class="anim-fade-in fast Box Box--overlay d-flex flex-column" role="dialog">
          <div class="Box-header">
            <button class="Box-btn-octicon btn-octicon float-right" type="button" aria-label="Close dialog" data-close-dialog="">
              <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"></path></svg>
            </button>
            <h3 class="Box-title">Make this repository public</h3>
          </div>
          <div class="flash flash-full flash-warn">
            <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg>
            Listen up! This is a potentially destructive action.
          </div>
          <div class="Box-body overflow-auto">
            <ul class="ml-3">
                <li>The code will be visible to everyone who can visit https://github.com</li>
                <li>Anyone can fork your repository.</li>
                <li>Your changes will be published as activity.</li>
            </ul>
          </div>
          <div class="Box-body">
            <p>Please type in the name of the repository to confirm.</p>
            <!-- '"` --><!-- </textarea></xmp> --><form class="js-normalize-submit" action="/Bluscream/obs-config/settings/toggle_permission" accept-charset="UTF-8" method="post"><input name="utf8" value="" type="hidden"><input name="authenticity_token" value="kNY7/==" type="hidden">
              <p>
                <input class="form-control input-block" autofocus="" required="" pattern="[oO][bB][sS]-[cC][oO][nN][fF][iI][gG]|[bB][lL][uU][sS][cC][rR][eE][aA][mM]/[oO][bB][sS]-[cC][oO][nN][fF][iI][gG]" aria-label="Type in the name of the repository to confirm that you want to change the visibility of this repository." name="verify" type="text">
              </p>
              <div class="full-button">
                <button type="submit" class="btn btn-block btn-danger" data-disable-invalid="" data-disable-with="" disabled="">I understand, make this repository public.</button>
              </div>
</form>          </div>
        </details-dialog>
      </details>

    <strong>Make this repository public</strong>
      <p>
          Make this repository visible to anyone.
      </p>


        </li>

@Mottie
Copy link
Owner

Mottie commented Jul 7, 2018

Ok, try this:

// ==UserScript==
// @name        GitHub Add Repo Name to Change Visibility
// @version     0.1.2
// @description A userscript that adds your repo name to the visibility dialog
// @license     MIT
// @author      Rob Garrison
// @namespace   https://github.com/Mottie
// @include     https://github.com/*
// @run-at      document-idle
// @require     https://greasyfork.org/scripts/28721-mutations/code/mutations.js?version=597950
// @icon        https://assets-cdn.github.com/pinned-octocat.svg
// ==/UserScript==
(() => {
	"use strict";

	function addName() {
		const name = document.getElementById("rename_field");
		if (name) {
			document.querySelector("form[action$='toggle_permission'] .input-block").value = name.value;
			const btn = document.querySelector("form[action$='toggle_permission'] .btn-danger");
			btn.removeAttribute("disabled");
			btn.removeAttribute("data-disable-invalid");
		}
	}

	document.addEventListener("ghmo:container", addName);
	addName();
})();

@Mottie
Copy link
Owner

Mottie commented Jul 7, 2018

And yes, it will only work on one repo at a time... I haven't looked to see how to automate the action using the API as I don't have any way to test the code.

@Bluscream
Copy link
Author

What's your email?

@Mottie
Copy link
Owner

Mottie commented Jul 7, 2018

It's on my bio page: https://github.com/Mottie

I really don't want access to your accounts.

@CollinChaffin
Copy link
Contributor

Sorry to chime in @Bluscream but something does not sound right to me in what you're describing as I have legal experience and any "suit" (and you seemed to be stating that the police served you) would clearly have provided (it's the law) the "complaint" which would have had to detail at the very least what software product it involved.

Just my opinion Rob but IMO, I too would be VERY skeptical of touching his repos in any way because to me, barring additional details, it sounds much more like a pending criminal investigation than a typical lawsuit - and probably NOT something anyone else needs to get involved with right now and muddy the water.

@Mottie Mottie closed this as completed Jul 31, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants