<div dir="auto">Once you rebase you simply move the branch pointer to a new chain of commits (they're rewritten because of the rebase, and thus have different hashes), however the old version of the branch still exists in the reflog. So locally you can definitely see your previous versions of your 'commit stack' by just pointing the branch pointer to the old commit hash or checking out that commit hash directly. However as far as I'm aware neither GitHub and gitlab expose this in their UI. </div><br><div class="gmail_quote"><div dir="ltr">On Fri, Nov 2, 2018, 09:59 Herbert Valerio Riedel <<a href="mailto:hvriedel@gmail.com">hvriedel@gmail.com</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2018-11-02 at 08:13:37 +0000, Simon Marlow wrote:<br>
<br>
> What about the wiki? Can we migrate that off Trac too?<br>
<br>
I worry that it's a lot of work to migrate it away while preserving the<br>
special markup and features that Trac provides; so the resulting pages<br>
will require a significant amount of manual cleanup and finding ways to<br>
emulate the previous features; for instance, I've been using features<br>
like <a href="https://ghc.haskell.org/trac/ghc/wiki/WikiBoxes" rel="noreferrer noreferrer" target="_blank">https://ghc.haskell.org/trac/ghc/wiki/WikiBoxes</a> a lot as they allow<br>
to highlight important information and footnote-like annotations in; and<br>
thus IMO help contribute to present the information less<br>
wall-of-text-ish which is harder to digest.<br>
<br>
[...]<br>
<br>
> I suppose we can do a squash-merge when committing to keep the history<br>
> clean, but then contributors have a choice - either do GitHub-style<br>
> where you add commits to a PR to update it and we squash on merge, OR<br>
> Phabricator-style where you keep the same set of commits and rebase<br>
> the stack to update it.<br>
<br>
(Minor nitpick: in GitLab there are no pull-requests (PRs) anymore;<br>
they're called "MRs" for "merge-request", which is probably a more<br>
accurate term to describe the concept than "PR" is)<br>
<br>
Well, if MRs are to be squashed on merge anyway, I'm definitely not<br>
going to waste my time carefully grooming a stack of atomic individually<br>
validating commits via git-rebase-interactive...<br>
<br>
> If you want to do dependent commits then you have to use Phabricator<br>
> style. Choices between workflows make things more complicated for<br>
> contributors, and that worries me.<br>
<br>
...submitting a stacked set of commits as invidual overlapping MRs<br>
(i.e. where the first MR has only the first commit, the 2nd has the<br>
first two commits from the stack, and so on) -- if that's what you're<br>
referring to as "Phabricator-style" -- sounds like an awkward workflow<br>
to me.<br>
<br>
> Does GitLab keep the history of a PR after it has been updated, like in<br>
> Phabricator? So we can see what happened between versions of a PR?<br>
<br>
I wonder too how this is represented in GitLab... especially when a MR<br>
is comprised of multiple commits, and those individual commits evolve,<br>
might get reordered, commits added or removed fromt he stack, or when<br>
the whole MR gets rebased in the process...<br>
_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" target="_blank" rel="noreferrer">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div>