This is a recurring question for me, but I'd like to reiterate.
Quickly explain my situation: I am in an environment where I don't have a a git server, nor a shared partition or any common point among the coders. Don't have, will not have, can not have. Period.
I'm trying to come up with a workflow solution, to even in that environment we manage keep our reps at reasonable sync.
The solution I'm trying at the moment uses a discussion group to distribute patches, two main branches and with a seemingly short workflow, follows:
marster
and yours
master
is the sync branch, which will keep you up to date and track what other deves still don't have of your code.yours
will be your new master, and is where your final code should be. You do not work in master
.There are two main actions in the workflow:
Generate patches:
yours
master
(git format-patch master
)master
yours
into master
yours
, continue working with yours
Apply patches:
master
branchyours
branchmaster
into yours
yours
If I got it right, this should keep a master
branch reasonably in sync with everyone else.
Not that the yours
branch is only to help in keeping track of what other people have or not.
There are a few problems I'm trying to figure if will be too much hassle:
Thanks!
Instead of having one repo with two branches, I would rather have two repo:
master
branch in itmaster
and yours
That way I can:
yours
branch to master
in the 'yours
' repomaster
branch of the yours
repo into the master
branch of the master
repomaster
repo (resulting in one file, easier to communicate)master
repoOn the receiving end, I would:
master
repomaster
branch from the master
repo into the master
branch of the 'yours' repomaster
branch to the yours
branch.The idea of having two separate repo is to have one with a SHA1 which can be checked on the receiving end: it must be exactly the same in both sites.