From: Daniele Segato <daniele.bilug@gmail.com>
To: Andrew Sayers <andrew-git@pileofstuff.org>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: What's the best way to make my company migrate to Git?
Date: Mon, 24 May 2010 19:37:14 +0200 [thread overview]
Message-ID: <AANLkTilhVbdaZgE4NINrl4RA6ArkeMstyFdnq9eD4o8B@mail.gmail.com> (raw)
In-Reply-To: <4BF94138.5000007@pileofstuff.org>
On Sun, May 23, 2010 at 4:52 PM, Andrew Sayers
<andrew-git@pileofstuff.org> wrote:
> I agree that a lead developer moving a team from graphical SVN is a
> different problem. I don't think git-gui does SVN, I couldn't work out
> how to make TortioseGit work with SVN, and I doubt EGit will like SVN
> very much.
EGit do not work with git-svn, it probably work just fine with "pure" git tough.
I've seen TortoiseGit, it work very well but I found it somewhat more
difficult then the command line:
probably because I don't know where to find the command i daily use on git.
I extensively use git grep and probably there isn't anything like it
in TortoiseGit.
> You're also right that git-svn has limitations with merging and
> rebasing. Specifically, don't use them unless you know what you're
> doing - see `man git-svn` for more. Git-svn is also less
> newbie-friendly than either git or svn on its own.
Yes, that's why I'd like to skip git-svn and go directly with git,
unless I know the people I'm teaching to can
handle it.
> Having said that, I'd still recommend you try moving a few developers to
> git during the lifetime of your current project. In my experience,
> those developers most willing to try something new in the middle of a
> project are also the ones that want to get hacking right away on a new
> project. Getting even one developer to start migrating now will be good
> practice for you, and will double the number of eyeballs looking at git
> issues later on.
Yeah, there is one developer tired of Subversion that asked me to
teach him git(-svn).
He's not in my team but I think it's a starting point :)
> Slowing down for less than a week is a very ambitious target - I think
> we had about 2 weeks of noticeably reduced productivity, even when I'd
> done a lot of work to spread the pain over several months. Starting git
> with a new project might reduce that time a bit - for example, there's
> no chance of uncommitted work in an SVN checkout failing to make the
> switch. But it can be more expensive in the long-run, because you have
> to make all of your architectural decisions based on what you can
> explain to SVN users on day one - for example, my team took about 2-3
> weeks to understand how a commit is different from a push, and why they
> should care. But because they understood before we made the big leap,
> we were able decentralise our workflow as much as we needed.
Probably it will be a svn-like architecture from the beginning, I'll
not dare to move it any
further until I know that developers are ready to handle it properly :)
I'm not sure myself I can manage a workflow different from subversion
(1 main server and N developers
pushing to it) because I never did anything different.
> If you do go via git-svn, I'd recommend you read `man git-rerere` and
> set the config option "rerere.enabled" to "true" for all users. I
> needed to blow away a few messy merges to fix rookie mistakes, and
> `git-rerere` would have made a painful experience much easier.
I did not know about this.. That's really interesting, I just enabled
it in my local repo.
Thanks for the hint!
> Even if you go straight into git, you might think about finding/writing
> hooks to synchronise an SVN repository and a git repository. There will
> probably be a few people you can't switch right away - e.g. a sysadmin
> that would need months to rewrite all his scripts, or a designer that
> doesn't want to learn a different tool just for your team. Providing a
> semi-functional legacy interface for those people will let you raise the
> pressure on them more gradually.
Sysadmins shouldn't be a problem, we don't have sysadmins here and if
the custumer
require us to use his own versioning system we can't push them to git,
so I think that wouldn't be
a proble for us. But that's a good point.
> I forgot to mention education in my previous post, which was actually
> one of the biggest problems during the move. I was surprised how
> everyone had such different learning styles - some wanted to learn the
> theory then be left alone, some wanted to be told each solution at the
> moment they faced the problem, some wanted to learn by watching how I
> worked, etc. The only real pattern seems to be that the busier people
> are, the more they like to feel they're pulling information out of you,
> and the less receptive they are when you push information at them. I
> muddled through by trying to give everyone more of whatever they each
> reacted best to.
Thanks, I'll keep that in mind when I'll face the big switch.
> Because my team needed time to unlearn a lot of these SVN issues, I
> didn't try to push much deep git tech at them early on. A few months
> into the move though, it's starting to seem like a better idea. One of
> my team-mates got me to start reading "Version Control with Git"
> (http://oreilly.com/catalog/9780596520137) - from what I've seen so far,
> I'd definitely recommend it to people that like book-learning and are
> ready to learn git without bringing their old SVN baggage. On the other
> hand, you can cobble the same information together from various online
> sources if you prefer (http://book.git-scm.com/ is a personal favourite).
Thanks about the book suggestion, I'll give them both a try!
Regards,
Daniele Segato
next prev parent reply other threads:[~2010-05-24 17:37 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-21 14:55 What's the best way to make my company migrate to Git? Daniele Segato
2010-05-21 15:54 ` Jakub Narebski
2010-05-22 15:58 ` Daniele Segato
2010-05-22 16:06 ` Jakub Narebski
2010-05-22 18:26 ` Joshua Jensen
2010-05-22 10:52 ` Andrew Sayers
2010-05-22 15:52 ` Daniele Segato
2010-05-23 14:52 ` Andrew Sayers
2010-05-24 17:37 ` Daniele Segato [this message]
2010-05-23 9:12 ` Lin Mac
2010-05-23 15:06 ` Andrew Sayers
2010-05-25 7:42 ` Michael J Gruber
2010-05-31 20:04 ` Andrew Sayers
2010-06-01 6:28 ` Michael J Gruber
2010-06-01 16:00 ` Daniele Segato
2010-06-01 16:14 ` Alexander Iljin
2010-06-01 17:16 ` Daniele Segato
2010-06-01 17:45 ` Alexander Iljin
2010-06-01 16:25 ` Erik Faye-Lund
2010-06-01 16:36 ` Daniele Segato
2010-06-01 21:12 ` Andrew Sayers
2010-06-02 5:19 ` Andreas Krey
2010-06-02 7:15 ` Michael J Gruber
2010-06-05 21:27 ` Andrew Sayers
2010-06-06 8:19 ` Steven Michalske
2010-06-02 16:01 ` Sylvain Rabot
[not found] ` <AANLkTilIihNTDPZ5NIKUzsPEZ2Gpusm-10FCBVifvNuw@mail.gmail.com>
2010-05-23 22:46 ` Daniele Segato
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTilhVbdaZgE4NINrl4RA6ArkeMstyFdnq9eD4o8B@mail.gmail.com \
--to=daniele.bilug@gmail.com \
--cc=andrew-git@pileofstuff.org \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).