Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support repo format where each file has its own separate chain of commits #31

Open
paigeruten opened this issue Mar 18, 2018 · 1 comment

Comments

@paigeruten
Copy link
Contributor

git rebase takes a long time to rewrite history, which may start becoming unacceptable for tutorials as large as lua-tutorial. However, large projects like lua tend to be already split up into many files, and if a tutorial only makes changes to one file per step (as I think they should), there's no reason to spend time rewriting the entire git history since there can only be conflicts with other steps that change that one file.

So the git repo would consist of multiple roots/branches, each one referencing the chain of commits that modify one particular file. There would have to be some kind of manifest file somewhere that would specify the order of steps between all the different files, which leg would have to keep track of (I don't think the user would ever want to have to deal with that themselves).

There should still be the option of using the normal git format, and the ability to switch between the two, in case users want a repo they can go in and edit by hand.

@paigeruten
Copy link
Contributor Author

Changing multiple files per step could actually be supported, by having the manifest file map multiple commits to a single step. I'm thining the manifest file would be a text file where each line would describe a step, in order. So each line would have a list of commit hashes that are part of that step.

Also, I think the "normal git format" should be a separate Representation, which can be gotten by running leg export, and imported back in with leg import.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant