> On Jul 22, 2019, at 12:05 PM, Maxim Kuvyrkov <maxim.kuvyr...@linaro.org> > wrote: > ... >>>> As far as GCC conversion goes, below is what I plan to do and what not to >>>> do. This is based on comments from everyone in this thread: >>>> >>>> 1. Construct GCC's git repo from SVN using same settings as current git >>>> mirror. >>>> 2. Compare the resulting git repo with current GCC mirror -- they should >>>> match on the commit hash level for trunk, branches/gcc-*-branch, and other >>>> "normal" branches. >>>> 3. Investigate any differences between converted GCC repo and current GCC >>>> mirror. These can be due to bugs in git-svn or other misconfigurations. >>>> 4. Import git-only branches from current GCC mirror. >>>> 5. Publish this "raw" repo for community to sanity-check its contents. >>> >>> Why not start from the current mirror? Perhaps a mirror of the mirror? >> >> To check that git-svn is self-consistent and generates same commits now as >> it was several years ago when you setup the current mirror. > > Unfortunately, current mirror does not and could not account for rewrites of > SVN commit log messages. For trunk the histories of diverge in 2008 due to > commit message change of r138154. This is not a single occurrence; I've > compared histories only of trunk and gcc-6-branch, and both had commit > message change (for gcc-6-branch see r259978). > > It's up to the community is to weigh pros and cons of re-using existing GCC > mirror as conversion base vs regenerating history from scratch: > > Pros of using GCC mirror: > + No need to rebase public git-only branches > + No need to rebase private branches > + No need to rebase current clones, checkouts, work-in-progress trees > > Cons of using GCC mirror: > - Poor author / committer IDs (this breaks patch statistics software) > - Several commit messages will not be the current "fixed" version > > Thoughts?
Ping? Meanwhile, status update: 1. GitHub blocked https://github.com/maxim-kuvyrkov/gcc/ due to excessive resource usage. I've asked them to unblock and explained why pushes are as big as they are. 2. I'm uploading to https://git.linaro.org/people/maxim.kuvyrkov/gcc.git/ for now. 3. Conversion is now feature-complete. The scripts re-write author and committer fields, as well as create proper git tags. 4. "Raw" version of repository is available under refs/raw/*. 5. refs/raw/* are not expected to change. 6. refs/heads/* and refs/tags/* might change due to author/committer name fixes and improvements. Please scrutinize the repo and let me know of any artifacts. -- Maxim Kuvyrkov www.linaro.org