{"id":5397,"date":"2022-05-30T16:27:39","date_gmt":"2022-05-30T21:27:39","guid":{"rendered":"https:\/\/www.logikalsolutions.com\/wordpress\/?p=5397"},"modified":"2025-03-31T11:06:40","modified_gmt":"2025-03-31T16:06:40","slug":"mercurial","status":"publish","type":"post","link":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/","title":{"rendered":"How to Fork a Mercurial Project on SourceForge"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Forking a Mercurial project on SourceForge isn&#8217;t as straight forward as one might think. If you jump straight to fork without first creating a project, you are going to end up with a personal tool. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"298\" height=\"186\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-06.png\" alt=\"\" class=\"wp-image-5399\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-06.png 298w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-06-200x125.png 200w\" sizes=\"(max-width: 298px) 100vw, 298px\" \/><figcaption class=\"wp-element-caption\">CSScintilla originally forked as personal tool<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A personal tool is fine if you are working on a new feature you hope might one day be included in the project from whence you forked. In my case I was adding <a href=\"https:\/\/www.copperspice.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">CopperSpice<\/a> support to Scintilla because Qt no longer qualifies as OpenSource with the removal of an OpenSource LTS. The community isn&#8217;t allowed to create one on their own. Many projects and some Linux distros are now removing all things Qt. <a href=\"https:\/\/www.phoronix.com\/scan.php?page=news_item&amp;px=Debian-Needs-Qt6-Maintainers\" target=\"_blank\" rel=\"noreferrer noopener\">Debian no longer has any Qt maintainers<\/a>. They are using the KDE project repos but many\/most Debian based distros have long since dropped KDE as a supported desktop, instead favoring desktops with less bloat and fewer useless applications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Scintilla didn&#8217;t want to absorb yet another cross platform library which was fine. I need CsScintilla for the next release of <a href=\"https:\/\/sourceforge.net\/projects\/reddiamond\/\" target=\"_blank\" rel=\"noreferrer noopener\">RedDiamond<\/a> because syntax highlighting with QPlaneTextEdit and Regular Expressions just sucked on big files. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, I went the path most will go with Mercurial. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Forked project to personal tool<\/li>\n\n\n\n<li>Finished what you were working on and now want to make this available to others<\/li>\n\n\n\n<li>You also want to maintain the ability to pull updates into your code from the original project<\/li>\n\n\n\n<li>Gee, how do I do that?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">The part that isn&#8217;t obvious<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When you fork a Mercurial based project you have to fork it into something. Let me show you some shots.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"674\" height=\"343\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-08.png\" alt=\"\" class=\"wp-image-5400\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-08.png 674w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-08-300x153.png 300w\" sizes=\"(max-width: 674px) 100vw, 674px\" \/><figcaption class=\"wp-element-caption\">Choosing to fork Scintilla<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"508\" height=\"270\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-09.png\" alt=\"\" class=\"wp-image-5401\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-09.png 508w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-09-300x159.png 300w\" sizes=\"(max-width: 508px) 100vw, 508px\" \/><figcaption class=\"wp-element-caption\">If you take the defaults you get a personal tool<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">How to go from personal tool to project<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First you must create a new project. This is the counterintuitive part, but you cannot create a new project via fork with Mercurial like you can with Git and many other Source Code Management (SCM) tools.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"358\" height=\"115\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-01.png\" alt=\"\" class=\"wp-image-5402\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-01.png 358w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-01-300x96.png 300w\" sizes=\"(max-width: 358px) 100vw, 358px\" \/><figcaption class=\"wp-element-caption\">Choose Create<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"573\" height=\"226\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-02.png\" alt=\"\" class=\"wp-image-5403\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-02.png 573w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-02-300x118.png 300w\" sizes=\"(max-width: 573px) 100vw, 573px\" \/><figcaption class=\"wp-element-caption\">Create Your Project Now<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You will note that there is an &#8220;import from GitHub&#8221; button. SourceForge is where professionals go. GitHub is for hacks and kids still wet behind the ear. <a href=\"https:\/\/github.com\/RolandHughes?tab=repositories\" target=\"_blank\" rel=\"noreferrer noopener\">Yes, I have GitHub projects<\/a>. They are things that got forked from other things that were on GitHub. In the case of the CppLinuxSerial I need to kill that unless I do more. The changes were almost instantly rolled into the base project. When I finally complete the others they will move to SourceForge.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"358\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-03-1024x358.png\" alt=\"\" class=\"wp-image-5404\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-03-1024x358.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-03-300x105.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-03-768x269.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-03.png 1089w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Choose a Project Name and accept the URL<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"765\" height=\"182\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-04.png\" alt=\"\" class=\"wp-image-5405\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-04.png 765w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-04-300x71.png 300w\" sizes=\"(max-width: 765px) 100vw, 765px\" \/><figcaption class=\"wp-element-caption\">Actually create<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, you are going to be taken to that annoying &#8220;looks like your project is empty&#8221; page. Ignore it. You do need to select the project url and paste it into a text editor somewhere.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Now the real fun begins<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zip your entire directory tree up and copy it off some place for safe keeping. If you luggie this up you can at least get back to where you where.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your personal project had a url underneath your user id because it was personal.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"864\" height=\"79\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-001.png\" alt=\"\" class=\"wp-image-5406\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-001.png 864w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-001-300x27.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-001-768x70.png 768w\" sizes=\"(max-width: 864px) 100vw, 864px\" \/><figcaption class=\"wp-element-caption\">The personal project url<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"923\" height=\"291\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-1.png\" alt=\"\" class=\"wp-image-5407\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-1.png 923w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-1-300x95.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-1-768x242.png 768w\" sizes=\"(max-width: 923px) 100vw, 923px\" \/><figcaption class=\"wp-element-caption\">Edit hgrc and change the url<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You will notice that I changed<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"default = ssh:\/\/roland_hughes@hg.code.sf.net\/u\/userid-2297536\/csscintilla\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">default<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">=<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">ssh:\/\/roland_hughes@hg.code.sf.net\/u\/userid-2297536\/csscintilla<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">to be<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"default = ssh:\/\/roland_hughes@hg.code.sf.net\/p\/csscintilla\/csscintilla\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">default<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">=<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">ssh:\/\/roland_hughes@hg.code.sf.net\/p\/csscintilla\/csscintilla<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">because that is the project I created and the all lowercase name was the mountpoint.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I was a good little geek when making my changes. I put them all in my own branch. Mercurial is a bit picky about creating new branches with a push. It wants you to tell them you really mean it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now go back and look at the code in your project<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"907\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-2-1024x907.png\" alt=\"\" class=\"wp-image-5408\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-2-1024x907.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-2-300x266.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-2-768x680.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-2.png 1173w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">You&#8217;ve got code!<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">My branch is there along with its new directories. Life is good . . . almost.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">You still need to get updates from the base project<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"838\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-3-1024x838.png\" alt=\"\" class=\"wp-image-5409\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-3-1024x838.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-3-300x245.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-3-768x628.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-3.png 1192w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">how to get stuff from base<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"hg pull http:\/\/hg.code.sf.net\/p\/scintilla\/code -u\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">pull<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">http:\/\/hg.code.sf.net\/p\/scintilla\/code<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-u<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">That pulls all of the stuff from the original scintilla base into my local working directory and project. <strong>It is not pulled into your branch!<\/strong> In particular the changes I wanted are in the default branch.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"hg merge default\nhg stat\nhg addremove\nhg commit --message &quot;some message&quot;\n\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">merge<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">default<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">stat<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">addremove<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">commit<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">--message<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">some message<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Let&#8217;s make it official<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At this stage I have a shiny new SourceForge Mercurial based project called CsScintilla. My project really is just Scintilla at this point because all of my code is in CsScintilla branch. It is time for it to be an official project. Many thanks to <a href=\"https:\/\/alexandra-zaharia.github.io\/posts\/merge-mercurial-branch-into-default\/\" target=\"_blank\" rel=\"noreferrer noopener\">Alexandra Zaharia<\/a> for this nugget of information.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"hg up default\nhg merge CsScintilla    \nhg ci -m &quot;merge CsScintilla branch into default&quot;\nhg push\n\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">up<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">default<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">merge<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">CsScintilla<\/span><span style=\"color: #BABED8\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">ci<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-m<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">merge CsScintilla branch into default<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">push<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"224\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-11-1024x224.png\" alt=\"\" class=\"wp-image-5410\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-11-1024x224.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-11-300x66.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-11-768x168.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-11.png 1171w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">merging my branch into default<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Be certain you wait for that repository refresh that got queued to finish. You should get an email notification. Once that happens you can take a look at default.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"593\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-12-1024x593.png\" alt=\"\" class=\"wp-image-5411\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-12-1024x593.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-12-300x174.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-12-768x444.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-12.png 1270w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Success!<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Life is good! The default branch now has my changes. Mercurial is cumbersome, but you can make it work.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Get rid of those unwanted branches<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Last but not least we need to get rid of that development branch.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"hg up CsScintilla\nhg ci -m &quot;closing CsScintilla development branch&quot; --close-branch\nhg addremove\nhg stat\nhg push\n\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">up<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">CsScintilla<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">ci<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-m<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">closing CsScintilla development branch<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">--close-branch<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">addremove<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">stat<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">hg<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">push<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, I did some technically unnecessary steps there, but I like to be thorough.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"204\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-13-1024x204.png\" alt=\"\" class=\"wp-image-5412\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-13-1024x204.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-13-300x60.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-13-768x153.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-13.png 1326w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">closing branch<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Probably need a bit of explanation here.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"841\" height=\"157\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-14.png\" alt=\"\" class=\"wp-image-5413\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-14.png 841w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-14-300x56.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-14-768x143.png 768w\" sizes=\"(max-width: 841px) 100vw, 841px\" \/><figcaption class=\"wp-element-caption\">Close closes the branch locally<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">SourceForge appears to have a much longer memory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Forking a Mercurial project on SourceForge isn&#8217;t as straight forward as one might think. If you jump straight to fork without first creating a project, you are going to end up with a personal tool. A personal tool is fine if you are working on a new feature you hope might one day be included in the project from whence you forked. In my case I was adding CopperSpice support to Scintilla because Qt no &hellip; <a title=\"How to Fork a Mercurial Project on SourceForge\" class=\"bnm-read-more\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/\"><span class=\"screen-reader-text\">How to Fork a Mercurial Project on SourceForge<\/span>Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":5398,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[2039,1835,990,2038,218,2037,159,1980],"class_list":["post-5397","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-information-technology","tag-alexandra-zaharia","tag-copperspice","tag-debian","tag-git","tag-kde","tag-mercurial","tag-qt","tag-scintilla","bnm-entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Fork a Mercurial Project on SourceForge &#8211; Logikal Blog<\/title>\n<meta name=\"description\" content=\"Forking a Mercurial project on SourceForge isn&#039;t as straight forward as one might think. If you jump straight to fork without first creating\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Fork a Mercurial Project on SourceForge &#8211; Logikal Blog\" \/>\n<meta property=\"og:description\" content=\"Forking a Mercurial project on SourceForge isn&#039;t as straight forward as one might think. If you jump straight to fork without first creating\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/\" \/>\n<meta property=\"og:site_name\" content=\"Logikal Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-30T21:27:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-31T16:06:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-0.png\" \/>\n\t<meta property=\"og:image:width\" content=\"385\" \/>\n\t<meta property=\"og:image:height\" content=\"226\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"seasoned_geek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"seasoned_geek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/\"},\"author\":{\"name\":\"seasoned_geek\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"headline\":\"How to Fork a Mercurial Project on SourceForge\",\"datePublished\":\"2022-05-30T21:27:39+00:00\",\"dateModified\":\"2025-03-31T16:06:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/\"},\"wordCount\":836,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/hg-fork-0.png\",\"keywords\":[\"Alexandra Zaharia\",\"CopperSpice\",\"Debian\",\"Git\",\"KDE\",\"Mercurial\",\"Qt\",\"Scintilla\"],\"articleSection\":[\"Information Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/\",\"name\":\"How to Fork a Mercurial Project on SourceForge &#8211; Logikal Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/hg-fork-0.png\",\"datePublished\":\"2022-05-30T21:27:39+00:00\",\"dateModified\":\"2025-03-31T16:06:40+00:00\",\"description\":\"Forking a Mercurial project on SourceForge isn't as straight forward as one might think. If you jump straight to fork without first creating\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/hg-fork-0.png\",\"contentUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/hg-fork-0.png\",\"width\":385,\"height\":226,\"caption\":\"SourceForge logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/mercurial\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Fork a Mercurial Project on SourceForge\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\",\"name\":\"Logikal Blog\",\"description\":\"For people with attention spans longer than a Tweet\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\",\"name\":\"seasoned_geek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"caption\":\"seasoned_geek\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\"},\"description\":\"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\\\/Qt touchscreen\\\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \\\"Zinc It!\\\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \\\"The Minimum You Need to Know to Be an OpenVMS Application Developer\\\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \\\"The Minimum You Need to Know\\\" book series was born. Three years later he wrote his first novel \\\"Infinite Exposure\\\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \\\"The Earth That Was\\\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.\",\"sameAs\":[\"https:\\\/\\\/theminimumyouneedtoknow.com\"],\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/author\\\/seasoned_geek\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Fork a Mercurial Project on SourceForge &#8211; Logikal Blog","description":"Forking a Mercurial project on SourceForge isn't as straight forward as one might think. If you jump straight to fork without first creating","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/","og_locale":"en_US","og_type":"article","og_title":"How to Fork a Mercurial Project on SourceForge &#8211; Logikal Blog","og_description":"Forking a Mercurial project on SourceForge isn't as straight forward as one might think. If you jump straight to fork without first creating","og_url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/","og_site_name":"Logikal Blog","article_published_time":"2022-05-30T21:27:39+00:00","article_modified_time":"2025-03-31T16:06:40+00:00","og_image":[{"width":385,"height":226,"url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-0.png","type":"image\/png"}],"author":"seasoned_geek","twitter_card":"summary_large_image","twitter_misc":{"Written by":"seasoned_geek","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/#article","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/"},"author":{"name":"seasoned_geek","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"headline":"How to Fork a Mercurial Project on SourceForge","datePublished":"2022-05-30T21:27:39+00:00","dateModified":"2025-03-31T16:06:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/"},"wordCount":836,"commentCount":0,"publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-0.png","keywords":["Alexandra Zaharia","CopperSpice","Debian","Git","KDE","Mercurial","Qt","Scintilla"],"articleSection":["Information Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/","url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/","name":"How to Fork a Mercurial Project on SourceForge &#8211; Logikal Blog","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/#primaryimage"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-0.png","datePublished":"2022-05-30T21:27:39+00:00","dateModified":"2025-03-31T16:06:40+00:00","description":"Forking a Mercurial project on SourceForge isn't as straight forward as one might think. If you jump straight to fork without first creating","breadcrumb":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/#primaryimage","url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-0.png","contentUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/05\/hg-fork-0.png","width":385,"height":226,"caption":"SourceForge logo"},{"@type":"BreadcrumbList","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/mercurial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.logikalsolutions.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"How to Fork a Mercurial Project on SourceForge"}]},{"@type":"WebSite","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website","url":"https:\/\/www.logikalsolutions.com\/wordpress\/","name":"Logikal Blog","description":"For people with attention spans longer than a Tweet","publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.logikalsolutions.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842","name":"seasoned_geek","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","url":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","caption":"seasoned_geek"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r"},"description":"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\/Qt touchscreen\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \"Zinc It!\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \"The Minimum You Need to Know to Be an OpenVMS Application Developer\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \"The Minimum You Need to Know\" book series was born. Three years later he wrote his first novel \"Infinite Exposure\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \"The Earth That Was\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.","sameAs":["https:\/\/theminimumyouneedtoknow.com"],"url":"https:\/\/www.logikalsolutions.com\/wordpress\/author\/seasoned_geek\/"}]}},"_links":{"self":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/5397","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/comments?post=5397"}],"version-history":[{"count":0,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/5397\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media\/5398"}],"wp:attachment":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media?parent=5397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/categories?post=5397"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/tags?post=5397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}