On 10 May 2010 06:26, Yuv <[email protected]> wrote: > Hi all, > > I've spared some time to work on the Hg migration. Below you will > find: > 1. the current Hg repo with short instructions how to test it > 2. a status report and what needs to be done > 3. a detailed report of how I got here > 4. suggested next steps > 5. further readings / references > > All of the instruction below are for K/Ubuntu and for the command > line. > > > 1. CURRENT HG REPO > > to use/test it you will need to install Mercurial. Run the command > `sudo apt-get install mercurial` > > you want to edit your ~/.hgrc file to enable some useful extensions. > Run the command `pico ~/.hgrc`, add the following lines and save: > > [extensions] > convert = > hgext.hgk = > > download (48MB): http://photopla.net/hugin/hugin.hg.bz2 > > it will uncompress to about 119MB with the command `tar xvjf > hugin.hg.bz2` > > Initially the folder contains only an invisible folder - the > repository's full history. To check out the latest version (equivalent > to SVN trunk at revision 5149), change into the folder and issue the > command `hg co -c` > > If you want to check out a specific revision, the command is `hg co -c > -r <REV>` where <REV> identifies the changeset and is substituted by > either the revision number or, preferably, the SHA1 ID (a 12 digits > string representing an hexadecimal number) identifying the changeset. > > Note that the revision number is sequential but it is (a) completely > unrelated to the SVN revision number and (b) can change between > different Hg repositories, hence it is better to use the SHA1 ID as a > reference, e.g. `hg co -c -r 421ac6996432` will bring you back to > Hugin 0.7.0 rc6 (which IIRC was the final 0.7.0). > > `hg help` is your friend. > > `hg log` will list you the logged changes. To know more about this > command, type `hg help log`. > > `hg tags` lists the tags and `hg branches` lists the branches that are > available in the repository. With the command `hg view` you can > graphically display the whole tree. > > > 2. STATUS REPORT > > The current repo is a fairly complete history of Hugin, plus branches > that have not been moved to the obsolete branches folder yet. The > branches give you the opportunities to try how branches behave in hg. > The intention, for the actual migration, is to migrate only trunk. > > The heavy movies and PDF files have been filtered out (details below). > > Keyword replacement has not been implemented yet. > > The cmake build system has not been touched yet and is likely not to > work exactly as intended (versioning!) > > > 3. HOW TO REPRODUCE > > You will need subversion and mercurial. Run the command `sudo apt-get > install subversion mercurial` > > You will need the following two files: > * http://photopla.net/hugin/hugin_contrib.txt (maps SVN to Hg > contributors) > * http://photopla.net/hugin/hugin_filemap.txt (maps path to exclude/ > include, particularly the movies and PDFs) > > Mirror locally the Hugin subversion repository with the following > commands: > > svnadmin create hugin-mirror > cd hugin-mirror > echo '#!/bin/sh' > hooks/pre-revprop-change > echo 'exit 0' >> hooks/pre-revprop-change > chmod +x hooks/pre-revprop-change > export FROMREPO=https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/ > export TOREPO=file://`pwd` > svnsync init ${TOREPO} ${FROMREPO} > svnsync --non-interactive sync ${TOREPO} > > If the sync is aborted, you will need to reset the lock state and > restart: > > svn propdelete svn:sync-lock --revprop -r 0 ${TOREPO} > svnsync --non-interactive sync ${TOREPO} > > Now that you have a local mirror, there are multiple ways to convert > the SVN repository to Hg. The one that worked best so far for me is > the following command: > > hg convert \ > --branchsort \ > --config convert.svn.branches=hugin/branches \ > --config convert.svn.tags=hugin/tags \ > --config convert.svn.trunk=hugin/trunk \ > --authors hugin_contrib.txt \ > --filemap hugin_filemap.txt \ > --rev 5149 \ > hugin-mirror > > it will create a folder hugin-mirror-hg, which is equivalent to the > download at part 1 of this mail. > > > 4. SUGGESTED NEXT STEPS > > the most important next step is to get versioning in cmake working. > currently cmake appends the svn revision number to the manually set > version number. ideally we'd need to substitute the SHA1 ID for the > *parent* changeset. > > then we'd need some reports that this hg repo works, i.e. that *you* > can use it, extract and build the tip out of it, make and commit > changes, clone it, have local branches of your own, switch between > them. > > some further clean ups are nice to have but optional, such as tagging > newer hugin versions. since the current release cycle works separately > from trunk, it has not been converted, nor have been the different > release branches/tags. > > if the developers are comfortable with the Hg repo (I suspect we'll > need at least another iteration), we can freeze SVN to read-only > access and upload the Hg repo to SourceForge and make it the official > Hugin repo. Then developers will start pushing changes to that repo. > > There is a time squeeze (GSoC coding is due to start soon and we'd > like students to work with Hg) and my spare time is close to zero for > the next three weeks, so either somebody can step in (I've documented > everything in this mail and I am willing to help / answer questions / > advance the issue in the little time I have), or we work with a less > than optimal repo and clean it up as we go. > > > 5. FURTHER READINGS / REFERENCES > > Versioning: http://mercurial.selenic.com/wiki/VersioningWithMake > Keyword Substitution: http://mercurial.selenic.com/wiki/KeywordExtension > Why not Keyword Substitution: http://mercurial.selenic.com/wiki/KeywordPlan > > have a good week > Yuv > > -- > You received this message because you are subscribed to the Google Groups > "hugin and other free panoramic software" group. > A list of frequently asked questions is available at: > http://wiki.panotools.org/Hugin_FAQ > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at http://groups.google.com/group/hugin-ptx
Wow! That's an impressive job you've done. I think I can help here, but not before the next week. Lukas -- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/hugin-ptx
