Page MenuHomePhabricator

Consider setting a Diffusion mirror of GitHub's Quentinv57's-tools
Closed, ResolvedPublic

Description

Quentinv57 tools' http://tools.wmflabs.org/quentinv57-tools/ are currently useful for stewardrying and cross-wiki jobs, however https://tools.wmflabs.org/meta/crossactivity/Quentinv57 suggests that Quentin is no longer active on Wikimedia sites. It'd be useful if the source code of their tools could be put in Diffussion and patches accepted by this method, so that volunteers could work in the backlog of unfixed issues. It'd be useful to also add some active mantainers for the tools, so patches submitted to Diffussion could be reviewed and applied where appropriate, and later merged in the Labs repo. Thanks.

Edit: per discussion in this task, I'd like to request just the creation of the GitHub mirror as the mantainer feels confortable using GitHub for code-management.

Event Timeline

Side note: surprisingly, /data/project/quentinv57-tools has a .git directory, yet its .git/config has no upstream, and $ git log shows fatal: bad default revision 'HEAD' (meaning empty git repo?)

Before publishing the source code, if approved, the committee or the labs admins should be sure that no private data such as passwords, etc. are disclosed. Maybe the repo could be created with Striker here, but never used that tool before, so not sure. Regards.

Also, whichever is easier to contribute to. I'm used to Gerrit already, so maybe it's best; as Arcanist is not well developed for Windows (although one can submit patches created by git diff using Phabricator so no problems).

Before publishing the source code, if approved, the committee or the labs admins should be sure that no private data such as passwords, etc. are disclosed. Maybe the repo could be created with Striker here, but never used that tool before, so not sure. Regards.

Agreed. If hard-coded passwords are used, we might need to modify the code such that a separate file is used by the code in which the passwords are stored, and that file is in .gitignore

I think it is best if two people review the revised code to ensure it works and it doesn't contain hard-coded passwords, before we publish it online.

Side note: surprisingly, /data/project/quentinv57-tools has a .git directory, yet its .git/config has no upstream, and $ git log shows fatal: bad default revision 'HEAD' (meaning empty git repo?)

My initial thought was: well it is a local git repository, so why not just put that online by adding a remote? That way, Quentinv57's commits will be also available and people can see how the code had evolved.

There are two issues that come to mind:

  1. I don't know if running git remote add now will automatically import the previous commits to the history of that remote repository or not
  2. If the previous commits contain a file that has hard-coded passwords in it and we correct that as I mentioned above, we actually wouldn't want those commits to be imported. In which case it might make sense to just publish the code as a new git repository, after making the corrections.

Side note: surprisingly, /data/project/quentinv57-tools has a .git directory, yet its .git/config has no upstream, and $ git log shows fatal: bad default revision 'HEAD' (meaning empty git repo?)

Yes, the repository has no commits:

tools.quentinv57-tools@tools-bastion-03:~$ ls -lR .git/objects
.git/objects:
insgesamt 8
drwxrwsr-x 2 tools.quentinv57-tools tools.quentinv57-tools 4096 Jan  3  2014 info
drwxrwsr-x 2 tools.quentinv57-tools tools.quentinv57-tools 4096 Jan  3  2014 pack

.git/objects/info:
insgesamt 0

.git/objects/pack:
insgesamt 0
tools.quentinv57-tools@tools-bastion-03:~$

Just checking a more widely-used page, public_html/tools/sulinfo.php contains:

/*   ---------------------------------------------

Author : Quentinv57

Licence : GNU General Public License v3
			(see //www.gnu.org/licenses/)
			
Date of creation : 2011-08
Last modified : 2016-11-20 (by Alex Monk as tools admin, previous: 2012-01-26)

SULinfo TS tool
			
---------------------------------------------   */

(...so it has a license)
and

	$toolserver_mycnf = parse_ini_file("/data/project/quentinv57-tools/replica.my.cnf");
	$mysql = new MySQLi ('enwiki.labsdb',$toolserver_mycnf['user'], $toolserver_mycnf['password'], 'meta_p');
	unset($toolserver_mycnf);

(so hopefully few files contains secrets, if any)

The first file sorted alphabetically, public_html/tools/bothelper.php, is similar in both ways.

There is also something that may look like a core dump (I can't check with my personal account as it has no read permission):

12:00:02 0 ✓ zhuyifei1999@tools-bastion-02: (master) /data/project/quentinv57-tools$ stat public_html/tools/core
  File: ‘public_html/tools/core’
  Size: 10731520  	Blocks: 20960      IO Block: 1048576 regular file
Device: 22h/34d	Inode: 168563269   Links: 1
Access: (0600/-rw-------)  Uid: (51559/tools.quentinv57-tools)   Gid: (51559/tools.quentinv57-tools)
Access: 2016-10-23 18:46:10.241106489 +0000
Modify: 2016-01-21 19:13:34.653680041 +0000
Change: 2016-10-23 18:46:10.241106489 +0000
 Birth: -
12:00:08 0 ✓ zhuyifei1999@tools-bastion-02: (master) /data/project/quentinv57-tools$ file public_html/tools/core
public_html/tools/core: regular file, no read permission

I'll also note that all (or the majority) of the php files have mode 775 or 755. I'll guess the files were most likely created/edited on a windows machine then uploaded to tool labs.

Unless I miss anything, I don't see anything outside public_html that are noteworthy.

Uh, googling for Quentinv57 tools I see https://github.com/quentinv57-tools/tools, listing files from public_html/tools/ (but not anywhere else in public_html/). The repo unfortunately has 1 commit only, from @Cyberpower678 in 2014.

Since the repo has a free license then I guess there would be no problems to create a Diffussion repository for them? (via toolsadmin, not sure ping @bd808) Also, it lacks the .html file of the welcome page I think?

MarcoAurelio renamed this task from Consider publishing Quentinv57-tools' code on Diffussion and allow people to submit patches to them to Consider publishing Quentinv57-tools' code on Diffussion and allow people to submit patches to it via Differential.Feb 18 2017, 1:00 PM
scfc triaged this task as Medium priority.Feb 18 2017, 2:43 PM
scfc moved this task from Backlog to Ready to be worked on on the Toolforge board.

Guys, I'm still a maintainer here.

This tool cannot be considered abandoned if an active user still has access to the tools. What is it exactly that needs to be done here.

We ain't claiming that the tool is abandoned. We'd like the source code published and contributions allowed from Differential or Gerrit so development and bugfixing can happen.

According to http://tools.wmflabs.org/?list mantainers are @-jem- @Cyberpower678 and Quentin (w/o Phab account). I've added them to the Tool-Quentinv57's-tools project for reference.

Everything: from people not having an account there such as myself to forcing people to use a service which Wikimedia has no control over it (privacy, etc.). Also, the code at GitHub seems incomplete.

I've been a GitHub user for years now. That's what I'm most familiar with and am not to inclined to move it to a platform I am not familiar with. I can however complete the code if it's incomplete.

@MarcoAurelio We can setup a mirror of the upstream GitHub repo in Diffusion relatively easily. The semi-manual procedure for this is documented at https://wikitech.wikimedia.org/wiki/Toolsadmin.wikimedia.org/FAQ

If @Cyberpower678 is actively maintaining the tool I think he should have the ability to choose the primary version control hosting he wants to use.

I essentially rewrote lots of the code when I ported it to labs to enhance performance.

If @Cyberpower678 is willing to continue mantaining the tool and he prefers using GitHub for that I have no issues, although I still feel Gerrit/Diff would be more open for further contributions. That being said, if at least a mirror repo could be uploaded to Diffusion as we do with, ie, rTSTW, that'd be good. Thanks.

I have no objections to the mirror image.

MarcoAurelio renamed this task from Consider publishing Quentinv57-tools' code on Diffussion and allow people to submit patches to it via Differential to Consider setting a Diffussion mirror of GitHub's Quentinv57's-tools.Feb 18 2017, 5:04 PM
MarcoAurelio updated the task description. (Show Details)

@Cyberpower678 Then I think it's up to the mantainers to log in to toolsadmin.wikimedia.org and follow the instructions on the page mentioned by @bd808 above. Thanks.

I'm not familiar with that tool.

Cyberpower678
English Wikipedia Account Creation Team
English Wikipedia Administrator
Global User Renamer

Unfortunately while tools.stewardbots is also a mantainer of tools.quentiv57-tools, toolsadmin does not recognize tools as mantainers (T158478); so maybe @bd808 can do that given that there's no opposition to this.

Paladox renamed this task from Consider setting a Diffussion mirror of GitHub's Quentinv57's-tools to Consider setting a Diffusion mirror of GitHub's Quentinv57's-tools.Feb 18 2017, 6:26 PM
Paladox added a project: Diffusion.

Mirroring a GitHub repo is easy, rTVTC is one. See Striker FAQ for instructions. (Removing the projects as I don't find it relevant with self-served repo creation; revert if I'm wrong)

@Cyberpower678 I don't think anyone said the tool has been abandoned. Right to fork policy is different from Abandoned tool policy in that this is about publish-the-source-code (so anyone can fork it and make improvements to the code) instead of change-tool-maintainer-list.

Hi. This is a relatively easy task that can be handled through Striker via toolsadmin. Is it possible to get it done, then? Thanks!