If Push, what happens if the user has pushed (and conflicted somehow)
Automatic or manually-trigger actions?
What am I not considering / thinking of
**Please use this thread to send me thoughts ideas. Please don’t use it to debate those ideas I want to hear opinions, not find conclusions, so please stick to one post per person, which you update if your ideas evolve/change! **
If you don’t mind, could you expand more? What’s the motivation? How will it be (intended to be) used?
Will it sync the local workspace for an exercise? Or the solutions on the website under a user profile? First I assumed the former, but on re-read “will sync all your solutions” I guess the latter.
Thanks for commenting. It syncs your solutions to GitHub, so that you have a backup/showcase of them away from Exercism. It’s something a lot of people do manually.
It syncs your solution. I hadn’t thought about the workspace too. That’s interesting and I’d be interested in hearing opinions on that.
On the commits idea, that’s interesting. I’d like to hear other people’s opinions on that too! :)
I’d also like it to sync the local workspace so you have the test suite at the time of the iteration. Old solutions may not pass the current test suite on the website so it’d be important to have the original test suite on hand.
Having the repo on the personal account means the user can also make changes to the repo which may conflict. Would it make more sense to have a private repo on the Exercism org for each Insider that’s read-only for them. Then, they can fork it and do whatever they want with it, but that original repo will always be there and up-to-date if there are any issues.
I like the idea over all and I hope it also brings things a bit closer to having the “easy diff view” potentially as well to the platform.
I am one of those that encourage students to retain their iterations in a version control system (often Git, but I really do not care what they chose), and I also keep a git backup of the student iterations (and conversations) so that I can easily see their progression locally, with diff views, helping me evaluate where they have been, the moves they have made (as snapshots of time) and I can present side by side direct comparisons of things.
For my own iterations, I create the git history as I develop in my own environment for any language that gets past “topical interest” so keeping versions is natural in those, but is other wise pretty “forced” if I want it for the topical interest tracks. This would help to cross that barrier for me, and would easily allow me to have no barrier in terms of effort to benefit.