Well, the 'rebase' method failed after some 28 CONFLICT error messages. (And it forced me to $ git checkout -- Exemplars/tei_lite_fr.nvdl first.) I then tried the the 'merge' method, and while it seems much more reasonable, I still have three conflicts to deal with. And while you're right, Hugh, the conflicts are marked in the file in the same way as they are with Subversion, it's still a bit more confusing. With Subversion I'm also used to having complete files with each revision and my local working copy. But more importantly, here in git-land, I'm not 100% sure which version represented in the file is which. I think "master" indicates what's in the head version in our main development branch ('cause that branch is called "master"), and "HEAD" indicates what's in the head version of whatever branch I've checked out, in this case sydb-xenodata. Right? If someone could verify that, it would give me a little more confidence to go on. Failing that, if someone could tell me whether the schema our xml-model PIs point to is supposed to be http://tei.it.ox.ac.uk/jenkins/... or http://tei.oucs.ox.ac.uk/jenkins/... and whether it should be .../artifact/release/xml/tei/odd/p5.nvdl or .../artifact/P5/release/xml/tei/odd/p5.nvdl that would do. (Yeah, I could probably figure that out myself by just trying those 4 URLs.) Oh, and while I'm at it, does P5/Makefile still have VCS := svn and if so, why not "git", now?
You have two choices if you want to work on something in another branch. You can, as Lou has, make a second copy of the repo and have it use the master branch. This makes decent sense for what Lou is doing I think, given his need to have master to hand as a reference while he works on Pure. Most people though, if they want to work on a different branch, just do $ git checkout master #or sydb-xenodata, or whatever you want in your repo, and then you have a working copy of whatever branch you want. Your other branch is still there, and perfectly safe. If you have uncommitted changes, then git will ask you nicely to please do something about them (probably commit them) before you switch branches. If you’re not sure which branch you’re on, $ git status will tell you. You can create a new branch anytime you want: $ git checkout -b mynewbranch If you want to get your branch up-to-date with master, there are two options. Your choice will depend on what you’ve been doing. If you have only a small number of changes in your branch, unlikely to conflict with anything, then you can run $ git rebase master #after you’ve checked out sydb-xenodata which will essentially pretend you branched off the current HEAD of master rather than wherever you originally did, and replay your commits on top of that. If you have a situation where you’ve changed files and master has changed the same files, you should probably do a merge: $ git merge master This may result in your having to do a merge commit, which git will set up for you. If there’s a conflict, you’ll need to resolve it and then commit your changes. Conflicts are marked just as they are in svn.