-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version control in Jamulus documentation #31
Comments
Sounds good to me. The Spanish translation is currently up to date with the English version. |
Do we need to avoid peppering the development branch with small changes? Or is that not an issue if we do a regular merge into the translation branch - I would imagine that means translators then get one diff to work on? If so then that's good. I'd like to be able to comment changes too so that we can communicate why they are being made, and maybe get feedback on improvements to the changes. BTW I'm assuming we do the development to translation merge at some predictable interval, if only to send out a reminder to the translators. Monthly? Or maybe perhaps a week or so before a release, which is what Volker does with the app? |
I think we should follow the release period of the app (for me it makes sense). I don't know how much work all these branches would make (especially management, of pull requests,...) |
Would tags be easier/better for this? I don't actually have any experience with tags so maybe not, but could we tag changes on a "translation" branch with the name of the upcoming release, thereby only having two branches? |
We could probably also use milestones. They're better suited for that. We could assign translators to new PRs they would then be able to translate all files before a merge. Nevertheless, I think a fixed period for translating following the app is better and easier for translators. |
I'm not sure if we resolved exactly how we'd be doing documentation changes other than saying we'd do them all prior to each software release. I'm keeping a list in a Google doc for the moment (and will add this). But what are the options?
|
I wouldn't say that's optimal. I think changes should be visible on GitHub for everyone (maybe with Milestones/Projects/...). We can mention all translators since they belong to the jamulussoftware organisation at once @ jamulussoftware/translators |
Yes but I'm only doing that until we work out a way of batching changes and communicating them properly. Otherwise I'll forget :-) So of the options I've listed, which do think might be best? I assume we don't want to spam the translators with PRs for individual changes (like this one), so that implies some form of collection process first. From my POV, I think 3 would be the most democratic, since only tiny proportion of Jamulus users know what a PR is. |
New release date set for Nov 22nd: jamulussoftware/jamulus#77 (comment) I've got a bunch of changes to make here. I think they're all uncontroversial but I'm not sure how some of them will be done exactly until I do them. I'll do them as soon as I can then message the translators with a summary and we'll see how that works? |
1-6 No problem. 7-8: ok 9: think about a redesigned manual. Already for this release? The translators should also check if their translation is really up to date with the English version. There might still be some differences. |
For 9 - yes. Might benefit from a better layout maybe but for now I'll just update as it is. |
I think after #42 and your changes are finished we will need a complete documentation freeze to allow translation to begin. |
@ignotus666 said
|
Ok that sounds like a good plan. I suggested a modifications branch but I don't think we agreed on that exactly, and then the new release came up so we've had do it a bit messily this time. So, how about I do a test of this approach for the last remaining changes? That is:
|
Copy/pasting from the "team's discussion" as @ann0see advised. (ann0see: for clarity I've erased the post in the team's discussion section then). (Please, note that I didn't read this discussion yet and will do later today.) Hi all. I'm working on translation for larger scale software (I'm the French translator for Audacity as an example). I recommand a few translators rules for here. For translation purpose, there is an "origin" text which is the English version. The translators must not change the original wordings by interpretation because it couldn't work in a bunch of situations such as:
Suggested rule of thumb:
Feedbacks welcomed. |
More or less what I proposed but IMO another intermediate branch needs to be added to what you describe - one that receives all the commits to "next_release" consolidated into a single commit. This should make it much easier for translators to see all the changes made, all grouped together, instead of having to inspect commits one by one. I like the branch names proposed by @gilgongo ('changes' and 'translation') as they are descriptive. I agree with sticking to the English 'master' version and refraining from subjective interpretations. If you think there's something wrong with the original, submit a proposal. I would also add to the list:
|
OK so I've got a couple of minor remaining changes on this pull request: I can only squash and merge to the "base branch" (is that "main"?) though. Should I do that? EDIT: Maybe I need to do it on the command line? So first create a new branch (translation-3.6.1) then:
Is that right? |
I think that's right. I'd rename changes-3.6.1 to development and translation-3.6.1 to translation. Basically it's very close to the first proposal in this issue. What would be a normal process?
I fear that these branches could lead to confusion and an overly complicated workflow.
Since you're not a translator, I think that's alright. BUT: we are currently in translation phase. The spanish version will not have this update. Any thoughts on that? |
@gilgongo: When you open a PR on (let's call it) 'development', you can choose where you want it merged to . By default it's set to base:master, but you can change that to whatever branch you want: You make the PR and then, the next 'merge' step is when you set it to 'squash and merge'. I just tested it with my own repo and it's quite simple. @ann0see: I don't think it necessarily has to be too confusing. The wiki maintainers only make changes to the 'development' branch, and translators should only focus on the 'translation' branch. As in the process you describe above, when the release date approaches the maintainers merge 'development' into 'translation' and translators get a message about the upcoming release and make their commits to the 'translation' branch. When the day arrives, the maintainers merge it into 'master' and that's it. |
The PRs could even be automated somehow maybe with something like https://peterevans.dev/posts/github-actions-how-to-create-pull-requests-automatically/ or https://github.com/palantir/bulldozer and https://probot.github.io/apps/todo/ It would be great to have an automated workflow like this: corrados mentions a new planned release on the release day and if everything is approved the pr is automatically merged. On corrados/jamulus an action automatically compiles jamulus and uploads the binaries to SourceForge or better GitHub (but as far as I know, corrados wants to stay on SF) |
@gilgongo OK but I've made the PR now so is it too late to tell it to where to merge to? I think I can do it on the command line though. @ann0see I'll name them "development" and "translation" in future then - I just wondered if the version number might make things clearer but maybe it's just more complexity. |
@trebmuh say
Agree and follow (and understand why) this rule now. (It took a little time...) But, For the point 3, how to deal with the realease/next-realease process if that is a new translation (as our works on French is) wich come during realease pocess (the freeze before publishing)? |
Thanks for that.
I'd say no. You're probably thinking right now that "it would be quicker" because you're thinking from your inner point of view from a situation you probably saw while translating into French (I'd bet for the macOS/Macintosh one as a good example). But here is another point of view to take in consideration: if, let's say the Belarusian (I'm sure we will have one one day!) is finding a typo in the English version and then decide to fix it in his translation PR. What are the chances for the French translator (as an example) to notice this while this "fix" will be lost inside a big Cyrillic writings PR? Chances are much higher if the fix is another PR. We should go for a PR code-naming rule for this, such as (open proposition)
About point 3, I'm unsure. I understand your point, but it mostly apply because we're on a transition phase with the French translation. It could be quicker to do something like you are proposing but it would push more pressure on the merger's shoulder (gilongo and ann0see). I'm fine with the translation being merged at the same rate. I can keep my frustration of not seeing it online straight away because I know that Corrados is releasing pretty often (roughly every 3 weeks). Thoughts? |
Coming back to version control. I think we have to clarify how we work. I posted this in the french translation thread. So a normal process would look like this: 0. Is the language of your content already online and existing?No: Will discuss this later (since you introduce a new language). 1. Be clear if your change needs translationNo: A fix which doesn't need to be translated (e.g. typo) --> Commit to 2. Be clear if there is an update going onYou can see this if we ping the translators in a pr from changes to translation. If yes: translate the changes of the pull request from changes to translation. If you find issues, start with 1 New language
At least that's what I think the process works like. |
@gilgongo @ignotus666 |
No problemo! |
Unfortunately it did not succeed this time. Let me make a few changes to other files. |
Yes. I think it only supports one commit alone. So maybe we should have done squash and merge. Maybe the process has to be simplified (before each new release of the documentation, we merge main into changes (and fix conflicts), after that, we open the pr to translation (which is before that synced with main), and then ping the translators). Currently the diff between main and changes is quite clean. |
OK so Volker wants to get the next release out this weekend: jamulussoftware/jamulus#77 (comment) So do we squash merge the changes branch into a new "->>TRANSLATION 3.6.2<<-" branch now? |
Probably yes. Please merge release into changes before (and we should also take care of the new knowledge base) |
And the translation branch should be updated too. |
It says "changes" is up to date with all commits from "release". So I don't need to merge it? I had assumed I'd create a new branch for translation (with the version number in it), and then squash merge "changes" to that. But do we instead maintain one "translation" branch all the time? Before I do that though, I have to add one thing to changes for this release: Also, do we need to do anything for knowledge base? Can't we leave that until later? |
Agree. Leave it until later. I have merged release into translate (so the diff should be almost clean).
I'll leave it up to you. The translate branch is set up and has the correct permissions for translators (some have push access now).
Ok. Then we must wait. I suggest, you open a pr from changes to translate verify that translate is in sync with release again, merge it and ping @ jamulussoftware/translators in there. Please add a statement that issues in the english translation not introduced by these changes should be raised in a separate issue and that the content of this pr should focus on the current changes (if there is a typo for these specific changes which only affects the english version, they can comment on this pr). If something is only related to a specific language, please open a pr to the translate branch and discuss the changes there with the other people of the translation team. This keeps the discussion under the PR tidy and focused. |
OK but @ignotus666 wanted to have the translation branch name in capitals with emojis and things so translators could see it more easily I think. Can you re-name it with fire emojis or something? |
Puh. I don't know anything about emojis in git (I'm afraid it would brake the branch). I think @ignotus666 didn't mean that. He wanted the commits to have capital letters. |
We need animated fireworks emojis, preferably with sound. And things. Nah. This:
|
OK so I'll create a new translation branch for the latest release (using a suitable shouty name), commit anything that needs changing into "changes", and then squash merge changes to that new translation branch, yes? |
I'd open a PR to the translate branch since it should be up to date
Yes. You should ping the translators there too. They will then comment on a merged PR. |
Sorry - just to be clear: you mean I should not create a new translation branch? I thought we needed to name it loudly so translators could see it? |
The branch already exists it's called translate and people like @trebmuh have push access to this branch already. We could also create a separate branch, but I don't see any advantage for doing so. We mention the translators with |
OK that's done. |
Great. So translations can start (based on the content of the new PR) |
@gilgongo Did you include jamulussoftware/jamulus#731? I've added a brief description to your PR but we need to check if everything is ok and then mention the translators. |
I've now moved the issues for the specific languages to the new GitHub discussion section since they aren't issues and will not be closed at any time. I hope this helps to unclutter the issues tab We should clarify when to open an issue, and when a discussion. Issues should really be problems and focus on the topic of the issue title. If there's a new idea --> open a new issue jamulussoftware/translators should only be for announcements from gilgongo to all translators (e.g. if the translation phase starts. Talk about the changes should take place in the Pull Request he merged since they can be resolved). What do you think? Edit: Don't want to loose this comment by @ignotus666 (which is quite difficult ;-))
|
I think, we now have a process which is at least briefly documented. Can we close this now? |
Currently we suffer from unstructured editing, have different versions in languages,... We should discuss how we solve this problem (= ensure every language is up to date).
To make development easier and faster, @gilgongo suggested to make a new branch.
I think that's a good idea. We could split it into 3 branches:
main: the branch which gets built to github pages. We only submit changes here if everything was approved.
Translation: The step before approval. Here translation begins. No changes
Development: Active development, restructuring,...
So a normal workflow would look like this:
Originally posted by @ann0see in #28 (comment)
Another option would be the projects tab on github (we could document changes and todos there).
The text was updated successfully, but these errors were encountered: