So you want to have two copies, side-by side, one with master checkout out and the other with lb42-pureodd? Right? If your copy is up-to-date and you have no new changes to commit: $ rm -rf TEI $ git clone https://github.com/TEIC/TEI.git $ git clone https://github.com/TEIC/TEI.git TEI-Pure $ cd TEI-Pure $ git checkout lb42-pureodd You should get rid of your old copy if you’ve no changes to commit, because it has a different commit history. Changing your email address meant rewriting all of your commits ever, and doing that meant also changing any downstream commits, because a commit object in Git looks like this:
tree c85c67ef5205ce5654daf8279566cc00796765e4 parent 1b290554c08384685e288e956c11c5d1b684ae44 author Hugh Cayless
1441832595 -0400 committer Hugh Cayless 1441832595 -0400 Switching changelog over to git.
Because each commit has a hash of its parent, if the parent changes, then the commit’s own hash has to change (because it’s computed from the text of the commit itself). The bottom line is that we have essentially a new TEI repo, with a new history. Like I said, this should never need to be done again, and it’s bad practice, because it makes everyone have to get a new copy, but you’re important enough that it seemed a good idea to get your info correct! :-)
On Sep 11, 2015, at 7:12 , Lou Burnard
wrote: Thanks for the speedy response, but I am still confused.
My local directory "TEI" contains a copy of the pureodd branch of the repo, and so far as I know it's up to date with the repo.
Suppose however that I want to have -- distinct from that -- a local copy of the main trunk repo so that I can (assuming we HAVE now unfrozen it) make other changes. I assume that I should do something like
#rename my local copy of the branch mv TEI TEI-Pure #checkout a new copy of the trunk
git clone https://github.com/TEIC/TEI.git
On 11/09/15 12:04, Hugh Cayless wrote:
Of course.
Rename TEI/ (assuming that’s the directory name you cloned into) $ mv TEI TEI.bak $ git clone https://github.com/TEIC/TEI.git
If you have changes in your old copy, just copy them over and commit. E.g. (in the new clone) $ git checkout lb42-pureodd $ rsync -av ../TEI.bak ./ $ git commit -am "A commit message of your own composition." $ git push origin lb42-pureodd
Martin and James: This change may mean Jenkins needs to be told to re-clone the repo too. Old copies of the repo won’t merge cleanly with the new one, as the commit history has been rewritten. This should never have to be done again, but it seemed important to get it right.
On Sep 11, 2015, at 6:39 , Lou Burnard
wrote: Hugh writes
You’ll probably be better off if you grab a new clone of the data rather than trying to merge the old one. For avoidance of doubt, and for the benefit of those still struggling with gittery, could you spell out what that means in terms of command line commands?
I assume I need to clone a new version of the repo if I want to change things in the trunk source (e.g. answer a ticket or two), having further assumed that the freeze on source updates is no longer in effect?
And lastly (sorry to ask so many stupid questions) do I also need to refresh my current P5-Pure branch repo ?
-- tei-council mailing list tei-council@lists.tei-c.org http://lists.lists.tei-c.org/mailman/listinfo/tei-council
PLEASE NOTE: postings to this list are publicly archived
-- tei-council mailing list tei-council@lists.tei-c.org http://lists.lists.tei-c.org/mailman/listinfo/tei-council
PLEASE NOTE: postings to this list are publicly archived