Sublime Forum

Github repo(s) for packages

#1

I like the way Textmate handles its public repo on Github:

github.com/textmate

Each bundle has its own repo. Could we have something like that for Sublime? Github would be a good choice because I think Mercurial can work with Github, no? I see we have a subversion repo, but SVN is pretty sucky for this kind of highly collaborative development, while Git is ideally suited.

Thoughts?

Charles

0 Likes

#2

If we would switch to something else, I would vote for Mercurial.
There’s nothing important which Mercurial cannot handle - in fact I think both are equal in terms of necessary functionality.
AFAIK using a Git repo from Mercurial is still a little messy…
On top of that I feel that the UI of Mercurial is much more intuitive and easier to use (apart from being easily scriptable within Python).

0 Likes

#3

What VC you use is more down to personal preference than anything else. Personally I prefer git because GitHub absolutely shits on BitBucket and Launchpad which are both atrocious in comparison.

0 Likes

#4

I too prefer Git, simply because it’s what I use. I tried both, and liked both equally, but Git won for me because of its popularity. But like Anomareh says, it’s down to personal preference. Mac vs PC, Emacs vs Vim, Colgate vs Macleans. I suggested Git because:

  • It’s popular (in my work as a web designer and developer, I often see Git repos and rarely see Mercurial ones).

  • There is a Hg-Git Mercurial plugin
    in active development, which means you can use Git repos using Hg.

  • Github seems to be pretty much universally accepted (admittedly judging from my shallow googly research) as preferable to Bitbucket. I’ve not used Bitbucket enough to say either way. But again, Github certainly seems more popular.

With TortoiseGit on Windows, SmartGit on Windows/Mac/Linux, and various GUIs on Mac, Git is also very easy to use these days (ease-of-use is something Hg had over Git, no?).

If Jon wants to attract lots of developers, then going for the popular choice with the ‘best’ source code hosting service would seem optimal. Github mirrors could be set up in SVN and Mercurial, so it would be the best of all worlds.

0 Likes

#5

I second the idea of moving the community repo to GitHub or Bitbucket. Personally, I prefer Bitbucket. One objective advantage of Mercurial is that they commit to support Windows too, whereas I don’t think that’s the case for git (however good its Windows support might be through 3rd party tools).

I suppose it wouldn’t be too hard to keep several repos in sync for reading, but how about writing? Wouldn’t you need to know the “native” repo’s tool --git or Mercurial?

0 Likes

#6

(I say this as a hg user, but just for education)

hg-git allows mercurial to pretty much work fully with git repos. I don’t know of a tool for git users that gives them such support for hg.

So, as an hg user but as a sublime lover moreover, I’d say github is a better choice (and yes, github is much nicer than bitbucket), as it allows hg users and git users to coexist nicely.

0 Likes

#7

I’m sure it has shortcomings. The IronLanguages devs (IronRuby and IronPython) maintain repos in GitHub and Bitbucket, but use advanced features of hg to commit to the Bitbucket mirror. I don’t know how they export those changes to the master repo, though, or whether using patch queues is better for integration with git or just more convenient for them. But I don’t think they use hg-git at all. So I anticipate the hg-git extension won’t solve all problems. I mention this as a side note; I don’t have any first-hand experience with that extension.

Anyway, is it worth organizing a poll? I think Google has a tool for that. Or is everyone convinced GitHub’s the way to go?

0 Likes

#8

Honestly any of those advanced features that might not be available, I doubt any would be really necessary in the first place. It’s just a plugin repository. Should be fine as long as you can pull, push, and merge.

As far as GitHub vs BitBucket, I think one of GitHub’s great features that would make this a lot easier to manage is it’s organization’s feature. Just as is used by TextMate. As many people as necessary can be added to the organization and along with it comes fine grained access controls for each member and much easier management of the repos. Instead of having one user having to pull everything in, everything can be organized under the organization and multiple people can help out. Also all the repos will be under the ST organization so if someone runs out of time to contribute it’s not tied to their account and it won’t be some crazy nightmare trying to get everything under someone else’s account. As far as I know BitBucket has nothing like this and personally I view this feature as invaluable in such a community project.

A small aside, Git is officially supported on Windows via msysgit and cygwin.

0 Likes

#9

Agreed.

Sounds pretty awesome.

I’ve tried the portable version os msysgit and it worked pretty well for me.

I’m not very fond of the idea of having to learn git, but it’s obvious that GitHub has advantages over Bitbucket, and the hg-git extension might make things easy for everybody.

So has the decision been made?

0 Likes

#10

Would seem so :]

Hope no one minded but I went ahead and set it up. https://github.com/SublimeText. Let me know your username on GitHub and I’ll add you as an owner guillermooo.

I guess a few things to that need to be discussed.

  • Other owners.

  • Repo naming conventions.

0 Likes

#11

I’ve just signed up as guillermooo.

0 Likes

#12

Added.

Also I was just wondering, I don’t think there is but do we have an IRC channel? Would anyone else use it? I’m on IRC pretty much 24/7 and a Sublime channel would be pretty nice.

0 Likes

#13

That wouldn’t exactly help me quit my addiction to Sublime! :smiley:

Might be a good idea, but I hardly use IRC these days myself…

0 Likes

#14

I would like to share my LaTeX plugin (new and improved for ST2). But, I am a total github noob!

How should I proceed? My github userid is msiniscalchi

Thanks!

0 Likes

#15

Hrmm, messing around a bit not sure, there are a few methods just not sure which would be the best. Also I think we should knock out a quick naming convention for repos so things will be organized before we start adding repos to the org.

The few methods I’ve discovered are:

1) Create a team with the pull-push-admin (just going to refer to this as the ppa team from now on) permission. This permission allows members of the team to create/modify/delete any repos owned by the team. A possible undesired side effect, it seems users of the team with this permission are also able to add and remove people from the team.

2) A member of the owner or ppa team can fork the user’s personal repo into the organization. The user can then commit to their personal repo and send pull requests to the organization repo for members of the owner or ppa team to accept or deny. The only thing that makes this seem odd to me is the work flow of sending pull requests to a fork from the originating repo.

3) The user can create a personal repo of the plugin. Then a member of the owner or ppa team can clone it locally and then create the repo in the organization. The user can then delete their personal repo, fork the organization repo, and send pull requests. This method seems pretty contrived and messy although the end result seems the best.

4) Users can be added to a team with the pull-push permission. Then they’d have to request a member of the owner or ppa team to create a repo for them. Once that is done they’ll be able to pull and push to the repo.

It seems the ideal method would be just being able to grant specific users the permission to create and manage only their repos within the organization but I don’t think there is any way to do this. It seems only teams can be granted permissions.

0 Likes

#16

Go ahead make my day:

github.com/organizations/new

0 Likes

#17

Github seems more geared towards web development projects.

Anyways just try to make it simple so that people do share there plugins!

0 Likes

#18

FYI, my LaTeX plugin for ST2 is now on my personal GitHub repo, at

git://github.com/msiniscalchi/LaTeX-ST2.git

(public URL). I’ll be happy to move it (as anomareh describes in #2, or some other way) to the public “tree” as soon as that’s set up.

0 Likes

#19

I created github.com/sublimeplugins
Please leave here your username if you want to join.

We should discuss how we can manage different plugins (one repo or many repos) and how is the best way to get them installed. A plugin installer could be nice. Please share your ideas.

My prefered way would be to set the User folder under git and use git submodule to add plugins (like you do it in vim). In this case the developer should change the behaviour of the plugin loading (all folders in the User folder should be scanned for plugins or as a alternative a plugin config file).

0 Likes

#20

ms4py,

There’s something similar available already:

Would that work for you?

0 Likes