FredrikNoren / ungit

The easiest way to use git. On any platform. Anywhere.
MIT License
10.44k stars 637 forks source link

Idea: Teaching mode (reverse history, description hidden, diff shown) #723

Open gittaca opened 8 years ago

gittaca commented 8 years ago

Hello,

the contribution guide doesn't mention ideas and there doesn't seem to be a label for them. Apologies if this is not the right place to propose far-out ideas, but I had to post this somewhere. Also, ungit seems to be the closed match & thus best basis to realise this idea :-)

So, what I have in mind is a "teaching" or "read-only" which (visualised below) by default:

  1. reverses the commit order, so that the earliest one is at the top
  2. hides commit descriptions, because they are useful for teachers to provide hints or further explanations that the learners should try to get by without (GitHub does this with the […] buttons)
  3. shows the diff, because together with the commit message, it constitutes the learning goal
  4. focus the UI only on the selected/expanded commit. Others could be selected by pressing the up- or down-key, j or k, etc. so that learner could tab through the commits.

ungit-teaching-mode

This idea came out of a discussion on Diaspora and a partial demo on GitHub. Please check those out for more details.

I hope this all makes sense and that you find it worthy of discussion and consideration. Thanks for any feedback :-)

jung-kim commented 8 years ago

I do see benefits of "Educational mode" but I'm not sure if this should be in the main ungit project. If requirement for this gets out of hand it maybe best to have it as separate branch project of ungit.

campersau commented 8 years ago

More keyboard shortcuts would be nice though. Which is already tracked in #38

jung-kim commented 8 years ago

I have been doing lot's of ADD drive development where priorities are often over looked and simply jumped on something shiny and interesting. Will try to focus on older tickets soon but feel free to flag the ones you feel essential.

Except for undo... Cause that thing is tricky and I'm scared of it...

gittaca commented 8 years ago

OK, a fork then. Do you think it's possible with half to a full semester of introductory CS50 study? I'd be happy to try it as a final project.

jung-kim commented 8 years ago

@gittaca Could you clarify what you mean? Do you mean to ask if requested changes you have listed in this issue can be done via students in the listed class above?

If that is what you are asking, yes I believe it is doable assuming students have some knowledge in Javascript and git.

gittaca commented 8 years ago

Ah, I meant "halfway through a semester". I'm the student ;-)

jung-kim commented 8 years ago

Sure, I be happy to answer your questions or give you a run down of code structure but please be your own judge of your own academic integrity as I don't have enough contexts.