git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: What's the best way to make my company migrate to Git?

From
Sylvain Rabot <sylvain@abstraction.fr>
Date
Jun 2, 2010, 16:01 UTC
Message-ID
<AANLkTikUsYOvB26DI2IWi6mghFM6Fj2bVuasaSKUfXba@mail.gmail.com>
In-Reply-To
<AANLkTinO_Z-1myhT-0TBIjELiEd4H-NnESs-AjTIpEf9@mail.gmail.com>
On Tue, Jun 1, 2010 at 18:00, Daniele Segato <daniele.bilug@gmail.com> wrote:
Show 57 quoted lines
> On Mon, May 31, 2010 at 10:04 PM, Andrew Sayers
> <andrew-git@pileofstuff.org> wrote:
>> On 25/05/10 08:42, Michael J Gruber wrote:
>>>
>>> Feel free to contribute to the Git Wiki maybe at
>>>
>>> https://git.wiki.kernel.org/index.php/GitDocumentation
>>>
>>> in the "User contributed Documentation" section.
>>>
>>> Michael
>>>
>>
>> Thanks for the hint - this turned into rather more than just uploading a
>> PDF, and I've now finished a complete write-up here:
>>
>>        https://git.wiki.kernel.org/index.php/SvnMigration
>
>
> That's a great job!
>
> I want to point out some difficulties I encountered switching from
> Subversion to Git-SVN.
> I'd like to discuss them here before, eventually, contributing them to
> that page.
>
>
> = Empty directories =
> Git do not track directories, it tracks content. That means you'll not
> get/commit empty directory in your
> working tree.
> Sometimes empty directory may be needed by some fancy script or
> external software you use with your
> project (example, ANT).
>
> Developers should be aware of this: if they really need to create an
> empty directory they can both
> create it through subversion both create a "dummy" file in the
> directory and commit it, if that's an option.
>
>
> = Subversion ignore =
> You can't control subversion ignores from git-svn. And git-svn do not
> automatically synchronize with the
> subversion ignores. The team should be aware of these to avoid issues.
>
>
> = Local patch =
> Most subversion user keeps some modified files in their local checkout
> never committing it remotely.
> This may be handy for some situation where you want to enable some
> debug-specific feature or whatever you need.
> With Git, if the file is remotely tracked (with Subversion you'll say
> "already committed") you can't keep a file like that:
> it will prevent you from "pushing" files to the remote repository or
> checking out other local/remote branches.
> You'll had to "stash" your patch and re-apply it later.

AFAIK you're not obliged to have a clean working tree to push. If you want to keep patches on a branch you push regularly, creating a new branch and committing on it is more appropriate, keeping the patches as stash is not very handy. Personally I only use stash when I'm on the middle of something and I have to checkout another branch to check something.

Show 27 quoted lines
>
> = local/remote branches =
> Git-svn branches "track" the remote branches by adding a string in
> each commit you "git svn dcommit" on
> subversion repository. You can have many local branches tracking the
> same remote subversion branch.
> To start to track a new remote branch you have to "git checkout -b
> localBranchName remoteBranchName",
> which is not very user friendly :)
>
> You also can't create new Subversion branches or tags with git-svn,
> you'll had to use subversion directly for that.
>
>
>
> Feel free to correct me or better describe those issue with a
> better/more friendly english.
> Feel also free to add to this list.
>
>
> Regards,
> Daniele Segato
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
-- 
Sylvain
Previous: Steven MichalskeNext: Daniele Segato
Message 26 of 27 in “What's the best way to make my company migrate to Git?”
  1. Daniele SegatoMay 21, 2010
  2. Jakub NarebskiMay 21, 2010
  3. Daniele SegatoMay 22, 2010
  4. Jakub NarebskiMay 22, 2010
  5. Joshua JensenMay 22, 2010
  6. Andrew SayersMay 22, 2010
  7. Daniele SegatoMay 22, 2010
  8. Andrew SayersMay 23, 2010
  9. Daniele SegatoMay 24, 2010
  10. Lin MacMay 23, 2010
  11. Andrew SayersMay 23, 2010
  12. Michael J GruberMay 25, 2010
  13. Andrew SayersMay 31, 2010
  14. Michael J GruberJun 1, 2010
  15. Daniele SegatoJun 1, 2010
  16. Alexander IljinJun 1, 2010
  17. Daniele SegatoJun 1, 2010
  18. Alexander IljinJun 1, 2010
  19. Erik Faye-LundJun 1, 2010
  20. Daniele SegatoJun 1, 2010
  21. Andrew SayersJun 1, 2010
  22. Andreas KreyJun 2, 2010
  23. Michael J GruberJun 2, 2010
  24. Andrew SayersJun 5, 2010
  25. Steven MichalskeJun 6, 2010
  26. Sylvain RabotJun 2, 2010
  27. Daniele SegatoMay 23, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.