Comments (7)
This was exactly what I was thinking of. The only issue, following your example, is that if, say, we have LaTeX template (and all the others) to version 2.4.1, as well as CTAN, if we update the word template and tag the whole project to 2.4.2 (including LaTeX) we will apparently be out of sync since the LaTeX source (here and in CTAN) will still be @ 2.4.1...
Another option, following and taking semver to the extreme, could be to use the "pre-release" level.
The example above would result in a 2.4.1-win.1 or something similar.
I could discuss with the other the idea to split the project in three different ones... but then we'll have different versions for different platforms. Could be, let me think of it.
Thanks for the input, in the meantime.
from jacow_templates.
I was also surprised not to see any version tags here, expecting as @smartsammler noted above.
from jacow_templates.
Thanks for the suggestion.
I'm not sure about tags. The problem is that this repo includes templates for Word (Windows), Word (Macintosh), Open Document and LaTeX. Every platform is followed (maintained) by a person who sends the files to me so that I can update the project here. I know, not the right way to do it, but that's it.
The "versions" of every "platform" could change in different times. If, say, I tag this release as 2.4 (the current LaTeX version) and then I need to update the word files, should I tag that as 2.4.1? It would make sense, but then we will get out of sync with CTAN again... Any suggestion?
Also, the CTAN files are not managed by me so, yes, the times could differ.
from jacow_templates.
Hmm, that's a good point in that you're really releasing 3 templates which may be out of sync with respect to one another and have their own set of issues.
Ignoring the option of splitting the templates into different repositories and having separate versions for each: my initial thought is that you could keep the LaTeX version as the "main" template, which would be primarily where the version number is based off of.
So, if the master branch as-is reflects CTAN-released 2.4, then it should be tagged as such.
If someone sends a minor fix for the LaTeX template - it's simple, tag 2.4.1, release to CTAN and move on.
If someone then sends a minor fix for the word template - bump the minor version 2.4.2 so word users will have a consistent version to tell others to use. Uploading this to CTAN would be optional.
If a major big change comes along (however unlikely that may be), you would commit each new template from the various sources to master. Only once all of them are in would you tag 3.0.
from jacow_templates.
An alternative approach could be to have simply different tags and version numbers for each of the templates, e.g.:
WordWin-1.0.0
WordMac-1.2.0
LaTeX-2.4.1
I couldn't find a good discussion on it, but here is the question asked: https://stackoverflow.com/questions/47316073/monorepo-version-tags-conventions
from jacow_templates.
according to this idea, when I will need to update all three platforms at once, I should branch, update files, then merge & tag one platform at a time. This will result in something like:
Word/2.3.4
LaTeX/2.4
etc.
this would also clarify when any platform has been updated.
I'll give it a try
from jacow_templates.
👍 I think this looks good now. I didn't open the issue, but I think it'd be reasonable to close it at this point.
from jacow_templates.
Related Issues (2)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jacow_templates.