Jakub Narebski <jnareb@xxxxxxxxx> writes: > Ilpo Nyyssönen wrote: > >> Usability: >> >> I have used bzr, bk for development and git very little for following >> kernel development. I have followed this discussion quite well. >> >> 1. It is easier to start using something you are already familiar >> with. (Just try to use Mac OS X with a Windows or Linux background.) >> >> G: Something totally new and so no points from here. The way of using >> git is just so different from any other similar software. >> >> B: Quite clearly gets points from this. Normal branches work quite >> like many other software, the checkout stuff works like CVS and SVN. > > I find for example concept of branches in Git extremly easy to understand. Might be, but the point was: Git is harder as it is not like others. In other hand one can see Bazaar like other distributed SCMs and even like the not distributed ones as it has the checkout stuff. You can give Bazaar for me, a bk user, and I can understand what to do with the branches that are like bk clones. (The repository stuff is later development and still optional.) Switching a CVS environment to Bazaar one can be done so that most of the users can be just told to use bzr checkout and they don't have to care about pushing. But with git, I clone some repository. Now it is totally new to understand that I didn't clone only single branch. It's like nothing else and that's what I saw when I first looked at it. I might have even not noticed the branch stuff and just cloned it further. > On the other side breaking with traditional concepts of _centralized_ SCM > in _distributed_ SCM (and geared towards distributed usage) is IMVHO a good > idea. And breaking with the cruft of bad ideas of CVS is very good idea. Breaking concepts can be a good idea and I somewhat think that git needed to do what it did. But do remember that it came with a cost: git is harder to understand and use. You first have to understand that it is different and how it is different. > I don't understand the confusion between "git branch" and "git clone" > commands... unless you are confused by Bazaar-NG branch-centric approach > which mixes branch with repository. Those commands do so different things in different SCMs. Just look at the differences bk clone, git clone, git branch and bzr branch. You have both. At the point where I didn't yet understand that I cloned more than a one branch, git branch is very odd looking command. > Which long lasting operations lack progress bar/progress reporting? > "git clone" and "git fetch"/"git pull" both have progress report First note that I didn't notice git repack until recently so things got slower until that. At least some points they just tell that they are doing something, but not how much of it has been done and how much is still to do. Look at Bazaar and you'll see the difference, it has progress bars. >> G: You have only one workspace and this forces you to use git more or >> to make several repositories. > > This is your confusion stemming from Bazaar-NG branch-centricness. In Git > working area is associated with repository, not with branch as in bzr. Exactly my point. >> You can't just diff branchA/foo branchB/foo. > > You can: either using "git diff branchA branchB -- foo" which means Exactly my point: it forces you to use git more. In Bazaar I can do this without Bazaar commands. I could even do it with some Windows GUI stuff, take two files or directories and compare. As you need to use git commands more than bzr commands, git has bigger requirements for usability. >> You can't just open file from old branch to check >> something while you are developing in some new branch. > > You can view file from old branch via "git cat-file -p old-branch:file". Same thing here, in Bazaar, I can just open the file from the other branch. I can also compile and run the other branch while I have the other open. Essentially I would need a separate git repository for each branch anyway. In Bazaar I can use the same. -- Ilpo Nyyssönen # biny # /* :-) */ - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html