8 ms·
> There are good technical reasons why you would use Perforce or even Subversion days. Can you say more? What are some of those reasons? Or link to some dat
by hashkb 8y ago
> There are good technical reasons why you would use Perforce or even Subversion days.
Can you say more? What are some of those reasons? Or link to some data or examples?
- emcq 8y agoPartial checkouts is the main thing that comes to mind that is better with svn than git.
- falsedan 8y agogit archive is ... ok, not pretty great, but it works
- klodolph 8y agoThat's not really a working copy, though. What some need is a tool that lets you check out a part of the repository as a working copy, without checking out the rest. By "part" we might mean more than one directory and its descendants (i.e. not a single root).
- falsedan 8y agohmm, you could frankenstein together a bunch of trees to make it look like a partial checkout, but you couldn't make a new commit without all the parent tree objects up to the root. This sounds just like a subtree to be honest. Are you frequently checking out a subdir of a repo and committing changes to it? Is it config?
- klodolph 8y agoThe particular case I'm thinking of involves a repository which is large enough that full checkouts are slow, so you do partial checkouts to make things faster. Maybe at some point there will be tools that let you do this with Git, maybe built on top of something like Git VFS. At the moment it just kind of sucks. Subversion and Perforce both handle it just fine.
- tempguy9999 8y agoSimplicity. I understood SVN immediately but I'm still struggling with Git. It's only one thing and perhaps the only one, but it's a huge one. IMO anyway.
- Tempest1981 8y agoWith git, can you set specific user permissions by directory? We need a way to prevent pull or commit by certain users. Or require a review before committing to some projects/dirs, but not all.
- Tempest1981 8y agoWith a monorepo, how do you avoid the situation where almost every time you want to commit, you have to pull-and-rebase first? Because somebody has always pushed a change, every minute or two.
- majewsky 8y agoIn a repo that large, you don't want to have random people pushing to master anyway. Have people commit to branches, and then automation merges the approved branches into master. ("Automation" may be as simple as the "Merge" button in Github's UI, or more complex if necessary.)