<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hi Eric,</p>
<p><br>
</p>
<p>usually, git repositories are loaded from Metacello using a snippet like this:</p>
<p><br>
</p>
<p></p>
<div>Metacello new</div>
<div><span style="white-space:pre"></span>baseline: 'SqueakInboxTalk';</div>
<div><span style="white-space:pre"></span>repository: 'github://hpi-swa-lab/squeak-inbox-talk:main';</div>
<div><span style="white-space:pre"></span>load.</div>
<div><br>
</div>
Note that the repository does not contain a URL in the HTTP scheme but a special protocol that must be supported by Metacello. The part after the last colon indicates the branch name to use. These protocols are maintained in MetacelloPlatform >> #<span>extractTypeFromDescription:,
 and apparently, GitLab is not yet supported. I think that you would either need clone/download your repository manually (e.g. via OSProcess) and then use the filetree:// resp. tonel:// protocol to locate the cloned folder on your disk, or you could add support
 for GitLab to Metacello yourself. In theory, this should not be too complicated; for example, Bitbucket support comes with no more than a dozen of selectors that need to be overridden. I'm sure Dale Henrich would be glad about your pull request!</span>
<p></p>
<p><span><br>
</span></p>
<p><span>Apart from that, if your repository is not publicly accessible, you will need to authenticate yourself which can be done by passing #username: and #password: (the latter usually being a token) to the Metacello instance.</span></p>
<p><span><br>
</span></p>
<p><span>At a first glance, your baseline looks fine to me.</span></p>
<p><span><br>
</span></p>
<p><span>Hope this helps,</span></p>
<p><span>Christoph</span></p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Eric Gade <eric.gade@gmail.com><br>
<b>Gesendet:</b> Montag, 6. September 2021 22:48:16<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> [squeak-dev] Metacello, Baselines, and Git</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div>Hi All,</div>
<div><br>
</div>
<div>I'm trying to load a Git project I have that is hosted on a private GitLab host and am running into some trouble.</div>
<div><br>
</div>
<div>When I try the following in a Workspace:</div>
<div><br>
</div>
<div>```</div>
<div>Metacello new<br>
     repository: '<a href="https://source.mnt.re/darth-cheney/squeak-reform-tools.git/">https://source.mnt.re/darth-cheney/squeak-reform-tools.git/</a>';<br>
     baseline: 'Reform';<br>
     load.</div>
<div>```<br>
</div>
<div>I am getting inscrutable Metacello errors. I have tried to step through and debug what's going on but this part of things is inscrutable to me (I can't even find where the remote request is being made).</div>
<div>  <br>
</div>
<div>Unless I have really messed this up, I think that my Baseline is configured correctly:
<a href="https://source.mnt.re/darth-cheney/squeak-reform-tools/-/blob/main/BaselineOfReform.package/BaselineOfReform.class/instance/baseline..st">
https://source.mnt.re/darth-cheney/squeak-reform-tools/-/blob/main/BaselineOfReform.package/BaselineOfReform.class/instance/baseline..st</a></div>
<div>  <br>
</div>
<div>One issue that might be tripping this up is that this particular GitLab server uses `main` instead of `master`. I don't have any other branches in the repository, however. Should I have to manually specify the main branch when loading, and, if so, how
 do I go about doing that?</div>
<div><br>
</div>
<div>Thanks for any hints,<br>
</div>
<div><br>
-- <br>
<div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr">
<div>Eric</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>