First off, we need to slow down significantly as we do not have an general 
clear consensus about doing this move. A few people are yelling we should 
move to GH, and a lot of the same people are acting like has been decided 
when it has not. We should make a formal vote once a more concrete proposal 
has been placed forward.

On Tuesday, September 13, 2022 at 4:36:04 AM UTC+9 Matthias Koeppe wrote:

> On Saturday, September 10, 2022 at 7:39:10 AM UTC-7 Travis Scrimshaw wrote:
>
>> [........] There are lots of technical issues and questions I have that 
>>> [I cannot] easily find after skimming through things for a few minutes.
>>>
>>
> Everything about GitHub has excellent documentation, and we have an 
> executive summary now at 
> https://github.com/sagemath/sage/wiki/migration-from-trac-to-Git**b, with 
> pointers to the relevant bits.
>

This is still does not contain much of any details about the collaboration 
process. It is basically contains the simple single-author--single-reviewer 
model (that is easy to find) and a thesaurus of terms.

What happens when Bob works on a ticket, but then stops (say, it doesn't 
find a reviewer in time). Now Alice wants to make changes on top of that 
branch. How does Alice do that? I am particularly thinking about when this 
is *not* meant to be a PR review commit (say, it is working with a more 
substantial change or just cherry-picking some of the commits). When she is 
done, does she do a new PR? After doing quite a bit of digging, I finally 
found the answer:

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

So there is a mechanism for it, but it is not as straightforward as before. 
How do we deal with the PR pollution?

 
>
>> It stays there even if the user GitHub account is closed (the latter 
>>> triggers an automatic closure of the PR, but the underlying
>>> branch remains in the repo, it can be worked on just the same using git)
>>>
>>
>> Which repo? Either way, this seems like a regression compared to our 
>> current setup, where if a user quits, then branch, ticket, and everything 
>> remains.
>>
>
> No, this is an imaginary problem. The branch of the pull request persists 
> in the sagemath repo (see 
> https://github.com/sagemath/sage/wiki/migration-from-trac-to-Git**b, 
> which explains the name of the branch) even if the user and their repo 
> disappears.
>

Okay, thanks. The extra information clarifies things.

>
> Getting the login credentials was the biggest barrier; everything else is 
>>>> mostly straightforward and based on very simple git commands.  
>>>>
>>>
>>>> Right now, I find there are way too many practical questions and 
>>>> barriers for how we develop that make moving to Git**b a much bigger pain 
>>>> that people will think it is.
>>>>
>>>  
>>> Travis, many people nowadays never used git without GitHub or GitLab. 
>>> For such a person it's a major pain to 
>>> learn our workflow.
>>>
>>
>> Do you really believe that everyone is using the web interface to make 
>> edits to the code and not using some form of git locally (either command 
>> line or GUI based)? 
>>
> The web interface has major problems, such as not being able to run tests 
>> locally, in addition to being unwieldy with a project on the scale of Sage. 
>> Honestly, people really don't use "git pull", "git push", "git commit" when 
>> working with *Git*hub?
>>
>
> Nothing like this is being proposed. No, GitHub is not a replacement for 
> git. Yes, you will continue to use git commands to pull, push, commit.
>
> But people nowadays who start with GitHub never have to go through archaic 
> setup steps such as those that we document at 
> https://doc.sagemath.org/html/en/developer/trac.html#trac-authentication-through-ssh,
>  
> which --- even when it is working --- is major friction for the project.
>

I think it has been just far too long since you uploaded your ssh key to 
GH. The server cannot magically know your ssh public key. Yes, we don't 
have https support, but other than the most casual of contributors will use 
that for push/pull. I highly doubt anyone will use that feature with any 
serious commits.

It seems like there are just as many one-time setup costs needing to be 
done from the proposal document that require more explanation of what they 
do. I think you are making a distinction without a difference here.
 

> And people can use modern IDEs, in particular VS Code, which have 
> excellent integration with GitHub: see for example 
> https://code.visualstudio.com/docs/editor/github 
>

This is a good reason for switching (not that I use any of them).
 

> And yes, there's also a command-line interface to GitHub, see 
> https://trac.sagemath.org/ticket/34523, which does everything that "git 
> trac" can do and much more.
>

That isn't a good argument for me: I have always wanted to throw fire and 
holy water on those commands. ;) However, they did make it easier for 
people who were afraid to do https://imgs.xkcd.com/comics/git_2x.png.

>  
>
>> You need much more of a plan than simply saying "its easy because other 
>> people use it". 
>>
>
> Available now at 
> https://github.com/sagemath/sage/wiki/migration-from-trac-to-Git**b
>
> Thank you.

The downside (that will always remain to me) with GH/GL is anything with 
their web interface is highly decentralized, whereas with trac, things are 
highly concentrated on tickets, which are a single point of reference. 
Using the GH/GL model, we have all of these forks (which we have to tell 
newbies are not the same as branches and should not be used as such). There 
is also more manual things we have to type and sync subject to human (typo) 
error. This is likely manageable to me compared to some of the other 
benefits (although I will personally experience none of those). Despite 
this, I still have reservations about the increased pains of development 
from trying to fit a mostly square peg into a round hole, and subsequently 
am still opposed to the move (even assuming you are able to move the 
information on trac over).

Best,
Travis

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/289aebe9-8f62-434a-b190-be5dad1a3b2dn%40googlegroups.com.

Reply via email to