Hi, On Wed, 16 Jul 2008, Avery Pennarun wrote: > On 7/16/08, Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote: > > Am I the only one who deems teaching plumbing to users ("I like it raw! > > So I teach it the same way!") harmful? > > I believe the only way you can get away with such a simple learning > sequence is if your workflow is as simple as that you seem to > describe: everyone has push access to the central 'master'. That _is_ the most common form. And with my way of not even bothering to tell users that "git pull" has a default remote and branch, it is easy to tell users about pulling from somewhere else: git pull that.big.machine:~gitte/git my-next No problem. After having worked with the first form a few time, this command line is surprisingly easy to teach. > At the very least, there will be branches. Oh. And you have to teach plumbing for that? Besides, you do not start with that. Most users will be happy with one branch called master for the first day, if not week. > And where there are branches, there's merging. And with merging comes > merge conflicts. Funny that you should say that: I had that case. "git pull origin master" said something about conflicts. Happily, this user was able to read, and edited the files mentioned to have conflicts. After resolving the conflicts (the "<<< === >>>" was known from CVS), add and commit were again as encountered in the first 2 minutes of my course. > And so you suddenly need to find out about things like > > git diff :{1,3}:path/to/filename No. Nobody needed that. All except one user were content with "git diff". That one wanted "git diff --ours". So there was no use to teach some advanced concepts there, let alone in the first few lectures. But back to the subject: what does this have to do with plumbing? I will not even bother to reply to your mentioning rebase, submodules, and the "complicated" log due to merges for that very reason: all of this can be done, easily, with porcelain. > Ironically, the plumbing is the only part of git that isn't supposed to > ever change, so it's the most valuable knowledge to have. Aha. So we changed porcelain recently, in a backwards-incompatible way? Now, that is news to me. Ciao, Dscho -- 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