On 26/05/2021 19:33, Felipe Contreras wrote: > Philip Oakley wrote: >> On 26/05/2021 03:53, Felipe Contreras wrote: >>> Andre Ulrich wrote: >>>> So the last point is where we still want to do some fine tuning. Right >>>> now this looks about: my prof fetches my edits and locally checks out >>>> a branch to compare the changes with git diff. >>>> But in this diff view you can't edit the files. So you have to >>>> separately open up another window to edit the changes (lets say my >>>> prof only wants to keep some of my changes, but not all). >>> So for example after fetching your changes your professor sees this: >> Part of Andre's problem was that this diff wasn't stable because the >> underlying file format is said to be json so items can move around >> without issue (e.g. key value pairs swapping position) and that they >> aren't really working on the json file (it may as well be binary..) but >> on the jupytper notebook display view, so one step removed from the 'diff'. > Andre said they use the diff view, and he wants to be able to edit it. > Not sure how else would you interpret "But in this diff view you can't > edit the files". > In https://lore.kernel.org/git/20210524061355.Horde.I7EpK9A1l-KtI_TwFo97eNd@xxxxxxxxxxxxxxxxxxx/ Abdre did say they used the special jupyter notebook diff viewer. > ..diffing and merging of notebooks is another story (but we can handle that with nbdime) [...] > - my prof reviews the changes and accepts them (if I have done acceptable work) So the last point is where we still want to do some fine tuning. Right now this looks about: my prof fetches my edits and locally checks out a branch to compare the changes with git diff. > But in this diff view you can't edit the files. So you have to separately open up another window to edit the changes (lets say my prof only wants to keep some of my changes, but not all). So while the notebook format is internally text based json, it's not suitable for real review and editing *in context*, so a different diff mechanism is used. Their other problem is the splitting apart of the changes, so the worktree needs to hold only the staged part of the changes, but with the other unstaged changes being restorable. I'm rather interested in this are as it is a common engineering tool workflow problem. Philip