It seems like it'd be useful to have the commit pointer right on the tree, rather than pointing to a blob which is not unique, and then trying to find the right commit that goes with that non-unique blob. Would be less queries too. I haven't thought through all the implications yet.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Index on dev code to verify that they're all getting the same commit message in the browser.
Then, remove all repo_last_commit entries for that repo and reindex on this branch. Confirm that it has the correct commits for all identical blobs / trees.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Change controller logic so that it'll still work during the refresh. Then move the real 'new' controller logic to a new ticket/commit that we can push out after the initial refresh is done.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Looks good. Last step is to coordinate clean repo refreshes with siteops. The refresh commands in this ticket are a good starting point: https://trac.geek.net/trac/siteops/ticket/51520 as they exclude repos that are known to segfault. The --repo-types param should be removed, and --clean added.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Latest changes (persisting svn trees properly, and the script to delete the old trees) look good. Merged to dev. Adding this as a reminder to run the script in prod:
It seems like it'd be useful to have the commit pointer right on the tree, rather than pointing to a blob which is not unique, and then trying to find the right commit that goes with that non-unique blob. Would be less queries too. I haven't thought through all the implications yet.
allura:cj/4536
To test, create a repo with multiple identical blobs in various directories, a la https://sf-cjohns-7015.sb.sf.net/p/allura/git/ci/fb62c0f63ff482a8aec2b9a11015f1d97b7851c5/tree/
Index on dev code to verify that they're all getting the same commit message in the browser.
Then, remove all
repo_last_commit
entries for that repo and reindex on this branch. Confirm that it has the correct commits for all identical blobs / trees.refresh_last_commit
Forced pushed the changes (rebased to dev) with tests
Looks good. Last step is to coordinate clean repo refreshes with siteops. The refresh commands in this ticket are a good starting point: https://trac.geek.net/trac/siteops/ticket/51520 as they exclude repos that are known to segfault. The
--repo-types
param should be removed, and--clean
added.Latest changes (persisting svn trees properly, and the script to delete the old trees) look good. Merged to dev. Adding this as a reminder to run the script in prod:
Work for this was completed, but then we realized the scope of this issue is much broader. Cory will create a new ticket to track further work.