Is there an additional step I need to take to make it part of the Python "path"?įrom Python command line (as suggested in one of the answers): import pkg_resources This was created by the steps mentioned above. ![]() However, under C:\Python25\Lib\site-packages, I do have a dulwich-0.5.0-py2.5.egg folder which appears to be populated. Yields Import Error: No module named dulwich That makes me think dulwich is not installed correctly, or not in the path. Ok, so that tells me that it is finding hggit now, because I can see in hg-git\hggit\git_handler.py that it calls from dulwich.errors import HangupException Now when I run hg, I see: *** failed to import extension hggit from c:\code\hg-git\hggit: No module named dulwich.errors. I cloned the repo, and changed my extensions file to look like: Since that failed, I attempted the "more involved" instructions from the hg-git page that suggested cloning git:///schacon/hg-git.git and referencing the path in my Mercurial configuration. Is this supposed to be extracted somewhere, or should it work as-is? Looking under my c:\Python25 folder, the only reference to hggit I see is Lib\site-packages\hg_git-0.2.1-py2.5.egg. "*** failed to import extension hggit: No module named hggit" When I type 'hg' at a command prompt, I see: In my C:\Users\username\Mercurial.ini, I have: Now when I run easy_install hg-git, it succeeds (since the dulwich dependency is satisfied). c:\Python25\python setup.py -pure install.The initial easy_install failed because it was unable to compile dulwich without Visual Studio 2003. I followed the instructions on to install the extension. You can read more about this in the Changeset Evolution Documentation.I'm trying to use the hg-git Mercurial extension on Windows (Windows 7 64-bit, to be specific). To keep them in the draft phase after pushing them somewhere, the repository you push to need to be configured as a non-publishing repository. The extension allows you to do this as long as the changesets are in the draft phase. $ hg commit -amend -m 'new commit message' ^ġ files updated, 0 files merged, 0 files removed, 0 files unresolved When using evolve, you can edit the second-to-last commit message like this $ hg update. It is called the Evolve Extension and it enables some behavior that is partly in the core of Mercurial and partly outside core. There is an experimental extension that will allow you to do more extensive history editing and push those edits to other repositories. However, we're working on changing this in Mercurial. The advice from Edward is good - if you've pushed your changes to another repository, you should consider them set in stone and not update the commit message or any other aspect of them. Then just hg qfin -a and you should be good to go. Then hg qrefresh -e and make your changes. hg qpop -a and then hg qpush to get to the patch that represents the changeset you want to edit. If there are changes after it, I would use mq and hg qimport all the changes down to and including the one where you want to edit the commit message. in draft status), you can use hg commit -amend if it is the parent of the working directory. Note that if any repo has the "old" changeset, it will be pushed to the central repo someday and cause the mess that we are trying to avoid. If you could definitively purge that change from all other repos, so that only the local copy is left you could essentially get to the "draft" state. This is not a good thing, so the short answer to your question is "don't do it". All other repositories that had the old changeset will try to get the new one and ask that you merge it with itself. If you change the commit message, you change the unique hash id and every repo will see it as a "new" changeset. ![]() The commit message is used to compute the globally unique hash id that is used for all repositories to determine whether or not they already have a changeset. As long as the change in question is local and hasn't been pushed anywhere, it is possible.
0 Comments
Leave a Reply. |