177
votes
Accepted
How can I maintain code quality without SCM?
You can loosely replicate the role source control plays with three simple tools:
Back-up software (Commits/Check-ins)
Folders (Branches)
Performing a directory merge between two directories using a ...
139
votes
How can I maintain code quality without SCM?
Although the consensus would certainly be to not work for this company I don't believe that really answers your question.
You can't really replace SCM.
You might not need the usual bells and ...
110
votes
Accepted
Is it bad practice to not delete redundant files right away from VCS but instead mark them as "To be deleted" with comments first?
The problem with adding a comment to a file that it should be deleted, instead of deleting it in source control and putting the explanation there, is the assumption that if developers do not read ...
105
votes
Is it bad practice to not delete redundant files right away from VCS but instead mark them as "To be deleted" with comments first?
Yes it is bad practice.
You should put the explanation for the deletion in the commit message when you commit the deletion of the files.
Comments in source files should explain the code as it ...
61
votes
Accepted
Git - What issues arise from working directly on master?
There are several problems when commits are directly pushed to master
If you push a work-in-progress state to remote, the master is potentially broken
If another developer starts work for a new ...
61
votes
Accepted
Is my company merging branches wrong?
Some suggestions:
There is nothing wrong in having a lot of feature or bugfix branches as long as the changes done in each branch are small enough you can still handle the resulting merge conflicts ...
26
votes
How can I maintain code quality without SCM?
Basically, there is a management problem (your organization don't understand the basics of software development process, e.g. the V-model) condensing into the apparent inability of using minimal ...
18
votes
Is my company merging branches wrong?
Are we exhibiting the very anti-pattern that was described as the 'big bang merge'?
Sounds like it.
Are some of the problems we're seeing a result of this merge process?
Definitely
How can we ...
15
votes
Is it bad practice to not delete redundant files right away from VCS but instead mark them as "To be deleted" with comments first?
In my opinion both of your options are not best practice, as opposed to bad, practice:
Adding comments only adds any value if someone happens to read those comments.
Simply deleting from the VCS, (...
14
votes
Git - What issues arise from working directly on master?
Explain to him that new features need their own development branch that can be deployed to a test environment before it is pushed to production.
Otherwise, you're in a perpetual state of half-...
13
votes
Is my company merging branches wrong?
This is essentially how a lot of open source projects work, including most notably the Linux kernel, which has a lot more branches in flight than you do at any given time. The typical way to avoid big ...
11
votes
How can I maintain code quality without SCM?
First thing I would do is identify specifically what the government agency (presumably the IT department) is objecting to. If they have storage space, but no way of hosting VMs for servers, then the ...
9
votes
Accepted
Merge bug fixes from trunk in old branches
The Git Flow assumes you only have a single supported release, with the master branch always pointing to the latest release. Since you support multiple releases simultaneously, you cannot copy that ...
9
votes
How can I maintain code quality without SCM?
Given the constraints you mention in the comments (e.g.: can't get to Git download page, Windows platform, and using Visual Studio 2005), I can see 2 options, both of which I have used before in a ...
9
votes
Accepted
Disadvantages for having completely different codebases in different git branches
First, I just want to say I don't understand why you are migrating if they don't want to use git like git.
I agree with you that it's workable, and it's not even that problematic to split it up later. ...
8
votes
Should we use a monorepo?
My 2 cents: I'd put them in different repos.
it's easier to track changes (history, blame...)
it's easier to deal with different release cycles (tagging, version branching...)
it's easier to deal ...
8
votes
How to provide Java libraries internally?
Setup a Maven repository and manage your dependencies with Maven or Ivy.
Maven seems to have more market and is a more complete tool for builds. Its main downside is that it relies in convention, ...
8
votes
How can I maintain code quality without SCM?
They have tons of storage space
Are you allowed to use it at your on decision?
If so you could create a file system remote repository which is better than nothing. The downside is that pushing ...
8
votes
How can I maintain code quality without SCM?
Your environment
First of all, I would not be so pessimistic like shown in many comments and answers. Yes, this is "stone age", but there are much worse circumstances. If your overall work ...
8
votes
Is my company merging branches wrong?
I agree with both Doc Brown but I also see another antipattern:
My boss, the sole authority on the trunk repository, will actually defer all of the reviews of branches until a single point in time ...
8
votes
Who is the potential audience of a commit message?
Good commit messages are underrated, in my opinion, kudos to you for trying to improve in this aspect.
I think the primary audience for commit messages are other developers. There might be other ...
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 ...
7
votes
Isn't there a substantial problem with SVN tags?
Subversion's sparse directories is what you are looking for.
First time checkout, you should run:
svn checkout --depth immediates <URL>
This will only checkout the first level, thus only ...
7
votes
Solutions for preventing build breakage
You need a build before you can break it. You're already using Jenkins? Great! Now add a Linux box as a build slave, and create a build for Linux that mirrors your Windows builds.
Note that your ...
7
votes
Is it a good idea to lock svn
In the way of working you describe, there is very little advantage to using branches. With all the merging back and forth, you might as well be working directly on Trunk, except in the (hopefully rare)...
6
votes
If you decide that branching is a bad thing, then why use Git over SVN?
It's beneficial because the entire company doesn't have to use the same policy. You can have an official no branch policy on the official central repo for the branch-averse people, but small local ...
6
votes
How can I maintain code quality without SCM?
Sell it to them
You left this comment:
They have a network drive which I don't know how but it creates backups in periods. Yes. I use it and I store my apps there.
Go to your superior and say ...
6
votes
How to manage same source code for different country in SVN?
Your version control shouldn't matter.
This is an issue that should be dealt with at deploy-time. Implement Feature Toggles in your project, controlled by a config file. When you deploy to Country A ...
6
votes
Managing the same files in four separate SVN repositories
If you are going to have the same file in four repos, and allow it to be changed in any of the four places, you will sooner or later run into the problems of collisions, how to work with branches, how ...
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 ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
svn × 226version-control × 96
git × 78
branching × 28
mercurial × 18
merging × 13
continuous-integration × 11
dvcs × 11
programming-practices × 9
github × 8
workflows × 7
repository × 7
project-management × 6
web-development × 5
team-foundation-server × 5
scm × 5
c++ × 4
php × 4
testing × 4
open-source × 4
release-management × 4
tagging × 4
java × 3
python × 3
development-process × 3