![]() You can use the usual Mercurial commands to work with this repository. Instead, you should rebase the changesets that you want to push to the Subversion repository (see Rebasing changes below). This means you should not try to merge this new head - if you do so, hg push to svn will fail. The important point to note is that hgsubversion cannot push merge changesets to a svn repository. If there are new revisions, and you have new revisions in your local hg repository, this will create a new head. That is, you can't decide to pull just trunk changes, you have to get all of them. This is analogous to a normal hg pull except that it will pull from the Subversion server instead of from a Mercurial one, and you can only pull incoming revisions in order. If nose-hg already exists, it will try to use that as a repository previously created with the same command. This will replay all the revisions from the Subversion repository into a new Mercurial repository. Assuming a bash shell, the process is something like this A work around is described in comment #6 of that bug. There is currently (Jan 2011) a slow memory leak that can cause a regular clone to fail for large Subversion repositories ( Issue #110). ![]() This will speed up cloning and reduce local repository size for projects with lots of history. It is possible to discard old history by providing a -startrev XX argument, where XX can either be a revision number or HEAD. The last argument, nose-hg is not strictly required, but because of how Google Code lays out projects, the default target would be named svn-hg which is not very helpful. To get a clone of the Nose project, start with: Tags are expected to be another sibling of trunk called tags, but that is configurable. That is, the default location where work is done is called trunk, branches are located in a sibling of that directory called branches. Right now, you can only clone repositories that use a more-or-less standard Subversion layout. Also, diff gets a -svn flag that changes the default "old" rev to the svn parent revision, and formats the diff to be almost identical to those produced by svn diff, making it suitable for tools that rely on that format. parents grows a -svn flag that shows the svn parent of a change, provided there are no merges between the current revision and the svn parent. This is true for clone, outgoing, pull, and push. Most commands wrap their native equivalent. On Mac OS X, you can also install it with MacPorts. Hgsubversion = ~/hgsubversion/hgsubversionĭouble check the extension is enabled via Cloning the tip is recommended as it is much more stable than the latest tag 1.2.1 from march 2011.Ĭonfigure your hgrc to enable the extension by adding the following lines: ![]() The easiest way to install hgsubversion is to just clone the hgsubversion repository and then configure Mercurial to use it. ![]() ![]() TortoiseHg installs Mercurial and Subversion Python bindings required to run the extension.Īlternatively: Mercurial >=1.3 + SVN >= 1.5 + ( subvertpy >= 0.7.4 OR the Subversion SWIG Python bindings). Hgsubversion is an extension for Mercurial that allows using Mercurial as a Subversion client. This extension is not distributed with Mercurial. If you'd like to help address this solution, consider ContributingChanges or reach out on the MailingLists. As an example, it does not support Python 3. Please note that hgsubversion isn't being actively developed and may not work with the latest version of Mercurial. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |