From peter.mckinna at gmail.com Wed Oct 13 08:53:42 2021 From: peter.mckinna at gmail.com (Peter McKinna) Date: Wed, 13 Oct 2021 17:53:42 +1100 Subject: [M3devel] Irregular IR Message-ID: Hi all, Well in particular Rodney I think. In the recent update to the front end towards fixing the problem of p286 a couple of new test cases were added. In p287 the IR for Def.i3 is (slightly truncated) begin_unit 0 widechar_size 16 -----FILE ../Def.i3 ----- -----LINE 8 ----- # module global constants declare_segment * -1 T v.1 # module global data declare_segment I_Def -1 F v.2 -----LINE 35 ----- declare_procedure Def_I3 1 Addr 0 0 T * p.1 declare_param mode 8 8 Int.64 425470580 F F 100 v.3 declare_subrange -2010631721 425470580 0 2 8 declare_array -740737411 -2010631721 425470580 192 declare_pointer -1719270566 -740737411 * T declare_indirect 740737410 -740737411 declare_proctype -1356247649 1 0 0 0 declare_formal LFForm 740737410 import_procedure Named_I3 1 Addr 0 p.2 declare_param mode 8 8 Int.64 425470580 F F 100 v.4 load v.2 136 Addr Addr load_indirect 104 Addr Addr pop Addr declare_proctype 329603199 1 0 0 0 declare_formal NFForm 740737410 declare_open_array -201264165 425470580 128 declare_pointer 562018850 -201264165 * T load v.2 136 Addr Addr load_indirect 112 Addr Addr pop Addr ... I was going to raise this as an issue but I'm not entirely sure it is one. (Well it is for llvm, but maybe not in a wider context since gcc handles it ok) m3llvm crashed trying to generate code for the first load which is outside a begin_procedure and hence has no basic block and no module. So I was wondering how this can be legal and if the stack is in a fit state to handle any pop's (or push's for that matter) Regards Peter -------------- next part -------------- An HTML attachment was scrubbed... URL: From vvm at tut.by Wed Oct 13 11:02:04 2021 From: vvm at tut.by (vvm at tut.by) Date: Wed, 13 Oct 2021 12:02:04 +0300 Subject: [M3devel] "Issue #758"? Re: Irregular IR In-Reply-To: References: Message-ID: <743441634115178@mail.yandex.by> An HTML attachment was scrubbed... URL: From rodney.bates at gmx.com Thu Oct 14 20:14:06 2021 From: rodney.bates at gmx.com (Rodney Bates) Date: Thu, 14 Oct 2021 13:14:06 -0500 Subject: [M3devel] Irregular IR In-Reply-To: References: Message-ID: <2d730c18-028a-ce1b-278d-ddea5167dbca@gmx.com> I think e9f7a28 fixes this. On 10/13/21 1:53 AM, Peter McKinna wrote: > Hi all, > > Well in particular Rodney I think. > > In the recent update to the front end towards fixing the problem of p286 > a couple of new test cases were added. > > In p287 the IR for Def.i3 is (slightly truncated) > > begin_unit 0 > widechar_size 16 > -----FILE ../Def.i3 ?----- > -----LINE 8 ?----- > # module global constants > declare_segment * -1 T v.1 > # module global data > declare_segment I_Def -1 F v.2 > -----LINE 35 ?----- > declare_procedure Def_I3 1 Addr 0 0 T * p.1 > declare_param mode 8 8 Int.64 425470580 F F 100 v.3 > declare_subrange -2010631721 425470580 0 2 8 > declare_array -740737411 -2010631721 425470580 192 > declare_pointer -1719270566 -740737411 * T > declare_indirect 740737410 -740737411 > declare_proctype -1356247649 1 0 0 0 > declare_formal LFForm 740737410 > import_procedure Named_I3 1 Addr 0 p.2 > declare_param mode 8 8 Int.64 425470580 F F 100 v.4 > load v.2 136 Addr Addr > load_indirect 104 Addr Addr > pop Addr > declare_proctype 329603199 1 0 0 0 > declare_formal NFForm 740737410 > declare_open_array -201264165 425470580 128 > declare_pointer 562018850 -201264165 * T > load v.2 136 Addr Addr > load_indirect 112 Addr Addr > pop Addr > ... > > I was going to raise this as an issue but I'm not entirely sure it is one. > (Well it is for llvm, but maybe not in a wider context since gcc handles it ok) > > m3llvm crashed trying to generate code for the first load which is outside > a begin_procedure and hence has no basic block and no module. > > So I was wondering how this can be legal and if the stack is in a fit state > to handle any pop's (or push's for that matter) > > Regards Peter > > > > > _______________________________________________ > M3devel mailing list > M3devel at elegosoft.com > https://m3lists.elegosoft.com/mailman/listinfo/m3devel -------------- next part -------------- An HTML attachment was scrubbed... URL: From peter.mckinna at gmail.com Sun Oct 17 14:42:58 2021 From: peter.mckinna at gmail.com (Peter McKinna) Date: Sun, 17 Oct 2021 23:42:58 +1100 Subject: [M3devel] Irregular IR In-Reply-To: <2d730c18-028a-ce1b-278d-ddea5167dbca@gmx.com> References: <2d730c18-028a-ce1b-278d-ddea5167dbca@gmx.com> Message-ID: Great, thanks! And it did. All the tests seem to work. However, I cant get any of the ui tests to work. They all crash with segv in XMessenger.m3 line 426 A VBT.MiscRec constructor seems to be causing grief. Can you confirm? Peter On Fri, 15 Oct 2021 at 05:14, Rodney Bates wrote: > I think e9f7a28 fixes this. > > On 10/13/21 1:53 AM, Peter McKinna wrote: > > Hi all, > > Well in particular Rodney I think. > > In the recent update to the front end towards fixing the problem of p286 > a couple of new test cases were added. > > In p287 the IR for Def.i3 is (slightly truncated) > > begin_unit 0 > widechar_size 16 > -----FILE ../Def.i3 ----- > -----LINE 8 ----- > # module global constants > declare_segment * -1 T v.1 > # module global data > declare_segment I_Def -1 F v.2 > -----LINE 35 ----- > declare_procedure Def_I3 1 Addr 0 0 T * p.1 > declare_param mode 8 8 Int.64 425470580 F F 100 v.3 > declare_subrange -2010631721 425470580 0 2 8 > declare_array -740737411 -2010631721 425470580 192 > declare_pointer -1719270566 -740737411 * T > declare_indirect 740737410 -740737411 > declare_proctype -1356247649 1 0 0 0 > declare_formal LFForm 740737410 > import_procedure Named_I3 1 Addr 0 p.2 > declare_param mode 8 8 Int.64 425470580 F F 100 v.4 > load v.2 136 Addr Addr > load_indirect 104 Addr Addr > pop Addr > declare_proctype 329603199 1 0 0 0 > declare_formal NFForm 740737410 > declare_open_array -201264165 425470580 128 > declare_pointer 562018850 -201264165 * T > load v.2 136 Addr Addr > load_indirect 112 Addr Addr > pop Addr > ... > > I was going to raise this as an issue but I'm not entirely sure it is one. > (Well it is for llvm, but maybe not in a wider context since gcc handles > it ok) > > m3llvm crashed trying to generate code for the first load which is outside > a begin_procedure and hence has no basic block and no module. > > So I was wondering how this can be legal and if the stack is in a fit state > to handle any pop's (or push's for that matter) > > Regards Peter > > > > > _______________________________________________ > M3devel mailing listM3devel at elegosoft.comhttps://m3lists.elegosoft.com/mailman/listinfo/m3devel > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rodney.bates at gmx.com Sun Oct 24 21:36:46 2021 From: rodney.bates at gmx.com (Rodney Bates) Date: Sun, 24 Oct 2021 14:36:46 -0500 Subject: [M3devel] Help unreverting Message-ID: <95879704-4c2b-cd3d-fa85-d9f9dee2b283@gmx.com> According to my documentation on git, it protects me against loss of uncommited changes.? It has failed to do this, in my attempt to get 8098c08 and fe79f6c back, which were reverted by 556e65a, into new branch remoteConsructors, combined with latest fix ef1bd63. While my local directory had unreverted versions of 8098c08 and fe79f6c, merged with what is now in ef1bd63 (in remoteConsructors only), the changes in the former two are now gone, neither in either branch nor in local copies.? There are many changes in these 3 commits, some of them in overlapping file sets. I guess I was supposed to make a back up copy of my entire git repo before trying to create a branch and commit a new fix. Does anybody have any advice on how to unravel this mess? From lemming at henning-thielemann.de Sun Oct 24 21:45:02 2021 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Sun, 24 Oct 2021 21:45:02 +0200 (CEST) Subject: [M3devel] Help unreverting In-Reply-To: <95879704-4c2b-cd3d-fa85-d9f9dee2b283@gmx.com> References: <95879704-4c2b-cd3d-fa85-d9f9dee2b283@gmx.com> Message-ID: On Sun, 24 Oct 2021, Rodney Bates wrote: > According to my documentation on git, it protects me against loss of > uncommited changes. Does it? In my experience, uncommited changes in git are pretty volatile. > While my local directory had unreverted versions of 8098c08 and fe79f6c, > merged with what is now in ef1bd63 (in remoteConsructors only), the changes > in the former two are now gone, neither in either branch nor in local > copies.? There are many changes in these 3 commits, some of them in > overlapping file sets. But this sound like you had already put your changes into commits. You may use 'git gui' and its view of the commit history. There you can watch every commit and maybe you find your lost changes? From jayk123 at hotmail.com Sun Oct 24 22:33:28 2021 From: jayk123 at hotmail.com (Jay K) Date: Sun, 24 Oct 2021 20:33:28 +0000 Subject: [M3devel] Help unreverting In-Reply-To: <95879704-4c2b-cd3d-fa85-d9f9dee2b283@gmx.com> References: <95879704-4c2b-cd3d-fa85-d9f9dee2b283@gmx.com> Message-ID: Try things like git checkout -p 8098c08 or git checkout -p 8098c08~1 -p to prompt for everything ~1 for prior commit. Given that you have a commit hash, the stuff is saved plenty. Unless you force push to github, that can erase stuff. Also git show 8098c08 and you can piece things together. git difftool -dy 8098c08~1..8098c08 etc. Or checkout the branch where the revert happened. Revert the revert. Cherry pick the revert-revert to wherever. Many options. - Jay ________________________________ From: M3devel on behalf of Rodney Bates Sent: Sunday, October 24, 2021 7:36 PM To: m3devel Subject: [M3devel] Help unreverting According to my documentation on git, it protects me against loss of uncommited changes. It has failed to do this, in my attempt to get 8098c08 and fe79f6c back, which were reverted by 556e65a, into new branch remoteConsructors, combined with latest fix ef1bd63. While my local directory had unreverted versions of 8098c08 and fe79f6c, merged with what is now in ef1bd63 (in remoteConsructors only), the changes in the former two are now gone, neither in either branch nor in local copies. There are many changes in these 3 commits, some of them in overlapping file sets. I guess I was supposed to make a back up copy of my entire git repo before trying to create a branch and commit a new fix. Does anybody have any advice on how to unravel this mess? _______________________________________________ M3devel mailing list M3devel at elegosoft.com https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fm3lists.elegosoft.com%2Fmailman%2Flistinfo%2Fm3devel&data=04%7C01%7C%7Cd495cc21639a47d0a6c608d99725aaac%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637707010307661153%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=W%2BFwWZPHUDMEGpKA%2BIFs0w6hqTuyYJ88uTOH1B7pbxs%3D&reserved=0 -------------- next part -------------- An HTML attachment was scrubbed... URL: From vvm at tut.by Mon Oct 25 12:27:52 2021 From: vvm at tut.by (vvm at tut.by) Date: Mon, 25 Oct 2021 13:27:52 +0300 Subject: [M3devel] Help unreverting In-Reply-To: References: <95879704-4c2b-cd3d-fa85-d9f9dee2b283@gmx.com> Message-ID: <6287111635156586@mail.yandex.by> An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: cm3-ef1bd6329a059bc68d0f54d8504e82484c63b8f9 -- Is Master branch .) _ Or .) _.png Type: image/png Size: 45338 bytes Desc: not available URL: From jayk123 at hotmail.com Mon Oct 25 13:58:44 2021 From: jayk123 at hotmail.com (Jay K) Date: Mon, 25 Oct 2021 11:58:44 +0000 Subject: [M3devel] Help unreverting In-Reply-To: References: <95879704-4c2b-cd3d-fa85-d9f9dee2b283@gmx.com> <6287111635156586@mail.yandex.by> Message-ID: I'm sure you did nothing wrong. A working compiler is valuable. Git is, well, it takes time to learn. I never use stash. I just put stuff in branches. Stash seems to be discouraged by some folks, and seems to be, kinda an unusual and narrow purpose thing, when branches work well enough. But if it seems easier, sure. I would numbly suggest use PRs for everything and practise a few modes: - if confident and uncontroversial, just approve and commit yourself right away. At least it gives the appearance of partially more mainstream practise. It is a bit busy work and extra clicking, granted. - if very unconfident/controversial, wait for approval. - if somewhere in the middle, let PR linger a little waiting for approval, and then approve/commit yourself anyway. Like in the revert case, it lets you take partial action, maybe pause a few hours or day, and then continue. My current job is arguably brutal, arguably perfect. Automation is regularly running many tests against master (more than CI), determines presumably by bisect which commits broke any test and reverts without hesitation. Sometimes getting it wrong, but, that is a cost. There is no grace period (unless maybe you discover the problem and race?) Developers might not be able to run the full validation, at least not easily, but again, it is a cost or a gamble. You don't necessarily want to wait for that time, and you don't necessarily mind the automated revert. Arguably it is a playground too though. I mean, I do wonder what it is used for, except to build itself. I don't know. - Jay ________________________________ From: Eric Sessoms Sent: Monday, October 25, 2021 11:42 AM To: vvm at tut.by ; Jay K ; m3devel ; Rodney Bates Subject: Re: [M3devel] Help unreverting Hi all, When I reverted the WIP on constructors, I made a point to preserve that work on the branch rodney-was-here, and I took care that branch had enough shared history with master that it would merge cleanly and the new constructor work would take precedence over the revert when it did get merged in. I had noticed that some committers (not just Rodney) seem to struggle with git, so I was making sure it would be as easy as possible to undo. If you tried to pull with uncommitted work, git would have refused unless you stashed it. That stash will show if you type: git stash list You can resurrect it with "git stash apply", OR, because stashes can float between branches, you can checkout the branch rodney-was-here and *then* type "git stash apply" and you should be exactly where you were before my revert. Of course, if your goal is to undo the revert, it can be reverted like any other commit. The nuclear option is is to reset the repository to before my revert: git reset dee76c387ab3cd226851ad2ef9f11a71f85cd55d git push --force origin But for that to work you need to disable branch protection on master here https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmodula3%2Fcm3%2Fsettings%2Fbranches&data=04%7C01%7C%7C2dada2b311044127abc708d997ac92c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637707589720763882%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=1Fz%2FE7zDx4JG0YwNu0yuZRy8KjpP3AyXYyUnB8xM6Y8%3D&reserved=0 Warning: "reset" will destroy your WIP if it is not saved elsewhere. That gives you at least four different ways to undo my undo (merge, stash, revert, and reset). Of course I was aware that "new guy" reverting work by a senior dev would be a touchy issue. I let HEAD sit broken for two full weeks before taking any action. And I wasn't quiet about it. So this revert was also a question: is this project trying to produce a working Modula-3 compiler, or is it more of a playground sort of thing? I think it's great that Rodney is trying to fix this longstanding and obviously very difficult bug, but there's no technical reason the whole rest of the world has to sit broken while he figures it out. Our tools--git in particular--are better than that. But if a working compiler is not the primary goal, then I'm sorry to have bothered you, and I will f*** right on off. On 10/25/21 6:27 AM, vvm at tut.by wrote: > + coder5506@ > Hi! > ( > I can prepare in GITKraken needed "pool requests" > ) > 2) > } the changes in the former two are now gone, neither in either branch > Are You see this branch? > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmodula3%2Fcm3%2Fcommits%2Frodney-was-here&data=04%7C01%7C%7C2dada2b311044127abc708d997ac92c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637707589720763882%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=UXV02hzptwr1g8Qa3ncPy6s8IAYThQ9rwW%2B%2BMq5ceXo%3D&reserved=0 > > 1) > Which variant > remoteConsructors > ( ^^^^ without char "t" ) > remoteConsructors > is good? > I.e. this > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmodula3%2Fcm3%2Fcommits%2FremoteConsructors&data=04%7C01%7C%7C2dada2b311044127abc708d997ac92c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637707589720773879%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=fzpD8GV7sPVlyxSdWfndM0h6EsJ73%2BImPI8CTNr2QQ8%3D&reserved=0 > > or this > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmodula3%2Fcm3%2Fcommits%2FremoteConstructors&data=04%7C01%7C%7C2dada2b311044127abc708d997ac92c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637707589720773879%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=58iiRr3Gp4xeiqSnJxjMSgLO6cJKnzaylHePomk%2F%2FPo%3D&reserved=0 > > ? > Are You see ( as I see in GUI GIT software GITKraken ) this? > Best regards, Victor Miasnikov > 24.10.2021, 23:33, "Jay K" : > > Try things like git checkout -p 8098c08 > or git checkout -p 8098c08~1 > -p to prompt for everything > ~1 for prior commit. > Given that you have a commit hash, the stuff is saved plenty. > Unless you force push to github, that can erase stuff. > Also git show 8098c08 and you can piece things together. > git difftool -dy 8098c08~1..8098c08 > etc. > Or checkout the branch where the revert happened. > Revert the revert. > Cherry pick the revert-revert to wherever. > Many options. > - Jay > ------------------------------------------------------------------------ > *From:* M3devel > on behalf of Rodney Bates > > > *Sent:* Sunday, October 24, 2021 7:36 PM > *To:* m3devel > > *Subject:* [M3devel] Help unreverting > According to my documentation on git, it protects me against loss of > uncommited changes. It has failed to do this, in my attempt to > get 8098c08 and fe79f6c back, which were reverted by 556e65a, into > new branch remoteConsructors, combined with latest fix ef1bd63. > > While my local directory had unreverted versions of 8098c08 and fe79f6c, > merged with what is now in ef1bd63 (in remoteConsructors only), the > changes > in the former two are now gone, neither in either branch nor in local > copies. There are many changes in these 3 commits, some of them in > overlapping file sets. > > I guess I was supposed to make a back up copy of my entire git repo > before > trying to create a branch and commit a new fix. > > Does anybody have any advice on how to unravel this mess? > _______________________________________________ > M3devel mailing list > M3devel at elegosoft.com > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fm3lists.elegosoft.com%2Fmailman%2Flistinfo%2Fm3devel&data=04%7C01%7C%7C2dada2b311044127abc708d997ac92c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637707589720773879%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ATA4KadcohY%2FlRRO7mJWvYlHkV9WyLLME7eQOr%2FGFwo%3D&reserved=0 > > , > > _______________________________________________ > M3devel mailing list > M3devel at elegosoft.com > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fm3lists.elegosoft.com%2Fmailman%2Flistinfo%2Fm3devel&data=04%7C01%7C%7C2dada2b311044127abc708d997ac92c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637707589720773879%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ATA4KadcohY%2FlRRO7mJWvYlHkV9WyLLME7eQOr%2FGFwo%3D&reserved=0 > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jayk123 at hotmail.com Mon Oct 25 14:32:49 2021 From: jayk123 at hotmail.com (Jay K) Date: Mon, 25 Oct 2021 12:32:49 +0000 Subject: [M3devel] "auto" target? Message-ID: I'd like to make a new target. Something like: It'd be named "auto" or "auto"-something or "unix". Initiallly it'd be C backend, 64bit little endian Unix, but it could expand to 32bit, big endian, and maybe but probably not Windows. cm3 would write trivial autotools inputs, really mainly automake. And it'd use libtool. And then autoconf+configure+make. cm3 -install might run make install, or it might keep doing things itself. I haven't thought this part through. "clean" builds would be annoying, all the extra autoconf+configure, but current machines have made this finally not annoyingly slow (e.g. year old Mac M1). Incremental builds would rely on move-if-change, so tend to be ok. i.e. if only editing .m3 files. Making a distribution portable to Mac and Linux would be trivial. What to do about X Windows, ODBC, etc. I'm not sure. I suppose, it is tempting to use cmake for this, right? But, relevant aside, I was recently using OSF and the autotools really impressed. So much just worked. I think Modula-3 should leverage that. We shouldn't maintain so much knowledge about compilers, linkers, and install. Thoughts? Alternatively but I don't really want to do this, is scripts/make-dist.py could generate most of this, just as a form of redistribution, not as the mainline iterative Modula-3 development. I mean, to reiterate, the point is not maintain knowledge and implementation as to how to compiler and link and build shared libraries and install. GIve that up to others who do a good job of doing it for everyone. It'd be a new platform, so doesn't imply deleting anything (though it implies a new make-dist). - Jay -------------- next part -------------- An HTML attachment was scrubbed... URL: From vvm at tut.by Mon Oct 25 14:59:08 2021 From: vvm at tut.by (vvm at tut.by) Date: Mon, 25 Oct 2021 15:59:08 +0300 Subject: [M3devel] Help unreverting In-Reply-To: References: <95879704-4c2b-cd3d-fa85-d9f9dee2b283@gmx.com> <6287111635156586@mail.yandex.by> Message-ID: <15052151635166519@mail.yandex.by> An HTML attachment was scrubbed... URL: From rodney.bates at gmx.com Tue Oct 26 03:35:47 2021 From: rodney.bates at gmx.com (Rodney Bates) Date: Mon, 25 Oct 2021 20:35:47 -0500 Subject: [M3devel] Help unreverting In-Reply-To: References: <95879704-4c2b-cd3d-fa85-d9f9dee2b283@gmx.com> <6287111635156586@mail.yandex.by> Message-ID: <8ae4f646-34c1-085f-70bc-a9f98d035ee0@gmx.com> On 10/25/21 6:42 AM, Eric Sessoms wrote: > Hi all, > > When I reverted the WIP on constructors, I made a point to preserve that work on the branch rodney-was-here, and I took care that branch had enough shared history with master that it would merge cleanly and the new constructor work would take precedence over the revert when it did get merged in. > > I had noticed that some committers (not just Rodney) seem to struggle with git, so I was making sure it would be as easy as possible to undo. > > If you tried to pull with uncommitted work, git would have refused unless you stashed it.? That stash will show if you type: > > git stash list > > You can resurrect it with "git stash apply", OR, because stashes can float between branches, you can checkout the branch rodney-was-here and *then* type "git stash apply" and you should be exactly where you were before my revert. > > Of course, if your goal is to undo the revert, it can be reverted like any other commit.? The nuclear option is is to reset the repository to before my revert: > > git reset dee76c387ab3cd226851ad2ef9f11a71f85cd55d > git push --force origin > > But for that to work you need to disable branch protection on master here https://github.com/modula3/cm3/settings/branches Warning: "reset" will destroy your WIP if it is not saved elsewhere. > > That gives you at least four different ways to undo my undo (merge, stash, revert, and reset). > > Of course I was aware that "new guy" reverting work by a senior dev would be a touchy issue.? I let HEAD sit broken for two full weeks before taking any action.? And I wasn't quiet about it.? So this revert was also a question: is this project trying to produce a working Modula-3 compiler, or is it more of a playground sort of thing? > > I think it's great that Rodney is trying to fix this longstanding and obviously very difficult bug, but there's no technical reason the whole rest of the world has to sit broken while he figures it out.? Our tools--git in particular--are better than that. Eric, I am not complaining about the reverts, just trying to get my fixes back. And I do appreciate the work you are doing. From my local testing on my one target (AMD64_LINUX), before and since, I believe the two commits in question did not introduce any new bugs. failures that have shown up since have been either prexisting bugs that were uncovered by the fixes or previously undiscovered, or problems with the tests, not the compiler.? Were there any failing tests that the reverts fixed? I will be more cautious about using branches.? But it is scary. Somewhere in my git book, there is a statement that checkout is dangerous (can't locate it now), which you have to do to switch to a branch.? OTOH, I find this statement: "if your working directory or staging area has uncommitted changes that conflict with the branch you're checking out, Git won't let you switch branches".? (ProGit, p51).? It did not happen that way for me. I have not used "--force" option anywhere. Some of the reverted files had additional changes since the earlier commits, so just undoing the revert, I would expect not to get me back. However, I have been looking into automatic daily snapshots that I have set up, and it appears one contains what I want.? So that is another possible way. > > But if a working compiler is not the primary goal, then I'm sorry to have bothered you, and I will f*** right on off. > > > On 10/25/21 6:27 AM, vvm at tut.by wrote: >> + coder5506@ >> Hi! >> ( >> ??I can prepare in GITKraken needed "pool requests" >> ) >> 2) >> } the changes in the former two are now gone, neither in either branch >> Are You see this branch? >> https://github.com/modula3/cm3/commits/rodney-was-here >> 1) >> Which variant >> remoteConsructors >> ( ? ? ? ? ? ? ? ^^^^ without char "t" ? ) >> remoteConsructors >> is good? >> I.e. this >> https://github.com/modula3/cm3/commits/remoteConsructors >> ??or this >> https://github.com/modula3/cm3/commits/remoteConstructors >> ? >> Are You see ( as I see in GUI GIT software GITKraken ) this? >> Best regards, Victor Miasnikov >> 24.10.2021, 23:33, "Jay K" : >> >> ??? Try things like git checkout -p 8098c08 >> ??? or git checkout -p 8098c08~1 >> ??? -p to prompt for everything >> ??? ~1 for prior commit. >> ??? Given that you have a commit hash, the stuff is saved plenty. >> ??? Unless you force push to github, that can erase stuff. >> ??? Also git show?8098c08 and you can piece things together. >> ??? git difftool -dy 8098c08~1..8098c08 >> ??? etc. >> ??? Or checkout the branch where the revert happened. >> ??? Revert the revert. >> ??? Cherry pick the revert-revert to wherever. >> ??? Many options. >> ???? ?- Jay >> ------------------------------------------------------------------------ >> ??? *From:* M3devel > ??? > on behalf of Rodney Bates >> ??? > >> ??? *Sent:* Sunday, October 24, 2021 7:36 PM >> ??? *To:* m3devel > >> ??? *Subject:* [M3devel] Help unreverting >> ??? According to my documentation on git, it protects me against loss of >> ??? uncommited changes.? It has failed to do this, in my attempt to >> ??? get 8098c08 and fe79f6c back, which were reverted by 556e65a, into >> ??? new branch remoteConsructors, combined with latest fix ef1bd63. >> >> ??? While my local directory had unreverted versions of 8098c08 and fe79f6c, >> ??? merged with what is now in ef1bd63 (in remoteConsructors only), the >> ??? changes >> ??? in the former two are now gone, neither in either branch nor in local >> ??? copies.? There are many changes in these 3 commits, some of them in >> ??? overlapping file sets. >> >> ??? I guess I was supposed to make a back up copy of my entire git repo >> ??? before >> ??? trying to create a branch and commit a new fix. >> >> ??? Does anybody have any advice on how to unravel this mess? >> ??? _______________________________________________ >> ??? M3devel mailing list >> ??? M3devel at elegosoft.com >> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fm3lists.elegosoft.com%2Fmailman%2Flistinfo%2Fm3devel&data=04%7C01%7C%7Cd495cc21639a47d0a6c608d99725aaac%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637707010307661153%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=W%2BFwWZPHUDMEGpKA%2BIFs0w6hqTuyYJ88uTOH1B7pbxs%3D&reserved=0 >> >> ??? , >> >> ??? _______________________________________________ >> ??? M3devel mailing list >> ??? M3devel at elegosoft.com >> ??? https://m3lists.elegosoft.com/mailman/listinfo/m3devel >> >> From vvm at tut.by Tue Oct 26 09:54:08 2021 From: vvm at tut.by (vvm at tut.by) Date: Tue, 26 Oct 2021 10:54:08 +0300 Subject: [M3devel] AMD64_NT failing of GUI utilities Re: Help unreverting In-Reply-To: <8ae4f646-34c1-085f-70bc-a9f98d035ee0@gmx.com> References: <95879704-4c2b-cd3d-fa85-d9f9dee2b283@gmx.com> <6287111635156586@mail.yandex.by> <8ae4f646-34c1-085f-70bc-a9f98d035ee0@gmx.com> Message-ID: <115021635234627@mail.yandex.by> An HTML attachment was scrubbed... URL: