summaryrefslogtreecommitdiffstats
path: root/scripts/mageia-reset-and-import.sh
Commit message (Collapse)AuthorAgeFilesLines
* DocsColin Guthrie2013-06-131-0/+5
|
* The branches are not stored in a branches subfolder.Colin Guthrie2013-06-131-2/+11
| | | | | | This casues the SQL parsing to skip these files. Thus we have to handle the branches separately and be careful to exclude trunk while doing so.
* Compress the SQL revision mapColin Guthrie2013-06-131-1/+3
|
* Text formatting.Colin Guthrie2013-06-131-14/+19
|
* WhitespaceColin Guthrie2013-06-131-31/+31
|
* Create an SQL file of revisions to sha1s.Colin Guthrie2013-06-131-5/+85
| | | | | | | This database will be used to provide redirection in weblinks etc. Note: I had to abandon the while look with git-foreach-ref as it meant the global variable was out of scope due to piping.
* Rename variable to be less generic.Colin Guthrie2013-06-121-6/+6
|
* Rename a variable to be clearer as to what it representsColin Guthrie2013-06-121-4/+4
|
* Ignore an error (it's OK if this fails)Colin Guthrie2013-06-121-1/+1
|
* Attempt to resolve tags into proper annotated tags.Colin Guthrie2013-06-121-3/+34
| | | | | | | The git-svn import stage doesn't automatically handle tags as well as it could. In order to make tags show up properly on master, we inspect each tag and try and find the first commit where it actually changes. We can then tag it via an annotated tag. Much nicer.
* Make sure the commit date on our synthesised commit is also set.Colin Guthrie2013-06-121-1/+7
| | | | | | | Passing --author and --date to the commit command works fine for *author* commit dates but not the actual *committer* dates (and name). This ensures that the values are correct.
* Delete any branches/tags which are newer than our reset commit.Colin Guthrie2013-06-121-0/+24
| | | | This prevents newer Mandriva tags and branches leaking into Mageia GIT repos
* Add a simply system to skip revisions.Colin Guthrie2013-06-121-4/+36
| | | | You can only skip commits that are *after* the last squashed commit.
* Better handling of svn merge repo (do it out of tree)Colin Guthrie2013-05-301-10/+12
|
* Clear out any old git remotesColin Guthrie2013-05-301-0/+9
| | | | This will confuse our final push at the end, so we want rid of these
* Better way to extract the software name.Colin Guthrie2013-05-301-1/+3
| | | | | This deals better with the case when there are old stale remotes in the git repo (from the initial Mandriva svn conversion)
* Add support for replaying the same conversion again.Colin Guthrie2013-05-301-22/+63
| | | | | | | | This is mostly useful during testing, but if we have to do several runs to ensure the data is 100% correct (i.e. picking the correct initial svn revision to import and any subsequent commits to squash) then reusing the data collected here (perhaps with manual log editing) will be very useful.
* Support a finer grained initial conversion commit.Colin Guthrie2013-05-301-4/+61
| | | | | | | | | | | | | | | As some sources were imported gradually in different commits, it's neater to squash those commits together, even if this means doing it out of order. This causes less file churn overall and prevents the whole delete and readd problem (breaking git blame and friends). Sadly due to the use of binary data in the svn commits which 'patch' cannot apply, we have to use svn merging to ensure things are done properly. This means creating a dummy svn repo and synthesising commits before exporting it to form the initial squashed commit.
* Seems the new version of git doesn't do --set-upstream the same :sColin Guthrie2013-05-301-2/+2
|
* Add a script to combine imported Mandriva git reposo with Mageia SVN history.Colin Guthrie2013-04-151-0/+158
This script helps to automate a task that is, in a large part, manual. It takes the git-svn repostitory from the Mandrvia import and guides you through the task of adapting it and importing the Mageia SVN history on top. You first have to pick the trunk revision at which you want to reset the history. This should be the point in time when Mageia imported the sources. It will then help you find the correct Mandriva SVN revision to use as your starting point. It will then synthesize a commit to reset the repository at the same state as the Mageia subversion at the chosen revision. This should result in minimal file churn (i.e. it's should be mostly s/Mandriva/Magiea/ and a few other tweaks). In an ideal world it would contain no other fixes but in order to minimise bogus git-blame results it should avoid big 'delete-then-add' commits. Once this is done, the script then synthesises the internal git-svn metadata and tricks git-svn into continuing the import. It will likely break if any branches/tags have the same name in Mageia as existed in Mandriva. Fingers crossed that doesn't happen :)