-
Notifications
You must be signed in to change notification settings - Fork 26
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
does adopt work for repairing ancestry? #2
Comments
Adopt does appear to work correctly ... at least it restores the history of the file to what I want ... we can afford to leave the handling of versions in filetree as is ... |
Wow, nice one. Must pick the correct one to adpot. Perhaps can get some info from the git commit / version file. Very interesting |
Ah yes, good point ... perhaps we should create an ancestor file in the repository that records the version information for the immediate ancestor of package when it is stuffed into the repository (that isn't changed over time) so that one can easily know the immediate ancestor ... I'll reopen this one and address it ... |
YUCK!
HOLD THE HORSES, what if we have a dirty package in the image and do a pull from git and we want to then merge the changes into our existing work in the image ... we need a common ancestor for the two packages and that may mean that we have to use option #1 all of the time ... More thought needed... |
Yes; we've got a package with > 1000 versions. When loading this
Currently, we don't pull the git repo with dirty packages in the In principle, even with Monticello, we avoided merging when a local I was thinking one could use the history available in git to determine Git "3 way" merge is actually quite good. Yes, more thinking needed |
Otto, Right ... that's the model that I've adopted as well (commit dirty packages to git first)...So really the only times when we need to really worry about ancestry in a package is when someone who is not used to using git ends up with a dirty package in the image and wants to merge using Monticello instead of git ... One idea would be to make the loading of ancestry an option (on by default) that git users would just turn off, because they know what they are doing. Combine that with the ability to reconstruct the ancestry would be cool ... Dale ----- Original Message ----- |
I'm going to restore the writing/reading of ancestry info for fileTree packages ... it's ugly right now, but I think it is the only way to make it easy for folks to migrate to using filtree/git/github. If the ancestry is preserved across package lifetimes within a filetree/git/guthub repository, the perceived cost of taking a run at using github is much much lower (no waving hands about setting flags or having to remember to adopt) ... I agree 100% that the three way merge for git is superior ... it recognizes renames and method moves and preserves history across ... I'm preserving ancestry so folks have fewer surprises whtn taking github for a spin ... |
Of course when you do use git merge, you have to pick the correct ancestry for the file and when doing a git merge, there might not be a correct answer ... |
fixed in SHA: 709545a In the future we might make it optional to store ancestry (leverage pkg properties). |
The expected life cycle for packages stored in disk-based repositories (like git and svn) is:
Now the situation exists where one would like to merge aaa-dalehenrichs.4 .mcz into aaa-dkh.4 in the filetree repository ...
In order for this to work i postulate that the following steps would work:
If these steps don't work we'll have to come up with something that will work ... otherwise we'll have to keep up-to-date ancestry information in the filetree repository which is not desirable...
The text was updated successfully, but these errors were encountered: