83 votes
Accepted

Maintaining Two Separate Software Versions From the Same Codebase in Version Control

Instead of having two code version with a common base you should design your application in a way to make those premium features plug-able and driven by configuration rather than different code bases. ...
user avatar
  • 1,285
39 votes

Maintaining Two Separate Software Versions From the Same Codebase in Version Control

I strongly recommend not using branches for this purpose. In general, you should consider branches for things that will be (or might be) merged back together again later (or for release branches, ...
user avatar
  • 10.2k
34 votes
Accepted

Is using Git Stash as a workflow an antipattern?

From the Git SCM Book: Often, when you’ve been working on part of your project, things are in a messy state and you want to switch branches for a bit to work on something else. The problem is, you ...
user avatar
22 votes

Wouldn't it be beneficial to write tests during code review?

This is a wonderful idea, with one caveat. Don't replace developer written tests with reviewer written tests. Have your reviewers look for corner cases and inputs that will break the code. In other ...
user avatar
  • 8,841
20 votes

Is there a purpose for using pull requests on my own repo if I am the only developer?

Pull requests are created so someone can review the work, make comments, suggestions, make or request edits and then merge the code to master. In your case the someone is you. As the sole developer ...
user avatar
18 votes

Wouldn't it be beneficial to write tests during code review?

I don't think the idea is entirely without merit - however, the main benefit of the TDD et al is that problems are found early. The developer is also best placed to spot which corner cases may require ...
user avatar
  • 9,607
15 votes

Dealing with a large pull request

Let the developer who went for a couple of months without merging fix it. Maybe they can get one big chunk of code to merge, maybe they can get a bunch of little chunks to merge one at a time. In ...
user avatar
  • 5,058
12 votes
Accepted

Developers blocked by waiting on code to merge from another branch using GitFlow

The issue might also lie in a too rigid separation of task between back-end and front-end development. If a front-end developer need a new API, isn't it possible to allow him or her to create a ...
user avatar
  • 1,612
10 votes
Accepted

How do I keep two git projects in sync with each other?

but I want to separate out the library part into a separate repo, in preparation for eventually releasing it. Separating the library has a few implications. One of them is that others will use your ...
user avatar
  • 456
9 votes
Accepted

Best practices when designing a workflow engine using timers?

You can design your control flow the other way around to avoid multiple timers. When you send an email, store any context you need for a response. E.g. write this context to a database or file. ...
user avatar
  • 123k
8 votes

Maintaining Two Separate Software Versions From the Same Codebase in Version Control

We are using 2 separate projects, the Basic one and the Premium one that depends on Basic project. Do not use braches, they are usually used for features.
user avatar
8 votes
Accepted

Test driven development workflow for two programmers

In TDD, writing tests and code is interwoven, the cycles are typically very short, sometimes minutes, sometimes less. And TDD is a whitebox technique - when writing the next test, you know exactly ...
user avatar
  • 184k
8 votes

Git(flow) workflow for web development

This is very similar to a successful git branching model that we've employed in my workplace - it works wonders for us (though we differ slightly from your branching a little, and put the git tag on ...
user avatar
  • 286
8 votes
Accepted

Should collaborators on a private Github repository each fork the repo?

Cloning the repo to the developer's local machine is already a kind of forking. If each developer forks the repo on GitHub, this only serves to publish their current state of work. This can be ...
user avatar
  • 123k
8 votes
Accepted

Should I have a 'dev' branch separate from a 'production' branch?

I feel that this is overkill for a single person working on a single web application. I would use tags to give version numbers to versions you release to the production server. The staging server can ...
user avatar
  • 3,210
8 votes
Accepted

One function to produce a couple or a function per item?

What you are asking for has not much to do with the particular problem of AST processing. The question you are asking is I have to design an API for a component, the API needs to provide different ...
user avatar
  • 184k
8 votes
Accepted

How to deal with getting stuck on solo projects

Theres no magic fix. Your only choice is to limit your exposure to these types of problem. This is obviously a general rule, but I think its especially true with solo projects. Where you really don't ...
user avatar
  • 64k
7 votes

What is the value of workflow tools?

There is only one real benefit, yet its huge: Separation of Concerns. So, instead of process orchestration logic being embedded in our system, it becomes and external configuration. A map, basicly. ...
user avatar
  • 1,348
7 votes

How to cleanly add after-the-fact commits from the same feature into git tree

When you merge into master, you are essentially declaring "I'm done". It's like dropping your mail at the post office, or signing a lease. You can't change your mind after merging (of course, in ...
user avatar
  • 2,187
7 votes

Is using Git Stash as a workflow an antipattern?

I personally only use stash for short, unexpected interruptions, like someone asking a question that requires changing to a different branch. I do this because I have forgotten about stashes before, ...
user avatar
7 votes

How Best Can I Use Git When My Employer Uses VSS?

You're forgetting something - standard workflow with VSS is: checkout working copy (optionally complain others have some files locked) do work on files (optionally deal with complaints that you have ...
user avatar
  • 48k
7 votes

Workflow, editing things not in your current task

Personally, I think it depends :-). For small fixes, option three (now, in a seperate commit) is best, because the overhead of doing it later is not worth it. In that case, you just create a separate ...
user avatar
  • 9,570
7 votes
Accepted

Wouldn't it be beneficial to write tests during code review?

Wouldn't it be beneficial to write tests during code review, by the person doing the review? I have found that a good time to write tests is when you realize you need a test for a situation. Task ...
user avatar
  • 5,687
6 votes

Developers blocked by waiting on code to merge from another branch using GitFlow

Your problem: Developer A branches from Master, developer B branches from Master, both work on closely related features, and the inevitable fact that the merges into the Master branch are difficult ...
user avatar
  • 37.4k
6 votes
Accepted

Workflow for obfuscated PHP code with PHP protect

Maintain two identical hardware/software platforms: a production platform and a test platform. When an error occurs, reproduce it on the test platform. Then, upload the unobfuscated code to the test ...
user avatar
6 votes

Advantages of workflow based software development vs normal programming based software development

Following Doc Brown's advice, I've cobbled together an answer from the comments I had posted on this page. In my experience, the theoretical selling point behind workflow systems is that you don't ...
user avatar
  • 11.5k
5 votes
Accepted

Git work-flow for uncertain premise (pending decision)

Create a new development branch - let's call it "dev-with-dep". That branch will be rebased against master, and all the feature branches that depend on the new dependency will be rebased against dev-...
user avatar
  • 11.8k
5 votes

Workflow, editing things not in your current task

Consider this. When you "find annoying things (...) to clean up" and you make an executive decision to do so, you're cutting the rest of your team out of a priorities discussion and decision. You're ...
user avatar
  • 9,018
5 votes

Should collaborators on a private Github repository each fork the repo?

This would work, or you could use a branching method where each contrib has their own branch(es), that when the team agrees, are merged with master.
user avatar

Only top scored, non community-wiki answers of a minimum length are eligible