Thanks folks, I am digesting all you have said.
Now the command line I can do (I'm a programmer) but the secretary here I doubt.
So is there at GUI interface for this? Does it work on Windows systems?
Thanks,
Paul
Stefan Beller sbel...@google.com wrote:
Just because Git allows distributed workflows, doesn't mean we
should only focus on being distributed IMHO.
The question for content not being mergable easily pops up all
the time. (Game/Graphics designers, documents, all this binary
stuff, where there is no good merge driver).
I could imagine a git lock command which looks like this:
git config lock.centralServer origin
git config lock.defaultBranch master
git lock add [branch] [--] path/to/file
git lock remove [branch] [--] path/to/file
git lock ls [branch]
And the way this is implemented is roughly (unoptimized, just showing
how you would achieve this with todays command set):
git fetch --depth=1 $(git config --get lock.centralServer)
refs/locks/$(git config --get lock.defaultBranch)
git checkout refs/locks/$(git config --get lock.centralServer)/$(git
config --get lock.defaultBranch)
switch(option) {
case add:
if exist path/to/file
return -1
else
echo $(git config --get user.name) $(date) path/to/file
git add path/to/file git commit add new lock
fi
case remove:
if exist path/to/file
# todo: check if the same user locked it before
rm path/to/file
else
return -1
fi
case ls:
ls -R .
}
git push $(git config --get lock.centralServer) refs/locks/$(git config
--get lock.defaultBranch)
git restore working tree, branch
That said you could just manipulate the git objects directly, no need
to check out to the working dir.
The server would only need to allow pushes to a refs/locks directory and be
done.
the client side would need to have a plumbing command, so you could easily
integrate
a git locking to your application if you don't want to provide a merge driver.
Thanks,
Stefan
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html