Author Topic: Dates in build keys!  (Read 1893 times)

0 Members and 1 Guest are viewing this topic.

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Hey Chief! Currently dates do not appear in the build's name when you select them in WXLauncher. This makes it hard to work when you're trying to sort out exactly when a bug appeared.

Could we reverse the position of the build key and the date in the build filename? Would that help things? Would it break anything vital?
« Last Edit: November 20, 2015, 07:58:54 am by General Battuta »

 

Offline m!m

  • 211
I have a slightly different suggestion. How about replacing the commit hash with a SVN like revision number? It's relatively easy to do with rev-list and wc:
Code: [Select]
git rev-list <commit>..HEAD | wc -l
The base commit could either be the last release or some arbitrary commit in the past (e.g. 663b3471b9e14c31e7102af8b3f76c1aa465c932 for the source code import), depending on what is easier to implement.

That way we could keep the advantages of SVN revision numbers which are easier to handle than commit hashes that only make sense within the context of the git repository.

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
The goal is to be able to quickly tell which build is newer; the date accomplishes that. The git hash is still useful because there might've been commits later the same day that didn't make it into the Nightly; having the git hash lets someone look that sort of thing up if they need to. Without these "revision number alikes" being in the commit history, they would be useful only for relative ordering, which... again, the date accomplishes.
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline m!m

  • 211
The hash is only useful for developers but not for the end user. The date works for relative ordering, I haven't thought of that.

I'm currently thinking about adding a feature that lets a mod specify which FSO version is needed to play it. There have been a lot of issues with the BP release because people used too old builds. That feature needs some sort of numeric revision in order to determine if a nightly build is supported. I guess the build date is enough for that.

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
The hash is only useful for developers but not for the end user. The date works for relative ordering, I haven't thought of that.

I'm currently thinking about adding a feature that lets a mod specify which FSO version is needed to play it. There have been a lot of issues with the BP release because people used too old builds. That feature needs some sort of numeric revision in order to determine if a nightly build is supported. I guess the build date is enough for that.
Nightly builds already use it as the revision number for basically this exact reason (as in FS_VERSION_REVIS); the November 6th build is therefore 3.7.3.20151106 (and should report as such in the mainhall, debug logs, etc.). The one flaw in the system is basically that wxLauncher is displaying the git hash instead of the date; as Battuta suggested in the original post, this should be fixable by just making the nightly build script swap their order in the filename.
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline m!m

  • 211
Nightly builds already use it as the revision number for basically this exact reason (as in FS_VERSION_REVIS); the November 6th build is therefore 3.7.3.20151106 (and should report as such in the mainhall, debug logs, etc.). The one flaw in the system is basically that wxLauncher is displaying the git hash instead of the date; as Battuta suggested in the original post, this should be fixable by just making the nightly build script swap their order in the filename.
Oh, I wasn't aware of that. Just ignore me then  :warp:

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Well, we still don't have the ability for a mod to specify a specific FSO version it needs (we have version-specific comments, but those aren't quite the same thing... and matches_version_specific_tag() only accepts 3 numbers anyway (the similar scan_fso_version_string() works on anywhere from 1 to 4 values, but doesn't validate the values—just retrieves them—and is only used by FRED for some reason)). So, you know, don't drop the line of thought entirely! ;)
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline m!m

  • 211
I thought the nightly builds didn't contain the revision information which means that it needed to be added. However, that isn't true so the version feature doesn't even need any changes to the nightly system. The version test feature is nearly finished (I just need to do some tests), expect a PR shortly :p

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Yes, I realized a while back that since I had already written the version injection code for release builds, doing the same thing on nightlies was pretty trivial, so I went and added that in.  Now, as for rearranging the date and hash, you would lose the ability for a simple directory sort to display the builds in any meaningful order, alphanumerically speaking.  So I'd really rather not adjust the ordering if we can come up with a launcher-side solution for that.
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays