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

Reply via email to