Comments (8)
@HenrikBengtsson do you think there's still a need for different "master" and "richcala/foreachFutureTake3" branches? Just trying to rationalise the structure.
from foreach.
Yes, I think for a bit longer. The long story...
My suggestions:
-
For now, don't drop branches unless you know for sure you don't want them. They add to the clutter but otherwise just pointers in git. If you buy into the below, you can just rename/reorganize into that model. That will clarify things.
-
Look into the https://nvie.com/posts/a-successful-git-branching-model/. The gist is that
master
always reflects you latest release (=what's on CRAN). You never commit to master - only merge into it. Continuous development and bug fixes goes in to thedevelop
branch. Major updates like the recent 'local' and the 'globals-by-future' subprojects can be developed in 'feature/local' branches. When these are "closed" you merge them back into thedevelop
branch (="to become the next release"). -
There's a shell tool
git flow
(https://github.com/petervanderdoes/gitflow-avh) that automates all of the above branching model.
I've used above branching model and tools for several years now and I can't imagine doing something else. It really cleared things up for me when I found it.
from foreach.
Also, lately I've made develop
my default branch on GitHub so that people can see what's new and when they fork and create PRs that's the branch they work on.
from foreach.
Yeah, it's just a bit complicated here because master isn't really a master; it's another staging branch that contains some of the work done to interop with future. The rest of the work is in richcala/foreachFutureTake3.
I think the reason for this structure is because master corresponds to the version of foreach loaded on the Azure DSVM image, but that's actually pretty old now.
from foreach.
I've now done something like what you suggested and made the new "staging" branch the default.
from foreach.
Another thing you could do is git tag 1.4.8
and git push --tags
to tag commits corresponding to the different CRAN releases. (That way you can also install_github("org/repos@version")
)
from foreach.
I've renamed master to mro/1.5.2 to reflect what it actually is. I'm not too worried about tracking releases, since they're always available from CRAN itself.
from foreach.
You want to have a master
branch, which I suggest should be the latest release (see above). Some tools expect a master branch, e.g. remotes:: install_github()
.
Not critical, but tagging CRAN releases help devs/users when troubleshooting among other things, e.g. makes it easy to git diff
what changed etc. The git flow
tool does this automatically.
Tags can be kept for ever. Most branches tend to come and go.
from foreach.
Related Issues (20)
- WISH: Make it possible do undo a registerNnn() call HOT 1
- Vignette title errors
- BUG: getDoSeq() refers to non-existing field HOT 1
- BUG: setDoSeq() attempts to remove the incorrect variables on error HOT 1
- speed is not good as compared to sequence foreach?
- Proxy settings are not exported inside foreach block HOT 1
- "socketselect" takes long time when the number of process increases. HOT 2
- R crash accessing object created in parallel, foreach() HOT 18
- Is it possible to save and register some previous parallel backend again later? HOT 3
- foreach package environmental error: "'rho' must be an environment not promise HOT 1
- %dopar% doesn't work but %do% works
- .noexport not working as expected HOT 2
- How to tell if you are already within %dopar% loop? HOT 2
- Parameter '.combine' does not give consistent results HOT 5
- foreach in packages and tests HOT 2
- params of unregister foreach, where they are in the env? (linting)
- Formula defined outside %dopar% cannot get variables in Global environment
- How to combine 'foreach' with "shinybusy"?
- Passing .options causes eager evaluation of all arguments in foreach()
- Depending packages have to be in userdirectory
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 foreach.